分库分表遵循的原则

Posted mask哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分库分表遵循的原则相关的知识,希望对你有一定的参考价值。

原则一:能不分就不分,1000 万以内的表,不建议分片,通过合适的索引,读写分离等方式,可以很好的解决性能问题。
原则二:分片数量尽量少,分片尽量均匀分布在多个 DataHost 上,因为一个查询 SQL 跨分片越多,则总体性能越差,虽然要好于所有数据在一个分片的结果,只在必要的时候进行扩容,增加分片数量。
原则三:分片规则需要慎重选择,分片规则的选择,需要考虑数据的增长模式,数据的访问模式,分片关联性问题,以及分片扩容问题,最近的分片策略为范围分片、枚举分片、一致性 Hash分片,这几种分片都有利于扩容。
原则四:尽量不要在一个事务中的 SQL 跨越多个分片,分布式事务一直是个不好处理的问题。
原则五:查询条件尽量优化,尽量避免 Select * 的方式,大量数据结果集下,会消耗大量带宽和 CPU 资源,查询尽量避免返回大量结果集,并且尽量为频繁使用的查询语句建立索引。
 

以上是关于分库分表遵循的原则的主要内容,如果未能解决你的问题,请参考以下文章

从原则方案策略及难点阐述分库分表

数据库分库分表容量划分建议参考阿里云DRDS原则

从原则方案策略及难点阐述分库分表

一文让你精通数据库优化方案之分库分表

分库分表原则

不要为了“分库分表”而“分库分表”