本文对部分hbase的知识点做个简单的文章索引。通过一些不错的博客来回顾一下hbase的相关知识。

1. hbase原理回顾

  1. Hbase基础原理
  2. HBase 深入浅出

这两个关于Hbase的博客重点推荐下:

  1. 有态度的HBase
  2. HBase 深入浅出

这里再放一些引用的图,方便回顾,重点搞清楚其存储结构和数据模型就行啦。

1.1 基本存储结构

1.2 数据模型

2. row key索引

采用b+树设计。其索引设计可以查看下HFile文件的设计。推荐文章:HBase – 探索HFile索引机制HBase – 存储文件HFile结构解析

阅读时,注意下以下索引相关的内容即可:

  1. 索引相关的Index block在HFile中定义
  2. row key采用B+树索引

PS:

  1. 另外hbase采用bloom filter来过滤不需要访问的HFile,这个优化思路也值得学习。
  2. 此外很多时候hbase的读写性能与row key的设计相关。这里可以参考文章:HBase Rowkey设计

3. 二级索引

phoenix提供了二级索引,可以配合hbase使用。

参考资料:Phoenix 二级索引

4. 索引以外的hbase读写性能优化方法

  1. HBase原理-数据读取流程解析
  2. HBase最佳实践-写性能优化策略
  3. HBase最佳实践-读性能优化策略

5. 总结

本文自己总结的内容不是很多,不过文中罗列的文章都是非常不错的,看完之后对hbase的理解又更加深入了不少。

参考资料:

  1. HBase 数据模型
  2. 分布式系统设计常用的开源模块(1)