hadoop - cassandra 和 hadoop - 实时与批处理

标签 hadoop nosql cassandra

根据 http://www.dbta.com/Articles/Columns/Notes-on-NoSQL/Cassandra-and-Hadoop---Strange-Bedfellows-or-a-Match-Made-in-Heaven-75890.aspx

Cassandra 追求的解决方案与 Hadoop 有所不同。 Cassandra 擅长大容量实时事务处理,而 Hadoop 擅长更多面向批处理的分析解决方案。

Cassandra 和 Hadoop 在架构/实现上的差异是什么导致了这种使用上的差异。 (在外行软件专业术语中)

最佳答案

我想补充一点,因为我认为这里可能存在误导性的说法,即 Cassandra 可能在读取方面表现良好。 Cassandra 也不是很擅长随机读取,与其他解决方案相比,它在如何随机读取大量数据方面很好,但在某些时候,如果读取真的是随机的,你就无法避免每次都访问磁盘单次很昂贵,根据您的集群,它可能会变成每秒几千次点击这样无用的东西,因此计划进行大量随机查询可能不是最好的,如果您开始,您会遇到困难那样想。我想说的是,当您进行顺序读取或找到一种顺序存储它们的方法时,大数据中的所有内容都会更好地工作。大多数情况下,即使您进行实时处理,您仍然希望找到一种方法来批处理您的查询。 这就是为什么您需要事先考虑存储在 key 下的内容,并尝试从读取中获取尽可能多的信息。 声明在同一句话中说交易和 Cassandra 也很有趣,因为这实际上并没有发生。 另一方面,hadoop 几乎按定义是批处理的,但 hadoop 是分布式 map reduce 框架,而不是数据库,事实上,我已经看到并使用了很多 hadoop over cassandra,它们不是对抗技术。 实时处理大数据是可行的,但需要认真思考并关心何时以及如何访问数据库。

编辑:删除了二级索引示例,因为我上次检查时使用了随机读取(尽管我已经离开 Cassandra 一年多了)。

关于hadoop - cassandra 和 hadoop - 实时与批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13350293/

相关文章:

java - Spark-Hive 错误,我该如何解决?

database - NoSQL 数据库。 CAP定理中,CP是什么意思?

hadoop - Cassandra 和 Couchbase 之间此用例的潜在权衡

cloud - Cassandra 中的批量突变是原子的吗?

hadoop - 在Windows中通过cmd运行Hadoop

amazon-web-services - 在选择定价时,hadoop 分发下的 aws EMR 亚马逊标准是什么

hadoop - 在sqoop未将数据加载到HDFS中的apache配置单元中增量数据加载的最佳方法

MongoDB聚合组_id按不同字段

database - 没有非规范化的 NOSQL 设计?

Cassandra:指定的堆栈大小太小,指定至少228k