【发布时间】:2020-06-13 13:57:35
【问题描述】:
我有一个关于 Cassandra 用于临时数据的问题(一次写入数据库的数据,从数据库读取一次然后删除)。
我们使用 Cassandra 在不同机器/不同容器上运行的进程之间交换数据。 Process1 正在向 Cassandra 写入一些数据,Process2 正在读取这些数据。之后,可以删除数据。 我们了解到 Cassandra 不喜欢经常在一个表中写入和删除数据,因为墓碑和性能问题,我们正在为此创建临时表。
Process1:创建表,将数据写入表。 Process2 : 从表中读取数据,删除表。
但是以非常高的数量(每小时创建和删除 500-1000 个表)执行此操作,我们在节点之间的模式同步方面面临问题(我们有 6 个节点的集群)。 Cassandra 集群变得非常慢,我们收到很多超时警告,我们收到有关节点上不同模式的错误,集群节点上的 CPU 负载增长到 100%,然后集群就死了 :-)。
Cassandra 是这个用例的正确数据库吗?
是我们如何配置集群的问题吗?
为此创建临时键空间会是更好的解决方案吗?
有没有人知道如何使用 Cassandra 处理此类用例?
【问题讨论】:
标签: cassandra