Cassandra 2021目前推荐的最大存储空间是多少?



经过多年的开发,已经为Cassandra NoSQL引入了许多特性。然而,关于硬件和架构的信息很少有真实世界的例子。

在互联网上(和stackoverflow上)有一些声音将存储保持在1tb以下。然而几乎每次,它都没有解释它是否有1TB的"活动磁盘空间"。(所以x3个复制总共大约是3TB)或者是1TB的"原始磁盘空间"。此外,它没有解释为什么不应该超过1TB(为什么不拥有2TB或5TB?)。

此外,我想知道过去几年它有变化吗?是否有可能在一台机器上存储50+TB而不会对性能产生很大影响?多台机器使用小存储空间(例如。每台机器1TB)

我想知道三件事:

  1. 单个Cassandra机器(服务器)的最大可能存储空间(hdd/ssd)是多少?
  2. 单台Cassandra机器(服务器)推荐的存储空间(hdd/ssd)是多少?
  3. 是否有任何解决方案来存储50+ TB每台NoSQL机器(有/没有Cassandra)?

答案在很大程度上取决于您的需求—它是始终在线、随机访问的数据,还是某种归档,其中只有部分数据被主动访问,等等。所以没有这些信息很难说。您还需要考虑维护操作——向集群中添加一个新节点或删除它需要多少时间——目前10Tb可能需要3-5天(4.0的改进有助于减少这段时间)。

一般建议每台机器有1-2Tb(磁盘大小,压缩后,考虑到复制)。这取决于访问模式和Cassandra的版本(比如即将到来的4.0,有很多改进)。优化),可以增加到2-4Tb/机器。但这需要仔细检验。我建议使用NoSQLBench之类的工具来建模你的模式。测试访问模式

我见过每台机器有10-12Tb(我的同事见过更多)数据(磁盘大小,压缩数据)的设置,但在大多数情况下,这些系统的大部分数据很少被访问,并且主要是为了遵从性而保留。

这取决于您的访问模式与您的压缩策略的一致性。在大多数情况下,大小分级和级别压缩是通用的压缩策略,很难将访问模式与它们对齐。它们在很大程度上依赖于压缩过程来优化读。

您可以通过时间窗口压缩和时间序列数据实现最高密度,因为读写访问模式与时间窗口对齐(最佳情况)。

在任何一种情况下,增加密度和减少节点数量都会降低操作复杂性,但会增加操作事件复杂性。随着节点变得密集,移动数据变得困难。添加新节点、重新构建节点,甚至备份都可能成为高风险。

最新更新