最佳实践之分库分表

1.为什么分库分表(Sharding)?

   1)最重要的就是扩容,希望从1TB扩容到100TB;

   2)提高性能。准确地说,是提高单表性能。因为分完之后,单个库或表的数据量就降下来了。代价是,以前的单表操作可能变成跨库或跨表,所以要谨慎。

2.分库还是分表?

    分库和分表的区别是,分库更重量级。因为当client发起"多库操作"时,需要发起多个数据库连接;而如果client只是进行同一个库里的"多表操作"时,只需要连接一次数据库。显然,后者更轻量性能更高。所以,通常我们是先分表,进而再分库,而不是一上来就分库。

3.再强调一遍,Sharding不是银弹!

    需要注意的是,分库分表的实践,并不是银弹,而是双刃剑。只有在真正需要Sharding的时候做Sharding,才是一个好的架构师。一旦决定实施Sharding,就意味着,要尽量减少跨库、跨表的操作。


猜你喜欢

转载自blog.csdn.net/iliveido_foxmail/article/details/79739214