我遇到了Cassandra的问题如下: - Sys有4个节点(DL80,64G RAM,4SSD) - 一个表包含大约20万条记录。此表是实时更新:每秒更新200条记录。 - Web应用程序有时会查询缓存的全表并满足异常超时或逻辑删除警告。 任何人都可以指导我解决这个问题吗? 非常感谢。
答案 0 :(得分:2)
所以我读到了这个:
一个表包含大约200,000条记录。此表是实时更新:每秒更新200条记录。
...然后这个:
此表有一个分区键值,用于保存一个节点中的所有记录。
我看到的主要问题是,您在一个分区中存储了太多行。 Cassandra每个分区最多有20亿个单元。我不知道你有多少列,但即使你没有达到这个限制,我希望对该分区的查询最终会变得越来越慢。特别是因为您要就地更新行。
这也是另一个红旗:
Web应用有时会查询全表
查询表中的所有行是Cassandra不擅长的东西。支持此查询可能是您将所有内容放在单个分区中的原因,但正如您所发现的那样,该方法存在问题。
我不知道你的桌子是什么样的,但这是你需要做出一些调整的地方。