在Cassandra中使用许多小表会降低可用磁盘空间需求吗?

埃里克·厄本(Eric Urban)

目前,我们有每个超过100 GB的表。有人告诉我,如果我们有很多小桌子,这将更易于处理。这样的想法是,Cassandra在执行压缩和压缩时需要大约等于表大小的可用空间。如果使用较小的表,则在运行这些任务时,每个节点上所需的可用空间百分比会较小。

如果我所有的访问仅是通过大表中的键进行的,那么在我的数据库访问代码之前放置一些一致的哈希逻辑来确定哪个表包含什么键就不难了。

在Cassandra中使用软件中的许多小表是否有任何优势?通过更改群集的配置是否可以实现相同的优势?

布拉德·斯科宁

是的,原则上,您可以通过将数据拆分为多个表或键空间来降低对可用磁盘的需求。

更好的选择可能是使用替代压缩策略默认的“分层大小(STCS)”要求最多保留50%的可用磁盘空间。读取繁重的工作负载可能可以使用仅需要10%可用磁盘空间的Level Tiered(LTCS),而时间序列数据可以使用Date Tiered(DTCS),其中可通过设置窗口大小来调整可用磁盘空间需求。

在使用LTCS或DTCS之前,必须确保您的工作负载符合压缩策略。如果配置不正确或在错误的工作负载上使用,这两种都会带来严重的性能风险:使用LTCS编写繁重的工作负载不能很好地执行。尝试在单个节点上测试新的压缩策略,然后查看性能指标以验证该策略将满足性能期望。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用df获得可用磁盘空间以仅显示kb中的可用空间吗?

使用Go获取可用磁盘空间量

使用Swift查询可用的iOS磁盘空间

Cassandra吞噬了所有磁盘空间

Cassandra:对于单节点群集,键空间复制因子> 1是否会增加磁盘空间使用量?

计算批处理文件中使用的磁盘空间

如何在Swift 2.0中使用AttributesOfFileSystemForpaths获得总磁盘空间和可用磁盘空间

用很少的可用磁盘空间更改巨大的MySQL表

如果我增加Cassandra Cluster中的节点数,磁盘空间会增加吗?

耗尽磁盘空间:我的实时应用程序mysql数据库会损坏吗?

为什么删除MySQL上的表的某些行后,我的可用磁盘空间减少了?

使用Prometheus获取总和可用磁盘空间

删除表后回收磁盘空间

为什么“已用+可用”磁盘空间始终小于总磁盘空间?

Windows(仅适用于XP?)中的可用可用磁盘空间量会影响性能吗?

使用Gparted后看到的可用磁盘空间量错误

Ubuntu经常占用磁盘空间吗?

HDD上的可用磁盘空间不足会削弱计算机性能吗?

文件系统很长时,如何使用“ df -h”获取磁盘空间(可用)

使用Ruby查找网络位置的可用磁盘空间

可用磁盘空间不足

使用fallocate和mkfs.ext4可能会超出可用磁盘空间

磁盘空间不足(昨天的可用空间大于500 GB)

磁盘空间不足警告。恶意软件会导致此问题吗?

如何使用命令获得可用的可用磁盘空间?

获取 AzureRm 托管磁盘空间使用情况和可用空间 - Powershell

可用磁盘空间

我无法在 Vmware 中使用 Gparted 增加磁盘空间

使用 Telegraf 和 Cloudwatch 获取 RDS 可用磁盘空间