MyRocks (MySql) 和 Cassandra 都使用 LSM 架构来存储它们的数据。因此,我在 MySql 和 Cassandra 中使用 MyRocks 作为存储引擎填充了大约 500 万行。在 Cassandra 中只需要 1.7 GB 的磁盘空间,而在使用 MyRocks 作为存储引擎的 MySql 中则需要 19 GB。
我错过了什么吗?两者都使用相同的 LSM 机制。但是为什么它们的数据大小不同呢?
更新:
我想这与文本列有关。我的表结构是(bigint、bigint、varchar、text)。
- 填充的行数:300 000
- MyRocks 中的数据大小为 185MB
- 在 Cassandra 中 - 13 MB。
但是如果我删除文本列然后:
- MyRocks - 21.6 MB
- 卡桑德拉 - 11 MB
关于这种行为的任何想法?