欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

数据库分库分表怎么做

终极管理员 知识笔记 105阅读

数据库分库分表的方案有哪些?

答:既然一张表无法搞定,那么就想办法将数据放到多个地方来解决问题吧,于是,数据库分库分表的方案便产生了,目前比较普遍的方案有三个:分区,分库分表,NoSql/NewSql。 在实际的项目中,往往是这三种方案的结合来解决问题,目前绝大部分系统的核心数据都是以RDBMS存储为主,NoSql/NewSql存储为辅。

分库分表带来的问题有哪些?

答:分库分表带来的问题 分库分表能有效的环节单机和单库带来的性能瓶颈和压力,突破网络IO、硬件资源、连接数的瓶颈,同时也带来了一些问题。 下面将描述这些技术挑战以及对应的解决思路。 当更新内容同时分布在不同库中,不可避免会带来跨库事务问题。

水平分表后分库后如何知道哪条数据在哪个库里?

答:水平切分后同一张表会出现在多个数据库或表中,每个库和表的内容不同,对于水平分表后分库后,如何知道哪条数据在哪个库里或表里,则需要路由算法进行计算,这个算法会引入一定的复杂性。 选取有序的数据列,如时间戳作为路由的条件,不同分段分散到不同的数据库表中,以最常见的用户ID为例,路由算法可以按照1000000的范围大小进行分段,1 ~ 9999999放到数据库1的表中,10000000~199999999放到数据库2的表中,以此累推。

如何对业务类型进行分库分表?

答:回到刚才的业务问题,如何对业务类型进行分库分表。 分库分表第一步也是最重要的一步,即sharding column的选取,sharding column选择的好坏将直接决定整个分库分表方案最终是否成功。 而sharding column的选取跟业务强相关。

声明:无特别说明,转载请标明本文来源!