转载:
MySQL数据库扩展小记
很多大规模的站点基本上都经历了从简单主从复制到垂直分区,再到水平分区的步骤,这是一个必然的成长过程。
1 主从复制、读写分离(R/W Splitting)
将应用程序中对数据库的写操作指向主服务器,而将读操作指向从服务器。从服务器定时向主服务器请求最新日志,主服务器异步将二进制日志输送给从服务器。
而应用程序与多台数据库之间,可以通过MySQL Proxy反向代理解耦。应用程序只需要跟MySQL Proxy 通信即可,而读写分离的工作都由MySQL Proxy 来完成,与此同时,
2 垂直分区
将相关度不大的数据库分布到不同的服务器上。需要时,可以对各个分区进行读写分离,主从复制。
3 水平分区(Sharding)
可以将同一数据表中的记录通过哈希算法、范围、或是映射关系等算法进行分离,分别保存在不同的数据表中,从而可
以部署在不同的数据库服务器上。
1 主从复制、读写分离(R/W Splitting)
将应用程序中对数据库的写操作指向主服务器,而将读操作指向从服务器。从服务器定时向主服务器请求最新日志,主服务器异步将二进制日志输送给从服务器。
而应用程序与多台数据库之间,可以通过MySQL Proxy反向代理解耦。应用程序只需要跟MySQL Proxy 通信即可,而读写分离的工作都由MySQL Proxy 来完成,与此同时,
MySQL Proxy 还对多个从服务器实现负载均衡以及可用性检测。

2 垂直分区
将相关度不大的数据库分布到不同的服务器上。需要时,可以对各个分区进行读写分离,主从复制。

3 水平分区(Sharding)
可以将同一数据表中的记录通过哈希算法、范围、或是映射关系等算法进行分离,分别保存在不同的数据表中,从而可
以部署在不同的数据库服务器上。
开源产品Spock Proxy帮助应用程序实现水平分区的访问调度。

本文介绍了MySQL数据库扩展的三种主要策略:主从复制实现读写分离、垂直分区分散不同业务模块、水平分区通过算法分离数据表记录。同时介绍了MySQLProxy和SpockProxy等工具如何帮助应用程序实现这些扩展策略。
168

被折叠的 条评论
为什么被折叠?



