我正在调查将一些大型数据库从MySQL移到Cassandra,我正试图弄清楚如何规划群集。 从历史上看,只需要购买磁盘来包含相关数据,但是我不清楚Cassandra如何使用磁盘空间和RAM空间。
在规划一个集群时,会出现每台机器有多less台机器,多less磁盘,多less内存等问题。 我如何回答这个1TB? 10TB? 更多?
基本上, 每个节点的磁盘公式为D x RF / N x O / C,其variables定义如下:
一旦你得到了一些数字,你应该定位一个“每个节点的磁盘数”不超过可用本地存储的30%,这样你就不必立即增长集群,因此快照是可能的。
内存计划很大程度上取决于模式的外观,但是每个节点至less需要4GB专用于Cassandra。 操作系统将能够使用超越这个的任何东西进行高度有利的磁盘caching。 更多的内存只有在实质上超过磁盘上的实际数据量时才会变得完全无用。
能力计划确实是一门科学(就math/统计而言)。 由于math模型不会让你在任何地方,你真的必须设置一个testing床,可以用来回答你的问题,因为没有人可以为你提供一个你似乎要求的理论模型。
如何回答这个问题:
或聘请专业人员。