hbase建索引的两种方式
2013-10-28 16:00
176 查看
在二级索引的实现技术上一般有几个方案:
1. 表索引
使用单独的hbase表存储索引数据,业务表的索引列值做为索引表的rowkey,业务表的rowkey做为索引表的qualifier或value。
问题:对数据更新性能影响较大;无法保证一致性;Client查询需要2次RPC(先索引表再数据表)。
2. 列索引
与业务表使用相同表,使用单独列族存储索引,用户数据列值做为索引列族的Qualifier,用户数据Qualifier做为索引列族的列值。适用于单行有上百万Qualifier的数据模型,如网盘应用中网盘ID做为rowkey,网盘的目录元数据都存储在一个hbase
row内。(facebook消息模型也是此方案)
可保证事务性。
问题:仅适用于特定的应用场景。
1. 表索引
使用单独的hbase表存储索引数据,业务表的索引列值做为索引表的rowkey,业务表的rowkey做为索引表的qualifier或value。
问题:对数据更新性能影响较大;无法保证一致性;Client查询需要2次RPC(先索引表再数据表)。
2. 列索引
与业务表使用相同表,使用单独列族存储索引,用户数据列值做为索引列族的Qualifier,用户数据Qualifier做为索引列族的列值。适用于单行有上百万Qualifier的数据模型,如网盘应用中网盘ID做为rowkey,网盘的目录元数据都存储在一个hbase
row内。(facebook消息模型也是此方案)
可保证事务性。
问题:仅适用于特定的应用场景。
相关文章推荐
- hbase建索引的两种方式
- hbase建索引的两种方式
- Sql Server 聚集索引扫描 Scan Direction的两种方式------FORWARD 和 BACKWARD
- Spark 读写 HBase 的两种方式(RDD、DataFrame)
- 创建索引的两种方式比对
- 实现点击列表弹出列表索引的两种方式
- DataTables.js行索引,添加行号的两种方式
- MySQL入门——查看指定表的索引情况的两种方式
- 实现点击列表弹出列表索引的两种方式
- MySQL入门——查看指定表的索引情况的两种方式
- 索引排序文件--不排序数据排序索引暨介绍大数据常用的显示数据的两种方式
- HBase建立二级索引的一些解决方式
- 使用Oracle的instr函数与索引配合提高模糊查询的效率 一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式: 1.select * from tb wh
- Spark:DataFrame批量导入Hbase的两种方式(HFile、Hive)
- 创建索引的两种方式(重点)
- 用JS实现点击列表弹出列表索引的两种方式
- 添加索引 两种方式,ios新手总结篇
- hbase过滤查询的两种方式
- Hbase 统计表行数的3种方式总结
- 窗体委托、事件两种方式传值、lamda表达式