KV数据库:
只是key有多个层级:
表 + rowkey + column family + column
可以扫一个表的所有记录,
可以查一个表内,一个rowkey的所有column family + column对应value
可以查一个表内,一个rowkey,一个column family 内所有column对应value
可以查一个表内,一个rowkey,一个column family ,一个column对应的value
列式存储:
定义hbase表的时候,只需要知道table名和哪几个列簇就可以,不需要指定列名
列名是可以动态增减
所以hbase叫列数据库,更应该叫列簇数据库,因为,所有的rowkey的相同列簇数据是连续存储的,
同一个列簇中的所有数据都存储在一个文件里
同一个rowkey的不同列簇的数据,不存在一起
hbase中是使用rowkey进行partition(索引)找到对应的region的,所以设计Rowkey就决定了未来你的查询性能
在HBase中,Key-Value是最小的存储单元。每一个Key-Value对应一个列,Value对应于一个列的列值。
这里的value,除了值之外,还有一个属性就是timestamp标识的版本
可以查询所有版本的值,某个版本的值
查询接口:
提供了hbase shell,java client,mapreduce等方式的读写接口
时间: 2024-10-13 19:40:00