我们有一个生产环境,其中有一个4节点的Cassandra集群,并且该环境中的TTL为730天的数据已经积累了非常大的数据量(14 TB数据)。我们知道这不是理想的。我们有一个使用JDBC的基于Spring的Java应用程序。写入速度约为1000记录/秒。
作为维护的一部分,我们当前要进行的活动是从3.2.4升级到Cassandra 6.0,因此在新集群中,我们希望遵循理想的Cassandra节点配置,即每个节点具有1tb的数据。迁移到Cassandra 6.0版的理想方式是什么?在不影响应用程序延迟的情况下。同样在Cassandra中使用ZDT(零停机时间)。 12 TB是海量数据,而压缩是一项艰巨的任务。我们要纠正这一点。
我们提出的一个解决方案是使用脱机和联机模型,其中旧数据库3.2.4仍将保留,而新集群Cassandra 6.0的TTL较小。唯一要担心的是我们要避免的是应用程序中的延迟。使用不同版本的Cassandra的跨DC复制可以提供帮助吗?
不知道在开发阶段做出的设计决策。但是我们希望在维护过程中进行纠正。 如果我们的理解是错误的,请纠正我。