数据库分库分表

数据库分库分表

分表分库解决的问题

  • 分表分库就是为了解决数据量过大导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据达标拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的

分库分表方式

  • 垂直分表:把一个宽表的字段安访问频次、是否大字段的原则拆分成多个表
  • 垂直分库:把多个表按业务耦合松紧归类,分别存放在不同的库,这些库可以分布在不同服务器,从而使访问压力被多台服务器负载,大大提升性能,同时能提高整体架构的业务清晰度,不同的业务库可以根据自身情况定制优化方案
  • 水平分库:可以把一个表的数据(按数据行)拆分成不同的库,每个库只有这个表的部分数据,这些库可以分布在不同数据库,从而使访问压力被多态服务器负载,大大提升性能
  • 水平分表:把一个表的数据(按数据行)拆分成同一个数据库的多张表中,每个表只有这个表的部分数据,这样做能小幅提升性能,仅仅作为水平分库的一个补充优化
  • 一般来说,在系统设计阶段就应该根据业务耦合松紧来确定垂直分库、垂直分表方案,在数据量及访问压力不是特别大的情况,首先考虑缓存、读写分离、索引技术等方案。若数据量极大,且持续增长,再考虑水平分库、水平分表方案

分库分表带来的问题

  • 由于数据分散在多个数据库,服务器导致了事务一致性问题,跨界点Join问题、跨界点分页、排序、函数,主键需要全局唯一,公共表问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值