mysql 数据库的分库分表详解
Posted 健康平安的活着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 数据库的分库分表详解相关的知识,希望对你有一定的参考价值。
一 数据库分库分表
1.1 概述分库分表
垂直分片:是从业务的维度进行划分,扩展了数据库连接数,提升数据库IO性能。
2.水平分片:从数据维度切分,扩展单表的数量,提升数据库查询性能。
水平分片从理论上突破了单机数据量处理的瓶颈,并且扩展相对自由,是分库分表的标准方案:
常用的分库分表的策略:
1.取模分片:优点:存放均匀,缺点:扩容需要大量数据迁移。
2.按范围分片: 优点:扩容不需要迁移数据。缺点:数据存放不均匀,容易产生数据倾斜。
3.根据业务场景,灵活定制分片策略。
1.2 垂直分库分表
#1.应用
1.在数据库设计时考虑垂直分库和垂直分表
2.随着数据库数据量增加,不要马上考虑做水平切分,首先考虑缓存处理,读写分离,使用索引等等。如果这些方式不能根本解决问题,在考虑水平分库和水平分表。
#2.分库分表问题
1.跨节点连接查询问题(分页、排序)
2.多数据源管理问题
1.3 水平分库分表
以上是关于mysql 数据库的分库分表详解的主要内容,如果未能解决你的问题,请参考以下文章
mysql分布式数据库的逻辑库物理库和分库分表和TDDL图文详解