自动分片MySQL?

use*_*829 3 mysql database partitioning sharding scale

现在,我正在处理需要实时可用的数据的TON(信任我),以便快速读取和写入客户.我们使用的后端存储系统是Oracle,但我们希望用更精简的系统替换我们的大而强劲的机器.

由于各种原因,我们不能使用Cassandra,我们正在测试(但我很害怕)MongoDB(它非常年轻,并且缺少一些关键功能),所以我正在考虑分割一堆MySQL实例.

有一个很好的系统来管理这个,还是我必须自己动手?我找到了一些项目,但我不清楚他们是否支持动态添加/删除分片.

小智 5

您绝对可以非常有效地使用MySQL实现数据库分片.如果您的分片方案很简单,可以在您的应用程序层中完成,但如果它更复杂,您可能想要使用工具.我们的网站上描述了很多选项,以及我们支持的高级选项.

您可以在此处了解有关选项的更多信息:

http://www.dbshards.com/articles/database-sharding-whitepapers/

同样重要的是要考虑分片环境的整个生命周期,包括故障转移,主动 - 主动复制,备份,还原和重新分片,如上所述.

仅供参考,我们的客户在云环境中拥有1000个并发用户(具有缓慢的I/O),并且在数据中心环境中的读取和写入量非常大.剪切肯定是非常有效的,写入线性缩放并且读取通常比线性更好(因为更多数据缓存在数据库中).