MySQL数据库分库分表优缺点

   MySQL数据库分库分表是为了解决数据库数据量过大导致性能变低的问题。

1. mysql的分片方式

  • 垂直分片:提高数据IO性能

MySQL数据库分库分表优缺点_第1张图片

 

        特点:1)每个库(表)的结构都不一样

                   2)每个库(表)都至少有一列一样

                   3)每个库(表)的并集是全数据库的量

        优点:结构清晰

        缺点:1)如果单表数据量大,读写压力大

                   2)会受到业务的影响

                   3)部分业务无法关联

  • 水平分片:突破单表数据极限

MySQL数据库分库分表优缺点_第2张图片 

        特点:1)每个库(表)的结构都一样

                   2)每个库(表)的数据都不一样

                   3)每个库(表)的并集是全数据库的量

        优点:1)性能提高

                   2)提高了系统的稳定性和负载能力

                   3)拆分的表的结构相同,改造较少

        缺点:1)数据的扩容很有难度,维护量大

                   2)分片事务的一致性问题多

 

2. 分库分表的常用策略

  1. 取模分片。优点:数据存放均匀。缺点:扩容需要大量数据迁移。
  2. 范围式分片。优点:扩容不需要大量数据迁移。缺点:数据存放不均匀
  3. 根据实际需要,灵活制定分片需要。

你可能感兴趣的:(笔记,mysql)