cassandra - Cassandra中带TTL的多列数据开销如何工作?

标签 cassandra cql ttl

在 Cassandra ( here) 的过期数据文档中提到

Expiring data has an additional overhead of 8 bytes in memory and on disk (to record the TTL and expiration time) compared to standard data.

如果在表级别设置 TTL(生存时间),这是否意味着对于每个数据条目,内存和磁盘上的开销要多 8 个字节乘以列数,或者它是与列数无关?

例如,在文档中还可以找到示例 here确定列的 TTL,即使数据被插入超过 1 列并且 TTL 是为插入的实际数据条目定义的,而不是基于每列。

最佳答案

不,至少不再是了。该文档已过时且仅与 3.0 之前相关。

目前,如果分区中的所有列或分区中的行在插入时设置了相同的 TTL,则只需为其设置一次。如果它们被存储,它们将从 sstables minTimestamp 写入增量编码为无符号变量 int,而不是 8 个字节。

关于cassandra - Cassandra中带TTL的多列数据开销如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47817112/

相关文章:

Cassandra CQL 版本

java - 您可以使用 session.execute 从 Datastax 驱动程序执行创建表吗?

amazon-web-services - Cloudfront 如何每次都避免 If-Modified-Since header 请求

cassandra 结果中的排序顺序

python - 错误 : unable to connect to cassandra server. 未配置表

cassandra - CQL 表中的空列

java - 如何在 Java 中获取 UDP 数据包的 TTL?

icmp - scapy:修改嗅探流量的 TTL 的正确方法

hadoop - Hadoop与Cassandra:在以下情况下哪个更好?

Node.js lsof - 许多打开的数据库连接