我在一个数据中心有4个Cassandra节点和1个种子。我有大约500万条记录,其中卡桑德拉大约需要4分钟才能读取,而使用MySQL,只需要17秒。所以我的猜测是我的配置中有问题。所以请任何人让我知道什么配置属性,所以我必须在Cassandra.yaml中签入。
发布于 2015-09-14 21:42:41
如果你正在阅读来自一个客户的全部500万条记录,你可能正在做一个苹果和橙子的比较。
使用MySQL,所有数据都是本地的,并针对读取进行了优化,因为数据是就地更新的。
Cassandra是分布式的,并针对写入进行了优化。写入是简单的附加,但读取开销很大,因为所有附加都需要读取和合并才能获得每列的当前值。
由于数据分布在多个节点上,因此通过网络访问和检索数据会产生大量开销。
如果您将Spark与Cassandra一起使用,并将数据并行加载到Spark workers中,而不是通过网络将其混洗到单个客户端,那么这将是一个更相似的比较。
Cassandra通常擅长摄取大量数据,然后处理其中的一小部分(即分区),而不是执行表扫描操作,例如读取整个表。
https://stackoverflow.com/questions/32559156
复制相似问题