基于主键的Cassandra旧数据复制策略

w6mmgewl  于 12个月前  发布在  Cassandra
关注(0)|答案(1)|浏览(190)

我在想如何存储遥测数据。
我想优化我的存储。在这种情况下,让我们以物联网遥测为例。我想保持最近的数据(例如最近6个月)作为热和高度复制。对于较旧的数据,我想减少副本和/或完全卸载到性能较低的归档集群。
我知道基于密钥空间的复制策略。然而,这意味着我需要多个密钥空间。然而,我宁愿基于主密钥/分片密钥的解决方案进行复制。
是否可以根据数据年龄或其他属性定义复制策略?
如果是,如何做到这一点?
提前感谢您的专业知识。

yqlxgs2m

yqlxgs2m1#

在一般情况下,Cassandra不提供这种功能的盒子.你是对的复制策略适用于每个keyspace,所以你需要实现一些外部作业读写数据到另一个keyspace.此外,Cassandra没有有效的数据库存储磁盘上的时间序列,所以更好的是有一些像Parquet文件作为冷存储.通常这看起来像这样:
冷存储:(Cassandra)--read_data--(Spark Job)--write--(S3 parquet)
冷存储恢复:(S3 parquet)--read_data--(Spark Job)--write--(Cassandra)
Cassandra删除数据的工作应该单独开发,因为它也不是微不足道的任务。数据删除后,你应该在每个节点上执行nodetool清理。

相关问题