Mycat之分库分表

分库分表的中间件产品
Sharding-JDBC - 3.1
TSharding
DRDS
TDSQL
Mycat

分库分表的意义
解决性能瓶颈
数据库的压力
单表的数据量问题


分库:
是为了服务的拆分,模块的分解,子系统的划分,必然的一个实现结果。
分表:
减少单个表的大小,单表数据量带来的性能问题

分库分表定义
对数据库的库表进行拆分,用分片的方式对数据进行管理

垂直拆分带来的问题
跨库联表查询,分布式事务

单表为什么数据量大,查询性能就低?
建了索引的情况:磁盘级索引-> IO操作次数多->查询性能低
数据量到达500W,就要考虑分表问题
但如果表的查询维度比较少,不涉及范围查询,索引又建的比较好,1亿的数据不分表也没什么问题。

水平拆分带来的问题
联表查询,拆分规则选择 

Mycat
Mycat是开源的分布式数据库中间件,基于阿里的cobar的开源架构之上。它处于数据库服务与应用服务之间,进行数据处理与整合的中间服务。
通俗点讲,应用层可以将它看作是数据库的代理。

逻辑库->Mycat
逻辑表->
分片表:用分片规则进行修饰的表
全局表:global关键字
数据量小,与其他表有关联关系,修改频度小
ER表:以外键相关联的表

核心流程:
解析SQL->数据源管理-》数据源分配-》请求/响应-》结果整合
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值