自身特性:
1.介于nosql和RDBMS之间;
2.主要存储结构化和半结构化松散数据;
3.使用phoenix实现多表联查;
4.动态扩容,可加减node
5.数据量大,一个表可以有上十亿行;
6.面向列存储;
7.稀疏,因为空的列不占用存储空间;
与行式数据库的区别:
表结构:
1.行键(RowKey):类似于mysql的主键,唯一。
2.列族(ColumnFamily):是列的集合,列族在定义表的时候被指定,列在插入的时候动态指定,列族中的数据都是二进制格式,没有其他数据类型。在物理结构上,每个表中的列族单独保存一个文件,一个表可以有多个列族。
3.时间戳(TimeStamp):是列的一个属性,64位数。
4.区域(Region):Hbase自动把表水平切成多个分区。
操作:
删除误操作键: ctrl+backspace
创建表:create 'user','base_info'
显示表:list
查表详情:desc 'user'
插入数据:put 'user‘(表名),'rowkey_10'(行键),'base_info:username'(列族下的列名),'张三'(插入的值)
扫描全表:scan 'user'
查询某个rowkey的数据:get 'user','rowkey_10'查询到一行数据
查询某个列族的数据:
按列族查:get 'user','rowkey_10','base_info'
按列族下的一列查:get 'user','rowkey_10','base_info:username'
按列族下的两列查:get 'user','rowkey_10',{column =>{'base_info:username','base_info:sex'}}
删除一个列族:alter 'user',
删除表:先disable 'user' 然后drop 'user'