代码改变世界

何时选择hbase

2017-07-25 20:38  BB99  阅读(264)  评论(0)    收藏  举报

在数据库选型的过程中,我们首先要了解数据库的一些特性;

hive提供查询。不能插入,删除,更新。所以智能成批的载入操作;

在使用Hbase一定要明白hbase的适用场合,因为HBase并非适用于每种情况。

首先,要确认有足够多的数据存入HBase。

如果有几亿或者几十亿条记录要存入HBase,那么HBase就是一个正确的选择;否则如果你仅有几百万条甚至更少的数据,那么HBase当然不是正确的选择,这种情况下应当选择传统的关系型数据库,因为如果这么少的数据存入HBase,就会导致数据堆积在一两个节点上,而HBase集群内部的其他节点都处于空闲状态。

其次,要确认即便不使用传统关系型数据库提供的额外功能(比如数据库的列有强类型限制,secondary index,transaction,SQL等高级查询语言)系统也能顺畅工作。

基于传统关系型数据上的应用不能通过简单的更换JDBC驱动程序"迁移"到HBase。系统从普通的关系型数据库迁移到HBase将导致整个系统的重新设计。

最后,确认有足够的硬件服务器来支撑HBase的运行。

即便单独运行HDFS,HDFS在少于5个节点的情况下工作不理想,由于在默认情况下HDFS的block replication factor为3,另外还要加上一个Namenode。