Booking.com MySQL数据库架构
Booking.com 作为全球最大的在线酒店预订网站,其数据库架构是基于 MySQL 的。 Booking.com 使用 MySQL 作为主要的线上数据库解决方案,目前是欧洲最大的 MySQL 用户。
数据库架构
Booking.com 的数据库架构主要包括以下几个部分:
* 数百台 MySQL baremetal 服务器
* 数百个复制链(master-slave)
* 多个数据中心以实现冗余
* 使用 MySQL 5.6, 5.7, 8.0 和 MariaDB
自动化
Booking.com 实现了自动化的数据库管理,包括:
* 自动升级 MySQL/MariaDB 数据库版本
* 自动升级操作系统
* 自动执行任务
* 自动扩展和收缩服务器池
* 自动执行DDL 表结构改变语句
* 自动数据备份和恢复
自动化案例分析
Booking.com 的自动化案例分析包括:
* 如何扩展读取数据库:自动 grow the pool
* 如何扩展写入数据库:自动 grow the pool
* 如何 clone 数据库:clone source - rsync
* 如何备份和恢复数据库:Backup – restore
* 如何实现数据库高可用性解决方案:Orchestrator
高可用性解决方案
Booking.com 的高可用性解决方案基于 Orchestrator,Orchestrator 是一个 MySQL 复制拓扑管理和自动化工具,可以处理以下故障:
* 服务器故障
* 网络故障
* 数据库故障
测试环境搭建
Booking.com 的测试环境搭建包括:
* 创建虚拟机
* 安装操作系统
* 安装 MySQL
* 配置 MySQL
* 克隆数据
* 启动服务
相关概念
* MySQL复制链:master-slave 复制链
* 数据中心:多个数据中心以实现冗余
* 高可用性解决方案:Orchestrator
* 自动化:自动升级数据库版本、自动升级操作系统、自动执行任务等
* Orchestrator:MySQL复制拓扑管理和自动化工具