分库分表中间件-Mycat

一、分库分表概念

1.为什么要使用分库分表?

移动互联网时代,海量的用户每天产生海量的数量,比如:用户表、订单表、交易流水表。

  • 以支付宝用户为例,8亿;微信用户更是10亿。
  • 订单表更夸张,比如美团外卖,每天都是几千万的订单。
  • 淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。
  • 事实上MySQL单表可以存储10亿级数据,只是这时候性能比较差,业界公认MySQL单表容量在1KW以下是最佳状态,因为这时它的BTREE索引树高在3~5之间。

正因为有了上述的一些问题,所以要解决单张表数据量过大的问题,于是就产生的分表,将一张表的数据,分散到多张表上,达到减少一张的数据量。

上述显现还存在一个服务器压力问题,比如双11,大量的用户在查询,下单等,此时一个数据库服务承受不了如此大的压力,可能导致宕机,最终导致服务不可用。此时为了解决数据库服务的压力问题,就产生了分库的思路,来减轻单个数据库服务器的压力。

2.分库分表具体操作

2.1 分库

分库的思路就是通过部署安装多个数据库服务,比如我本次在vm里创建了3台服务器,每台服务器分别安装了Mysql服务,然后分别创建一个DB,DB里面需要分库的表结构必须一致。比如:item表

2.2 分表

分表的思路是在同一个数据库里面将一张表分成多张表。比如:customer_order表,分成customer_order1,customer_order2,customer_order3

<


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部