DTCC 2020 | 数字化零售数据库多活架构演进

本技术分享于2020年12月DTCC 2020

主题介绍数字化零售场景下,数据库架构随着业务快速发展,遇到的高可用相关问题,从单机房高可用,到混合云同城双活,再到单元化/异地多活的技术演进过程。

内容大纲
1. 多点Dmall数据库技术体系简介;
2. 混合云数据库同城双活及容灾方案;
3. 单元化/异地多活背景及整体方案;
4. 单元化/异地多活数据库架构设计及实施;
5. MySQL及Redis数据同步组件;
6. 问题总结及挑战。

演讲PPT下载数字化零售数据库多活架构演进

谈谈MySQL水平扩展

写在前面

14年中换了一份工作,出国游荡了一阵子,目前工作离数据库内核远了点,离业务近了些,业务层面碰到的‘高深’技术问题也少了,旅行后发现人也懒了不少,导致博客都长草了

2015开始了,先表态一下目标:我2015年的目标就是搞定2014年那些原定于2013年完成的安排,不为别的,只为兑现我2012年时要完成的2011年年度计划的诺言

2015-goal

问题背景

工作中遇到数据库数据增长过快,单表一年之后预计到达35M行数据,可以预见MySQL性能将下降厉害,并且随着业务的规模化,担心单表将很难抗住并发压力,出现故障后恢复时间变长对业务影响也会变大,因此需要考虑数据水平扩展,目前项目采用[……]

Read more

Galera replication for MySQL

这篇文章总结了之前对Galera replication的调研,内容包括Galera特性,原理,Galera cluster配置,参数及性能等

Galera replication是什么

MySQL DBA及开发应该都知道MySQL源生复制及semi-sync半同步复制,它们都基于MySQL binlog,原生复制是完全异步的,master不需要保证slave接收并执行了binlog,能够保证master最大性能,但是slave可能存在延迟,主备数据无法保证一致性,在不停服务的前提下如果master宕机让slave顶上,就会丢失数据,semi-sync在异步复制基础上增加了数据保护的考虑,master必须确认slave收到binlog后(但不保证slave执行了事务)才能最终提交事务,在没有退化(延迟较大时可能发生)成异步复制之前可以保证数据安全,此时master挂掉之后,slave可以在apply完所有relay log后切换成master提供读写服务

Galera replication是codership提供的MySQL数据同步方案,具有高可用,易于扩展等特点,它将多个MySQL节点组织成一个cluster
[……]

Read more