HBase
特点
HBase是一款Nosql数据库,它底层基于HDFS完成存储。
- 强读写一致,这使得它非常适合高速的计算聚合;
- 自动分片,通过Region分散在集群中,当行数增长的时候,Region也会自动的切分和再分配
- 自动的故障转移(如何)
- 块缓存,布隆过滤器,可以高效的列查询优化
业务场景
- 首先数据库量要足够多,如果有十亿及百亿行数据,那么Hbase是一个很好的选项,如果只有几百万行甚至不到的数据量,RDBMS是一个很好的选择。因为数据量小的话,真正能工作的机器量少,剩余的机器都处于空闲的状态
- 其次,如果你不需要辅助索引,静态类型的列,事务等特性,一个已经用RDBMS的系统想要切换到Hbase,则需要重新设计系统。
- 最后,保证硬件资源足够,每个HDFS集群在少于5个节点的时候,都不能表现的很好。因为HDFS默认的复制数量是3,再加上一个NameNode。
基本架构
-. Zookeeper,作为分布式的协调。RegionServer也会把自己的信息写到ZooKeeper中。
-. HDFS是Hbase运行的底层文件系统
-. RegionServer,理解为数据节点,存储数据的。
- Master RegionServer要实时的向Master报告信息。Master知道全局的RegionServer运行情况,可以控制RegionServer的故障转移和Region的切分。