HBase与Cassandra的消息传递



几年前,Facebook决定使用hbase而不是cassandra作为其消息系统:http://highscalability.com/blog/2010/11/16/facebooks-new-real-time-messaging-system-hbase-to-store-135.html

fb使用hbase的主要事实是,与Cassandra相比,读取比写入更快。这个事实仍然是真的吗?我正在使用 cassandra 3.0,当将读取一致性级别设置为 ONE 或 TWO 时,读取速度比设置为 ALL 时更快。

现在我的问题是:如果Facebook必须在2016年决定使用cassandra或hbase,它的决定仍然是hbase吗?

Cassandra最初是为优化写入性能而设计和构建的。 随着版本的发布,他们做了很多工作来提高读取性能,使其更接近写入性能。 关于HBase与Cassandra进行了多次基准测试和研究,但总的来说,他们倾向于说性能大约等于Cassandra更好一点。 但是,我总是对所有这些性能基准研究持保留态度,因为您可以根据您设置测试的方式使任何人成为赢家。

使用

CL=ONE 的读取和写入速度肯定会比 ALL 更快,因为协调器只需要等待任何副本响应,而不是所有副本。 如果您处于多 DC 方案中,那么LOCAL_ONE将进一步提高吞吐量。

至于FB是否会选择Cassandra而不是HBase,这是不可能说的,因为做出这个决定不仅仅是简单的性能指标。 我可以说消息传递用例是Cassandra表现良好的用例。 您可以在此处阅读他们的用例:

http://www.planetcassandra.org/blog/functional_use_cases/messaging/

最新更新