首先,我希望这篇文章在这里比在 stackoverflow 上更合适,我不知道该把它放在哪个网站上。Stack 更侧重于编程。版主,如果这里的位置不正确,请重新定位。
大家好!我目前正在做一个项目,需要使用大量的结构化和非结构化数据。数据最初进入 Splunk,它既是解析引擎又是警报引擎。然而,随着这个项目的发展,我们越来越发现 Splunk 不是我们需要保存数据的地方。它也不具备传统 RDBMS 提供的一些功能。因此,我们希望将负载平衡/HA MySql 集群附加到我们当前的服务器综合体上。
我正在寻找某种公式或资源页面,可以解释需要购买多少台服务器才能处理每天大约 5000 万条记录,假设每条记录的大小约为 1kb(这是一个高估值)。我找不到任何关于 MySql 服务器扩展/容量的明确解释。这给了我一个开始讨论 MySql 许可的谈话点。例如,在 splunk 中,每天每 100GB 数据我们需要 2 台服务器(估计我们希望每台服务器的最大负载为 50%)。我找不到任何类似的 MySql 内容。
遗憾的是,我在设置传统 RDBMS 方面经验不足,而且到目前为止我发现的大多数关于 MySql 的书籍都是从用户的角度而不是从管理和容量规划企业的角度出发的。
任何建议都将不胜感激,谢谢!
答案1
MySQL 服务器处理能力通常取决于正在运行的事务的数量和类型,而不是表的大小。表的大小决定了您的磁盘空间需求,您可能还是希望将其放在一些共享存储上。
至于每笔交易所需的实际处理能力:这在很大程度上取决于交易类型,因此没有黄金公式。您唯一真正的选择是根据组织中类似数据库的当前使用情况做出最佳猜测,并准备在(当)您猜错时增加容量。
对于规划存储容量,瓶颈很可能是 IOPS,而不是实际空间。通常,您可以向任何存储供应商咨询估计的 IOPS 负载和空间需求,他们将能够为您提供解决方案。