面向行数据库 事务型
面向列数据库 分析型
Hbase和SQL的区别
特点 | Hbase | SQL |
---|---|---|
存储的数据类型 | 存储为字节 | 各种数据类型,比如int,char |
数据操作 | 没有多表连接 | 有多表连接 |
存储模式 | 基于列存储 | 基于行存储 |
数据索引 | 只有一个索引—行健 | 可对不同列构建多个索引 |
数据维护 | 添加新值会覆盖旧值 | 添加新值,会生成时间戳,不会删除旧值 |
可伸缩性 | 通过添加节点实现性能的增强 | 不能 |
Hbase的基本属性
标(table):由行和列组成
行(row):每个行由行健(row key)来标识
列族(column family):一个HBase被分为多个列族,在存储的时候就是以列族为单位进行存储的。
列(column):就是关系型数据库里的字段
单元格(cell):具体存储数据的地方
时间戳(timestamp):每个单元格会保存多个版本的数据,用时间戳来区别
HBase shell命令
creat 'temp','f1','f2'#创建temp表,此表中包含了f1列族,f2列族
list #显示所有的表
put 'temp','r1','f1:c1','hello' #向temp表中的r1行,f1族中的c1行添加'hello'
scan 'temp' #浏览表信息
get 'temp','r1',{COLUMN=>'f1:c1'}
enable/disable 'temp' # 使失效有效
drop 'temp' # 失效后可以删除表
参考文献:
厦门大学数据库实验室
初学HBase的几个问题