大数据&云计算|作为数据库核心成员,如何让淘宝不卡顿?( 五 )
本文插图
核心问题:
数据的备份同步问题:参考4.4.3 。
读写比例支持动态设置:结合业务 , 如淘宝可设置为20:1 。
4.3.2 容灾
主备倒换:提高可靠性 > 应对个别数据库宕机场景 , 尤其主库宕机 。
本文插图
主备倒换
说明:DB2主库宕机后 , 自动将主库转为DB3 。
核心问题:
数据的备份同步问题:binlog 参考4.4.3 。
检测数据库的在线状态:心跳机制 。
4.3.3 数据备份与同步
当只有单机或者一份数据时 , 一但数据库出问题 , 那么整体服务将不可用 , 而且更严重的是会造成数据损害丢失不可逆 。
在读写分离与主备倒换的场景下 , 核心要解决的是多个数据库的数据同步与备份问题 。
当前主流的是采用日志备份方式(redis也类似) 。
实现原理:binlog日志备份 。
本文插图
数据备份:bin-log同步
说明:
主库负责写操作 , 在数据变更时 , 会写入binlog , 同时通知各从库 。
从库收到通知后 , IO线程会主动过来读取主库的binlog , 并写入自己的log 。
写完从库log后 , 通知sql线程 , sql线程读取自己的日志 , 写入从库 。
4.3.4 动态扩容
动态扩容的意义在于:随着后期业务量增大 , 数据库个数可以通过增多的方式来应对 , 而相对的改造代价很小 。
扩容前:
本文插图
扩容后:
本文插图
核心内容:
在添加新库时
注册机器与库
路由算法调整:固定哈希算法-调整模数/一致性哈希算法天然支持扩容
可选的权重调整
修改权重 , 数据插入偏向于新库5 。
在各库数量平衡时 , 触发修改回原来平衡的权重 , 以保证后续的均衡分配 。
五 架构成型
sql流向
下图介绍sql从流入TDD到流入数据库 , 期间TDDL各模块对Sql的处理 。
本文插图
架构图
本文插图
下图介绍了TDDL三层的位置以及作用 。
本文插图
核心能力图
TDDL 核心能力 , 核心组建示意图 , 其中标出了各模块核心要解决功能 , 核心算法等 。
本文插图
参考
TDDL 官方文档
https://mw.alibaba-inc.com/products/tddl/_book/
TDD产品原理介绍
https://gitlab.alibaba-inc.com/middleware/tddl5-wiki/raw/master/docs/Tddl_Intro.ppt
TDDL(07-10年)初始版本介绍
https://wenku.baidu.com/view/9cb630ab7f1922791788e825.html
阿里云SQL调优指南
https://help.aliyun.com/document_detail/144293.html
一致性哈希算法原理
https://www.cnblogs.com/lpfuture/p/5796398.html
TDDL初期源码(码云)
https://gitee.com/justwe9891/TDDL
MyISAM与InnoDB 的区别(9个不同点)
MySQL实操
推荐阅读
- 穿搭|只有极简风能穿出高级?你错了,"设计感穿搭"也能出彩,来试试
- 万州微视界|打工女皇——吴士宏,用12年做到年薪1亿"穷"不是枷锁女儿当自强发愤图强
- 王诗龄 |6年过去了,穷养的森碟成了"网球达人",而富养的王诗龄会啥?
- 中型SUV|日产受欢迎B级车,兼具动力和舒适,楼兰可以"C"位出圈吗?
- 旅游与摄影media|闽越三大名山之一,朱熹曾在此创办书院,号称"海上仙都"
- 旅游与摄影media|世界三大千岛湖之一,中国江湖优质水之首,誉为"天下第一秀水"
- |半岁宝宝''感冒''被忽视 鼻窦发炎眼内脓肿险失明
- |10.10干眼关爱日,爱尔眼科重磅发布国人干眼大数据报告
- 伊秀海报时尚|丹媚&赤尾搞事情?国庆云打卡成功掀起线上旅游热潮!
- 汽车|当越野遇上摇滚会绽放出怎样绚丽的烟火 哈弗H9&面孔乐队自驾之旅
