博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql的分库分表
阅读量:6202 次
发布时间:2019-06-21

本文共 619 字,大约阅读时间需要 2 分钟。

1 什么是分库分表

这里讨论的情况是一台机器上对应一个数据库。

分库的对象是表,分表的对象是行。分库是说把属于同一个模块的相关性很高的表放在同一个数据库中。分表是说把同一个表的的行分成多个子表,把各个子表放在各自的数据库中。

2 分库分表的例子

2.1 垂直划分

现在订单数据库里面有订单表和订单售后表,前者是事实性的,后者不需要实时性,因此将它们放在两个数据库中,一个数据库中放订单表,另外一个数据库中放订单售后表。

2.2 水平划分

例如用户订单数据库,每个用户有一个唯一的user id。

假如我们现在把用户订单数据库水平划分为10个数据库,那么就是把user id%10,这样,模为0的行放在第一数据库中,模为1的行放在第二个数据库中,依次类推。

3 如何实现分库分表的事务

 

4 如何实现跨分片排序分页

在分片前,按照id进行排序,分片之后,也想要按照id排序返回,如何实现?

 

5 跨节点join

6 mysql的分裤分片中间件

mycat

在mycat上,用户使用sql时可以像对待单个数据库来使用。

比如mycat支持跨节点join等,mycat支持事务,实现了acid。

mycat不适用的场景:

分页排序等

https://blog.csdn.net/u013235478/article/details/53178657

 

转载于:https://www.cnblogs.com/hustdc/p/8946474.html

你可能感兴趣的文章
kvm虚拟化平台搭建
查看>>
ping telnet ssh netstat
查看>>
oracle数据库用户删除及表空间删除
查看>>
EasyUI Menu 菜单
查看>>
微信小程序 Echarts 异步数据更新
查看>>
https页面打不开
查看>>
C++ 保存Excel文件(带密码保护)
查看>>
关于浏览器和屏幕的坐标大全(经典中的经典)
查看>>
我的微软开源CMS-Orchard源码阅读之Orchard.Caching
查看>>
AD域内DNS服务器如何解析公网域名
查看>>
Microsoft Phone Data Manager Beta 下载
查看>>
30天敏捷生活(3):设计你的生活看板
查看>>
PIC单片机增强型开发板产生两路PWM
查看>>
Android开发之旅: Intents和Intent Filters(理论部分)
查看>>
Nhibernate HQL 大全
查看>>
<<字符串高级截取和统计>>一文的C#正则实现
查看>>
基于Attribute的Web API路由设置
查看>>
Windows Azure Cloud Service (11) PaaS之Web Role, Worker Role(上)
查看>>
Azure操作手册集合
查看>>
Windows Azure Web Site (14) Azure Web Site IP白名单
查看>>