数据库开启主从复制
1.开启主服务器上的二进制日志。
2.在服务器和从服务器上分别进行简单的配置和授权。
读写分离
通常主服务器的作用是进行写操作和数据同步,而从服务器的作用是的读操作,这里读操作的显然要比写操作频繁的多,两台服务器可以简单的是这样分配。
数据库反向代理
MySql Proxy可以在SQL语句转发到后端的Mysql服务器之前对它进行修改,比如将所有对数据库A更新的SQL语句修改为更新数据库B
他还对从服务器实现负载均衡检测
数据库垂直分区
垂直分区是将不同的数据库分布到不同的服务器上。
垂直分区分散了写操作的提高性能,当一台服务器等写负载超过服务器所能承受的限度,使用垂直分离来的进行负载均衡。
在数据库的设计及应用程序的时候,都应该尽量减少使用联合查询。
简单的说数据库的垂直分区就是把数据库分成,不同的相对独立的模块,从而分散到不同的服务器上。
数据库垂直分区
水平分区意味着我们可以将同一数据表中的记录通过通过特定的算法进行分离,保存到不同的数据表中,从而可以部署在不同的服务器上。
通常我们学选择对主键或者外键来做为分区的主要依据。
哈希分区
这种方法容易实现但是如果要拓展的话就没有那么简单了。
范围分区
可以带来很好的拓展能力,但是ID比较接近热点用户导致所在分区压力过大。
映射分区
他通过数据库获得答案,当然,我们会使用缓存来提高性能。
这种方式详细保存了每一个记录的分区对应关系,所以各个分区具有较强的可伸缩性,我们可以灵活地控制他们的规模,并且轻松地将数据从一个分区迁移到另一分区,使得各个分区可以通过灵活的动态调节来保持平衡。
分区拓展
数据库水平分区的扩展则意味着必要的数据迁移,以及重建平衡,而这种流动带来了时间开销。
分区反向代理
Spock Proxy它可以帮助应用程序实现水平分区的访问调度,这意味着我们不需要在应用程序中维护那些分区的对应关系。