avatar
文章
77
标签
40
分类
25
主页
归档
分类
标签
其他
  • 关于
Logo花火笔记分库分表 返回首页
主页
归档
分类
标签
其他
  • 关于

分库分表

发表于2021-05-03|更新于2022-05-07|database
|浏览量:

[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/database/sub_library_and_sub_table.html

学习自:单KEY业务,数据库水平切分架构实践 | 架构师之路

一些笔记

img.png

图中水平分库的基因法虽然好用,但是只支持2个字段的分库,如果要支持2个字段以上,那么就得使用索引表法了,缺点是需要多查一次表。

文章作者: 花火
文章链接: https://heyfl.gitee.io/database/sub_library_and_sub_table.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 花火笔记!
MYSQLDATABASEMYCAT
上一篇
数据库数据倾斜
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/Bug-Log-Optimization/database-skew.html 其实改动不是很大,这里简单记录下 背景 OMS订单系统,日数据量较大平均近3kw/日,高峰达8kw+/日的订单需要存到数据库中(之前64库,现在扩到了128库); 运维后台监控看到,各个库的压力不一,江浙沪,京津冀,深圳755等地区对应的数据库压力很高,而其他地区的数据库压力很低; 分析 数据库通过mycat,以分库号字段进行分库,以内部订单号分表 内部订单号规则: 3位分库号+系统来源(2位)+MMDDHHmmssSSS+订单类型+6位随机数+1位校验码=26位 分库号生成规则为根据地区、网点进行生成; 因此,可以看出,同一地区的订单,分库号是一样的,因此,同一地区的订单,会落在同一个库中; 解决 直接粗暴修改分库号生成规则为0~127区间随机生成,因为原有订单的删、改、查最终都会带上原有的内部订单号,所以不会影响到历史数据,只是新的订单会落在不同的库中; 上线方案 因为是S级系统...
cover of next post
下一篇
使用mycat后注意要点
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/database/careful-when-use-mycat.html 忙死,简单贴个笔记截图吧 主要就是注意一下mycat分发sql给到对应1~n个数据库,其数据库都会执行这一条sql,然后再去mycat那里聚合结果,所以要注意一下sql的写法 一些笔记
相关推荐
cover
2021-05-03
使用mycat后注意要点
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/database/careful-when-use-mycat.html 忙死,简单贴个笔记截图吧 主要就是注意一下mycat分发sql给到对应1~n个数据库,其数据库都会执行这一条sql,然后再去mycat那里聚合结果,所以要注意一下sql的写法 一些笔记
2019-08-26
MySQL锁
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/database/innodb-record-level-locks.html 官方参考 MySQL锁 InnoDB锁机制是基于索引建立的 如果SQL语句中匹配不到索引,那么就会升级为表锁 记录锁 1234-- id 列为主键列或唯一索引列SELECT * FROM table WHERE id = 1 FOR UPDATE;或update table set age=2 WHERE id = 1; 通过唯一索引实现的记录锁,只会锁住当前记录(必须为=不然会退化为临键锁) 间隙锁 间隙锁只有在事务隔离级别 RR(可重复读) 中才会生效. 为非唯一索引组成(如class,age等) 1select student where age>26 and age<28 lock in share mode ; 使用间隙锁的条件 命中普通索引锁定; 使用多列唯一索引; 使用唯一索引命中多行记录 临键锁(Next-key Locks) 临键锁只...
2021-05-02
生产数据库扩库
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/design/database-scale.html 背景
cover
2022-01-04
缓存密集加载导致数据库崩溃问题
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/Bug-Log-Optimization/cache-load-database-crash.html 背景 SISP自己基本不存储业务数据,但是每个节点都需要本地缓存了一些网点、员工信息、月结用户信息等基础数据,生产监控发现数据库定期压力飙升,数据库CPU压力到达80+%如图: 用脚趾头分析 从图中可以看出,每天小时飙升一次,明显就是定时任务大批量查询数据库导致的,在SISP系统,也就只有加载缓存可能会导致 找到运维获取慢日志,发现大量的查询语句,如下: 12345SELECT DISTINCT nd.division_code AS city_code, nnd.dist_cn_name , nnd.dist_en_name FROM tm_new_district nd, tm_new_district nnd WHERE nd.division_code IN( SELECT DISTINCT t.CITY_CODE FROM t...
avatar
花火
技术_转型之路
文章
77
标签
40
分类
25
Follow Me
公告
This is my Blog
目录
  1. 1. 一些笔记
最新文章
每天进步一点点 - English
每天进步一点点 - English2099-12-05
每天进步一点点 - 基础技术篇2099-09-05
性能优化核心思想2025-12-15
精准定时任务设计思路2025-12-15
支付宝支付流程2025-12-10
© 2019 - 2025 By 花火框架 Hexo 7.3.0|主题 Butterfly 5.5.3