作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
根据:
http://www.datastax.com/docs/1.0/ddl/column_family#about-column-family-compression
RDBMS 看到压缩导致性能下降的原因是因为被覆盖的数据必须在磁盘上查找、解压缩、覆盖,然后重新压缩。另一方面,Cassandra 可以看到读取和写入的性能增加,因为 SSTable 是不可变的,所以没有记录被覆盖,因此开销比用于压缩的 RDBMS。
我想知道,随着 Cassandra 数据存储的持续增长,从长远来看这会产生什么影响?似乎唯一的结果是对更多磁盘空间的需求不断增长,这是正确的吗?
最佳答案
Cassandra 会定期对您现有的 SSTables 运行压缩过程。 Compaction 将多个 SSTable 合并为一个新的更大的 SSTable,丢弃过时的数据。压缩发生后,Cassandra 将(最终)删除旧的 SSTables。
因此,如果您的数据集大小稳定,您的 SSTable 大小将不会无限增长。 The Cassandra wiki contains more information on compaction .
关于database - Cassandra 中 SSTable 不变性对磁盘使用的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521789/
我是一名优秀的程序员,十分优秀!