HBASE的特性:
hbase是一个分布式数据库系统,数据增删改查功能模块是分布式系统;
hbase的数据最终持久化存储是基于HDFS的,存储容量可以随时在线扩容;
是非关系型数据库(nosql)。
HBASE的表结构:
每个表有一个表名。
表中有行键(rowkey),列族(base_info,extra_info)。
一个表可以分为多个列族,不同列族的数据存储在不同的文件中
表中每一行有一个行键,且行键在表中不能重复
行键和列族可以确定多个键值对,每个键值对为一个cell(单元)。
每个cell中key可以存储多个value版本,调用时默认调用最新版本,hbase中的数据不能修改,只能添加或删除。
整张表由于数据量过大,会被横向切成若干个region,用rowkey范围标识,不同regioin的数据会存储在不同的文件中
HBASE数据存储顺序:
插入到hbase中去的数据,hbase会自动排序存储
首先按rowkey排序
同一行里的kv按照列族排序
最后按照k排序
HBASE表中存储的数据类型:
hbase中只支持字节型数组byte[],byte[]包括rowkey,key,value,列族名,表名
HBASE 命令行客户端操作(没有分号):
建表:create '表名','列族名','列族名'
如:create 't_user_info','base_info','extra_info'
插入数据:put '表名','rowkey','列族名:key','value'
如:put 't_user_info','001','base_info:username','zhangsan'
查看表中所有数据:scan '表名'
如:scan 't_user_info'
查看单行数据:get '表名','行键'
如:get 't_user_info','001'
删除一个kv:delete '表名','行键','列族名:key'
如:delete 't_user_info','001','base_info:sex'
删除整行数据:deleteall '表名','行键'
如:deleteall 't_user_info','001'
删除整个表:disable 't_user_info' 或 drop 't_user_info'