2011-11-28 55 views
0

我正在研究针对我们公司需求的noSQL解决方案。 现在搜索范围缩小到hBase。我已经阅读了很多关于建筑,表演等的内容,但有一点对我来说仍然是未知的。Hbase读取高负载

例如,如果您有100个节点群集,并且一行获得100.000个并发请求。在这种情况下,所有100.000个请求只会击中一个存储该行的节点?据我了解,HBase复制仅用于数据备份(不用于读取负载平衡),并且没有任何主/从机制(如在MySQL中)?

+0

您应该在HBase前面添加缓存,这将减少HBase的负载。尝试EHCache。 –

+0

感谢您分享EHCache,我正在研究它。看起来像是一种Memcache/Membase解决方案。但我认为HBase内置了缓存/平衡加载机制。 –

回答

0

HBase复制不仅用于数据备份,还有可用性。因为这似乎不是你在这里提出的问题的唯一论点,所以我指出了你可以找到更多信息的链接。如果您有关于您的模式设计的具体问题,您应该首先从Apache托管项目的主页开始。对于最后一个关于master/slave的问号,我发送的这个URL仍然适用(如果你不确定,你可以询问HBase的开发者):http://hbase.apache.org/replication.html

0

关于100000个单行的并发请求 - 我认为没有人目前对此很有帮助。在正常情况下,它根本就不是必需的 - 客户端无论如何都与数据库隔离,因此在这种情况下访问受到限制(可能缓存)。

关于存储和复制。首先,至少有两种类型的复制,实际上它不是HBase。 HBase依赖本质上容错的HDFS。如果您需要了解详细信息,请阅读HBase masterHBase region server角色,但通常所有与复制相关的内容都转到HDFS。