数据库扩展大致分为以下步骤:

1、读写分离:当数据库访问量不大时,我们可以适当增加服务器,而数据库主从复制的方式将读写分开。

2、垂直分区:当写操作一旦增加,那么数据库将花更多的时间在数据同步,服务器过载;然后有一个垂直的分区数据,垂直分区的方法是写数据操作频繁的数据表,如用户表_user表_orders,或命令,然后我们可以把两个表在不同的服务器上分离,如果这两个表和其他表的查询,那么只有SQL语句的原始分辨率,在另一个查询表的查询,即使将消耗一个以上的性能,但大量数据同步、负担或更少;

3、划分等级:但事情往往不尽如人意,可采用垂直分区可以支持一段时间,因为网站太火了,交通和日常100W,跳到1000W,这个时候可以采取单独的数据,我们可以根据用户的ID,如% 2。或者以% 10的形式,当然,对于这种形式的未来扩展已经有很大的限制,当我从10个分区增加到20个时,所有的数据再分区,那么就会有非常大量的计算;以下几种常见的算法:

哈希算法:它是利用user_id %的方式;

经营范围:可根据user_id特征值的范围划分,如1-1000一区,1001-2000在另一个区域,等。

映射关系数据库中保存user_id相应的分区,当用户操作的分区,然后进行操作。

对于上述扩展,读写分离主要是操作的扩展。垂直分区主要是对频繁数据表的分离,而横向分区主要是数据分离。