提问人:Manuel 提问时间:11/17/2023 更新时间:11/21/2023 访问量:22
基于主键的Cassandra复制策略归档数据旧数据
Cassandra Replication Strategy based on Primary Key for Archiving Data Old Data
问:
我正在以故事化物联网遥测数据的方式思考。
我想优化我的存储空间。在本例中,让我们以 iot 遥测为例。我想将最近的数据(例如过去 6 个月)保持为热数据并高度复制。对于较旧的数据,我想减少副本和/或完全卸载到性能较低的存档集群。
我知道基于密钥空间的复制策略。但是,这意味着我需要多个密钥空间。但是,我宁愿基于基于主键/分片键的解决方案进行复制。
是否可以根据数据期限或任何其他属性来定义复制策略?
如果是,如何实现?
非常感谢您的专业知识。
答:
0赞
Mark Allen
11/21/2023
#1
一般来说,Cassandra 不提供这样的功能。您是正确的复制策略应用于每个密钥空间,因此您需要实现一些外部作业来读取和写入另一个密钥空间的数据。此外,cassandra 不是用于在磁盘上存储时间序列的有效数据库,因此最好将 parquet 文件之类的东西作为冷存储。通常这看起来像这样:
冷藏: (Cassandra)--read_data--(Spark Job)--write--(S3 parquet)
冷库恢复: (S3 parquet)--read_data--(Spark Job)--write--(Cassandra)
Cassandra 删除数据作业应该单独开发,因为它也不是一件容易的事。删除数据后,应在每个节点上执行 nodetool 清理。
上一个:如何从Gitbook备份数据?
下一个:Mongodb 分片集群备份
评论