日期:2014-05-16  浏览次数:20422 次

MySQL数据库扩展
很多大规模的站点基本上都经历了从简单主从复制到垂直分区,再到水平分区的步骤,这是一个必然的成长过程。


1 主从复制、读写分离(R/W Splitting)


将应用程序中对数据库的写操作指向主服务器,而将读操作指向从服务器。从服务器定时向主服务器请求最新日志,主服务器异步将二进制日志输送给从服务器。


而应用程序与多台数据库之间,可以通过MySQL Proxy反向代理解耦。应用程序只需要跟MySQL Proxy 通信即可,而读写分离的工作都由MySQL Proxy 来完成,与此同时,
MySQL Proxy 还对多个从服务器实现负载均衡以及可用性检测。




2 垂直分区


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




3 水平分区(Sharding)


可以将同一数据表中的记录通过哈希算法、范围、或是映射关系等算法进行分离,分别保存在不同的数据表中,从而可
以部署在不同的数据库服务器上。

??
开源产品Spock Proxy帮助应用程序实现水平分区的访问调度。