在 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/