从小规模到中等规模MySQL数据库的过渡解决方案

时间:2013-04-08 01:32:36

标签: mysql database-design scalability

我正在研究我维护的数据库的未来。现在我们有一个使用InnoDB和MyISAM表运行MySQL的数据库服务器。我正在密切关注这些指标,我可以看到这将永远不可持续。下一个去哪儿了?我已经回顾了像Cassandra这样的解决方案,但我想坚持使用SQL方法,所以我不确定。我还审查了NDB集群和联邦数据库解决方案,但我注意到没有人对这些有任何好处。基本上,我在寻求中间解决方案的建议。我们还不需要在数十个数据库服务器上运行庞大的多节点阵列,但是一台服务器即将达到极限。我不想只是扔掉另一台服务器而不确保手头的数据库架构能够从额外的电源中获益。当你有时间超越单一服务器以及如何管理这种转变时,你们有什么建议?感谢任何可以提供帮助的人。

编辑以更好地解释:目前,我们有大约一百张桌子。我们运行许多连接操作来收集最终用户需要查看的数据,这样我们的大多数查询都会连接至少两个表来完成任何操作。数据集还不算太大,只有几百Megs,但是数据的访问方式使得每个表每天都有一些写入,其中最重的每天写入大约一千次。我们每天也可能有大约几十万次读取,所以读取数量大约是9比1。

1 个答案:

答案 0 :(得分:1)

第一解决方案:

  • 指数走得很远
  • 使用分析软件查找慢查询并优化它们
  • 根据您的托管公司,您通常可以更新服务器的RAM / CPU

第二种解决方案:

  • 将您的读取和写入分成两个数据库。 (我不知道你是否使用PHP,但PHP有一个插件可以自动拆分它而不必更改任何代码http://php.net/manual/en/mysqlnd-ms.rwsplit.php
  • 使用memcache等软件存储经常查询但不经常更新的数据库信息