关注我,升职加薪就是你!
数据库扩展的方式:
1. 读写分离 当数据量不是很大时,我们可以适当增加服务器,数据库主从复制的方式将读写分离。
2. 分区 mysql的分区分为水平分区和垂直分区。
2.1. 垂直分区 对写入较为频繁的表做分离操作。一旦写入数据的操作增加到一定量时,此时通常考虑将写操作比较频繁的表(如电商项目中的订单表order和库存表stock),分放到不同的服务器上。如果这两个表和其他表存在联表查询,此时只能拆分sql,先查A,再查B。这种方式虽然耗费性能,但是比起大量的数据同步所带来的负担,优势还是比较明显的。
2.1. 垂直分区 对表中的数据做分离操作。当服务器的访问量从100W激增到1000W,我们可以针对user表中user_id的不同,进行分配。常见的分区算法如下:
2.2.1. 哈希算法 采用user_id%的方式。
2.2.2. 映射关系 将user_id存在的所对应的分区放在数据库中保存,当用户操作时,先去查询所在分区,再进行操作。
2.2.3. 范围 可以根据user_id字符值进行范围分区,如1-1000为一区,1001-2000则是另外一个区。
这个内容就说到这。
关注我,升职加薪就是你!
浅谈mysql扩展之读写分离、垂直分区、水平分区
最新推荐文章于 2024-01-05 20:16:39 发布