大规模数据的 HBase 挺有意思,是它那套基于LSM 树
的存储机制,对写入性能优化得挺狠的。它不是传统的那种关系型数据库,而是走的BigTable
思路,跑在HDFS
上,适合场景就是真·海量数据、读写高并发的那种。
像MemStore
和HLog
这对组合挺关键,写入时先落内存再落日志,系统挂了还能扛住。写多了之后数据会被刷新成StoreFile
,这些文件之后还会合并,保证读取不会太慢。
读的时候不走老一套的B+树
查找,而是内存+文件的多层合并,虽然稍微麻烦点,但架不住写入真的快。是你做IoT
、实时推荐、日志这些场景,用它贼合适。
另外,HBase 的Region
和Region Server
的设计,也挺像分布式服务里的“分片+路由”。数据怎么切、怎么跑,决定了你能不能平稳扩容。如果你用过Elasticsearch
,感觉还挺类似。
,HBase 不是用来跑复杂 SQL 的家伙,但用来撑大数据底座,那是有点东西。如果你正好在搞大数据平台,或者需要一个高性能的 KV 存储,可以撸一撸这个。