Hadoop Cassandra和Couchbase之间这个用例的潜在权衡

Hadoop Cassandra和Couchbase之间这个用例的潜在权衡,hadoop,cassandra,couchbase,Hadoop,Cassandra,Couchbase,目前,我们有一个编写量非常大的web analytics应用程序,它从大量网站和商店收集大量实时事件,用于后续分析和报告 我们最初计划的体系结构涉及一个web服务器集群来处理请求,并将所有数据写入Cassandra集群,同时为实时聚合报告更新大量计数器。我们还计划直接在Cassandraf上使用hadoop(作为HDF的替代品,由datastax提供),在Cassandra中的数据上运行Map Reduce作业,以进行更复杂的分析。MapR作业的输出将以本机方式写回Cassandra中的Colu

目前,我们有一个编写量非常大的web analytics应用程序,它从大量网站和商店收集大量实时事件,用于后续分析和报告

我们最初计划的体系结构涉及一个web服务器集群来处理请求,并将所有数据写入Cassandra集群,同时为实时聚合报告更新大量计数器。我们还计划直接在Cassandraf上使用hadoop(作为HDF的替代品,由datastax提供),在Cassandra中的数据上运行Map Reduce作业,以进行更复杂的分析。MapR作业的输出将以本机方式写回Cassandra中的ColumnFamilies。 Hadoop map reduce在主cassandra集群的只读副本上运行,该集群写容量很大。其想法是避免多个数据跳跃,并将分析的所有数据放在一个存储库中

最近,我们听说并遇到了管理和扩展cassandra集群的第一手问题,该集群经常出现节点中断和响应时间不好的情况。Couchbase在响应时间、动态增长和管理集群方面似乎要好得多。因此,我们正在考虑用Couchbase取代Cassandra

然而,这带来了一些问题

  • Couchbase在大部分顺序写重的场景中是否可以很好地扩展?我不认为我们的场景会大量使用内存缓存,因为正在写入的原始数据很少被读回,只有聚合的度量才被读取。另外,当Couchbase需要频繁地(或一直地)点击磁盘写回数据时,我还没有读到太多关于会发生什么的信息。它最终会表现得比卡桑德拉差吗

  • Hadoop接口会发生什么变化?Couchbase有自己的map reduce功能,但我知道它们的范围有限。我是否需要在CouchbaseDB和HDFS之间来回传输数据,以便能够在单个数据库中支持我的所有分析和报告


  • 我最近评估了Cassandra和Couchbase以及客户需求的其他选项,因此我可以对这两个数据存储区进行一些说明

    Couchbase非常易于管理,一旦在节点上安装了服务器,就可以完全从仪表板管理集群。然而,随着数据量的增长,couchbase的扩展性不如Cassandra。我也没有找到一种方法来无缝集成Couchbase和HDFS/Hadoop

    Cassandra在超高速写吞吐量方面表现非常好,但它没有任何服务器端聚合功能。群集管理比Couchbase稍微困难一些,因为每次添加或删除节点时都必须重新平衡群集。除此之外,从性能的角度来看,只要您正确地设计了模式,Cassandra is的运行非常无缝

    如果您有能力为Hive提供Datastax企业解决方案,以便对map reduce进行复杂的分析,我建议您继续使用Cassandra,因为couchbase map reduce支持并不是很好,而且基准测试表明couchbase性能随着集群规模的增长开始下降