 MySQL 数据库架构灾难恢复解决方案Oracle and/or its affiliates. 9 / 55 Present - Solutions! 2020 - MySQL InnoDB Replicaset • "经典"、"异步"的基于复制的解决方案,完全集成 • MySQL Shell • MySQL Router • MySQL Server RPO !=0 RTO =minutes (manual failover) 8.0.22 :异步复制通道的自动连接故障转移 8.0.23 :使用组复制的异步复制通道进行自动连接故障转移 8.0.24 :使skip-slave-start 成为全局、持久、只读的系统变量。 8.0.26 :组复制成员操作(主成员上可配置super_read_only) 8.0.26:指定用于记录View_change_log_event 的UUID 8.0.27:异步复制通道配置自动跟随主成员 自动处理 InnoDB 集群状态更改 • 异步复制在主更改后自动重新配置 Copyright @ 2021 Oracle and/or its affiliates. 39 / 55 主集群 主成员崩溃/分区 - 自动! • 当集群中有新当选的主成员时 • 适用于主集群和副本集群中的故障 自动处理 InnoDB 集群状态更改 • 异步复制在主更改后自动重新配置 Copyright0 码力 | 52 页 | 3.07 MB | 1 年前3 MySQL 数据库架构灾难恢复解决方案Oracle and/or its affiliates. 9 / 55 Present - Solutions! 2020 - MySQL InnoDB Replicaset • "经典"、"异步"的基于复制的解决方案,完全集成 • MySQL Shell • MySQL Router • MySQL Server RPO !=0 RTO =minutes (manual failover) 8.0.22 :异步复制通道的自动连接故障转移 8.0.23 :使用组复制的异步复制通道进行自动连接故障转移 8.0.24 :使skip-slave-start 成为全局、持久、只读的系统变量。 8.0.26 :组复制成员操作(主成员上可配置super_read_only) 8.0.26:指定用于记录View_change_log_event 的UUID 8.0.27:异步复制通道配置自动跟随主成员 自动处理 InnoDB 集群状态更改 • 异步复制在主更改后自动重新配置 Copyright @ 2021 Oracle and/or its affiliates. 39 / 55 主集群 主成员崩溃/分区 - 自动! • 当集群中有新当选的主成员时 • 适用于主集群和副本集群中的故障 自动处理 InnoDB 集群状态更改 • 异步复制在主更改后自动重新配置 Copyright0 码力 | 52 页 | 3.07 MB | 1 年前3
 如何用 MySQL 构建全方位高可用应用版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 5 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 6 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 数据的冗余副本奠定了高可用性的基础 – 通过在复制场中进行分布式查询来扩展 主 从 Web/应用服务器 写入和读取 读取 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 9 •异步 – MySQL 默认设置 – 并行:主数据库向应 用程序发送确认,在 存储引擎上提交,然 后将事务发送到从数 据库 • 快速 • 如果主数据库停机有可 能丢失更改 •半同步 – MySQL MySQL Cluster 提供 – 串行:主数据库等待更 改应用于所有从数据 库后,再向应用程序 发送确认 • 较长的延迟 • 如果采用主动/主动模式, 则最适合小型事务处理 • 无损 异步复制与同步复制 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 11 MySQL Enterprise Monitor •在 10 分钟内开始监视 MySQL0 码力 | 40 页 | 2.19 MB | 1 年前3 如何用 MySQL 构建全方位高可用应用版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 5 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 6 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 数据的冗余副本奠定了高可用性的基础 – 通过在复制场中进行分布式查询来扩展 主 从 Web/应用服务器 写入和读取 读取 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 9 •异步 – MySQL 默认设置 – 并行:主数据库向应 用程序发送确认,在 存储引擎上提交,然 后将事务发送到从数 据库 • 快速 • 如果主数据库停机有可 能丢失更改 •半同步 – MySQL MySQL Cluster 提供 – 串行:主数据库等待更 改应用于所有从数据 库后,再向应用程序 发送确认 • 较长的延迟 • 如果采用主动/主动模式, 则最适合小型事务处理 • 无损 异步复制与同步复制 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 11 MySQL Enterprise Monitor •在 10 分钟内开始监视 MySQL0 码力 | 40 页 | 2.19 MB | 1 年前3
 运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳Group Replication原理解析与实践经验 徐春阳 MGR原理 MGR vs SEMI-SYNC MRG实践经验 • 支持多节点并发执行事务。如何保证从各个节点并发执行 的事务在每个节点以相同的顺序被应用/执行.------paxos协 议的功能。 • 自动地事务冲突检测。节点之间不能”同时”操作主键相同 记录,如果冲突,只有一个节点成功。------冲突检测。 测。 • 节点故障容忍度强。多数派原则,超过半数节点存活的集 群依然整体可用。------paxos协议。 • 更高级别地保证数据的一致性 ------vs mysql的异步/半同 步复制。 MGR�����:! • 将源自多个数据库节点并发无序的消息进行全局排序。目的 是保证每个节点执行的事务完全相同,顺序也相同。 • 所有的消息在各个节点处理动作完全相同,如果某个消息在0 码力 | 32 页 | 9.55 MB | 1 年前3 运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳Group Replication原理解析与实践经验 徐春阳 MGR原理 MGR vs SEMI-SYNC MRG实践经验 • 支持多节点并发执行事务。如何保证从各个节点并发执行 的事务在每个节点以相同的顺序被应用/执行.------paxos协 议的功能。 • 自动地事务冲突检测。节点之间不能”同时”操作主键相同 记录,如果冲突,只有一个节点成功。------冲突检测。 测。 • 节点故障容忍度强。多数派原则,超过半数节点存活的集 群依然整体可用。------paxos协议。 • 更高级别地保证数据的一致性 ------vs mysql的异步/半同 步复制。 MGR�����:! • 将源自多个数据库节点并发无序的消息进行全局排序。目的 是保证每个节点执行的事务完全相同,顺序也相同。 • 所有的消息在各个节点处理动作完全相同,如果某个消息在0 码力 | 32 页 | 9.55 MB | 1 年前3
 MySQL 8.0.17 调优指南(openEuler 20.09)I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶 颈、网络瓶颈(对局域网可以不考虑)。 操作系统 一般指的是Wind {device}/queue/ scheduler 配置IO调度,deadline或者noop更 适用于MySQL数据库场景。命令中 的${device}为数据盘名称,根据实 际磁盘名称进行修改。NVME盘不 支持此操作。 echo deadline > /sys/ block/${device}/queue/ scheduler /sys/block/$ {device}/queue/ nr_requests0 码力 | 11 页 | 223.31 KB | 1 年前3 MySQL 8.0.17 调优指南(openEuler 20.09)I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶 颈、网络瓶颈(对局域网可以不考虑)。 操作系统 一般指的是Wind {device}/queue/ scheduler 配置IO调度,deadline或者noop更 适用于MySQL数据库场景。命令中 的${device}为数据盘名称,根据实 际磁盘名称进行修改。NVME盘不 支持此操作。 echo deadline > /sys/ block/${device}/queue/ scheduler /sys/block/$ {device}/queue/ nr_requests0 码力 | 11 页 | 223.31 KB | 1 年前3
 MySQL 企业版功能介绍Oracle 标准支持服务 “借助 MySQL Query Analyzer, 我们可以识别和分析存在问题的 SQL 代码,同时将数据库性能提 升两倍。更加重要的是,我们在三 天内就完成了这一任务,而过去则 需要数周之久。” —Keith Souhrada, 软件开发工程师, Big Fish Games MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 Oracle MySQL 服务云 Oracle MySQL 云服务提供了一个安全、经济高效的企业级 MySQL 数据库服务。它基于 MySQL 企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库,针 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的电子商务、联机事务处理和嵌入式数据库应用 成为全球使用广泛的开源数据库。它是一种事务安全、符合 ACID 标准的集成式数据库,支持全 面的提交、回滚、崩溃恢复和行锁定功能。MySQL 不仅简便易用、易于扩展、性能卓越,而且 还提供了一整套数据库驱动程序和可视化工具,可帮助开发人员和 DBA 自主构建和管理 MySQL 应用。MySQL0 码力 | 6 页 | 509.78 KB | 1 年前3 MySQL 企业版功能介绍Oracle 标准支持服务 “借助 MySQL Query Analyzer, 我们可以识别和分析存在问题的 SQL 代码,同时将数据库性能提 升两倍。更加重要的是,我们在三 天内就完成了这一任务,而过去则 需要数周之久。” —Keith Souhrada, 软件开发工程师, Big Fish Games MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 Oracle MySQL 服务云 Oracle MySQL 云服务提供了一个安全、经济高效的企业级 MySQL 数据库服务。它基于 MySQL 企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库,针 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的电子商务、联机事务处理和嵌入式数据库应用 成为全球使用广泛的开源数据库。它是一种事务安全、符合 ACID 标准的集成式数据库,支持全 面的提交、回滚、崩溃恢复和行锁定功能。MySQL 不仅简便易用、易于扩展、性能卓越,而且 还提供了一整套数据库驱动程序和可视化工具,可帮助开发人员和 DBA 自主构建和管理 MySQL 应用。MySQL0 码力 | 6 页 | 509.78 KB | 1 年前3
 Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波工具MHA定制开发后的工具完成的,该工具支持 了MariaDB的gtid、更完善的哨兵检测机制、对 接了DB中间件等定制化功能。 • MySQL5.7的MGR复制集群是我们自己写的一套 高可用组件配合DB中间,实现无感知的高可用切 换。 兼容mysql协议 支持SELECT/INSERT/UPDATE/DELETE语句 支持单DB实例上的inner join 支持单DB实例上的事务 支持聚合函数:max、min、sum、avg、count 支持聚合函数:max、min、sum、avg、count 支持:distinct、order by、group by、limit、 top:definition text 支持多种拆分方式 不分区 根据关键字段,进行hash分区 根据时间字段,进行时间分区 根据关键字段,进行区间分区 读写分离模式 DB中间件 集群管理 •HA切换 •Slave增加删除 •创建新集群 •查看监控 •慢日志分析 •慢日志查看 •手动备份 均耗时等多个维度的指标。同时也支持ui上查看执行计 划和表结构信息。 • 实例迁移我们支持了全实例、库、表级别的迁移,并且同时兼容各种MySQL版本。 全量迁移基于开源工具mydumper和myloader做了定制化开发,解决了一些问题,比如 utf8mb4导致乱码的问题等。 增量复制使用的是公司自研的基于binlog复制的产品。该工具支持指定库、表级别复制,另外 也支持源与目标命名不一致(结构一致)的复制。0 码力 | 32 页 | 7.11 MB | 1 年前3 Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波工具MHA定制开发后的工具完成的,该工具支持 了MariaDB的gtid、更完善的哨兵检测机制、对 接了DB中间件等定制化功能。 • MySQL5.7的MGR复制集群是我们自己写的一套 高可用组件配合DB中间,实现无感知的高可用切 换。 兼容mysql协议 支持SELECT/INSERT/UPDATE/DELETE语句 支持单DB实例上的inner join 支持单DB实例上的事务 支持聚合函数:max、min、sum、avg、count 支持聚合函数:max、min、sum、avg、count 支持:distinct、order by、group by、limit、 top:definition text 支持多种拆分方式 不分区 根据关键字段,进行hash分区 根据时间字段,进行时间分区 根据关键字段,进行区间分区 读写分离模式 DB中间件 集群管理 •HA切换 •Slave增加删除 •创建新集群 •查看监控 •慢日志分析 •慢日志查看 •手动备份 均耗时等多个维度的指标。同时也支持ui上查看执行计 划和表结构信息。 • 实例迁移我们支持了全实例、库、表级别的迁移,并且同时兼容各种MySQL版本。 全量迁移基于开源工具mydumper和myloader做了定制化开发,解决了一些问题,比如 utf8mb4导致乱码的问题等。 增量复制使用的是公司自研的基于binlog复制的产品。该工具支持指定库、表级别复制,另外 也支持源与目标命名不一致(结构一致)的复制。0 码力 | 32 页 | 7.11 MB | 1 年前3
 Kubernetes Operator 实践 - MySQL容器化Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 MySQL 容器化目标 • 快速部署 MySQL 主从集群 • 支持 MySQL 集群高可用 • 支持 MySQL 集群弹性伸缩 • 支持 MySQL 5.5 & 5.7 Master Slave1 Slave2 MySQL 集群:1 主 2 从 MySQL 容器化系统架构 REST CLI 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 集群管理 Master High Availability Ø 目前最常用的高可用实现 Ø 支持大多数 MySQL 版本 Ø 使用 mysql 半同步复制 Ø 有数据丢失风险 Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos mha 切主 否 是 pod 都正常运行? 重新调度 mha MGR 高可用简介 • 多主和单主两种工作模式 • MGR 只支持 InnoDB 引擎 • 开启 GTID,ROW 模式 binlog • 每张表必须有检测冲突的主键 • 目前最多只支持 9 个节点 • loose-group_replication_ • group_name • start_on_boot • local_address0 码力 | 42 页 | 4.77 MB | 1 年前3 Kubernetes Operator 实践 - MySQL容器化Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 MySQL 容器化目标 • 快速部署 MySQL 主从集群 • 支持 MySQL 集群高可用 • 支持 MySQL 集群弹性伸缩 • 支持 MySQL 5.5 & 5.7 Master Slave1 Slave2 MySQL 集群:1 主 2 从 MySQL 容器化系统架构 REST CLI 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 集群管理 Master High Availability Ø 目前最常用的高可用实现 Ø 支持大多数 MySQL 版本 Ø 使用 mysql 半同步复制 Ø 有数据丢失风险 Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos mha 切主 否 是 pod 都正常运行? 重新调度 mha MGR 高可用简介 • 多主和单主两种工作模式 • MGR 只支持 InnoDB 引擎 • 开启 GTID,ROW 模式 binlog • 每张表必须有检测冲突的主键 • 目前最多只支持 9 个节点 • loose-group_replication_ • group_name • start_on_boot • local_address0 码力 | 42 页 | 4.77 MB | 1 年前3
 谈谈MYSQL那点事少碎片、支持大文件、能够进行索引压缩 少碎片、支持大文件、能够进行索引压缩 • 二进制层次的文件可以移植 二进制层次的文件可以移植 (Linux (Linux   Windows) Windows) • 访问速度飞快,是所有 访问速度飞快,是所有 MySQL MySQL 文件引擎中速度最快的 文件引擎中速度最快的 • 不支持一些数据库特性,比如 事务、外键约束等 不支持一些数据库特性,比如 Space Table Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) • 支持 事务、外键约束等数据库特性 支持 事务、外键约束等数据库特性 • Rows level lock , Rows level lock , 读写性能都非常优秀 读写性能都非常优秀 • 能够承载大数据量的存储和访问0 码力 | 38 页 | 2.04 MB | 1 年前3 谈谈MYSQL那点事少碎片、支持大文件、能够进行索引压缩 少碎片、支持大文件、能够进行索引压缩 • 二进制层次的文件可以移植 二进制层次的文件可以移植 (Linux (Linux   Windows) Windows) • 访问速度飞快,是所有 访问速度飞快,是所有 MySQL MySQL 文件引擎中速度最快的 文件引擎中速度最快的 • 不支持一些数据库特性,比如 事务、外键约束等 不支持一些数据库特性,比如 Space Table Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) • 支持 事务、外键约束等数据库特性 支持 事务、外键约束等数据库特性 • Rows level lock , Rows level lock , 读写性能都非常优秀 读写性能都非常优秀 • 能够承载大数据量的存储和访问0 码力 | 38 页 | 2.04 MB | 1 年前3
 MySQL高可用 - 多种方案是我的 master 和 backup 的主机名 10.1.1.113 dbserver 10.1.1.75 puppet  Authkerys 的配置 这个文件用来配置密码认证方式,支持3种认证方式,crc,md5和sha1, 从左到右安全性越来越高,消耗的资源也越多。因此如果 heartbeat 运行在安全的网路之上,比如私网,那么可以将验证方式设置成 crc, master 和 master 和 backup 的主机名 10.1.1.113 dbserver1 10.1.1.108 dbserver2  Authkerys 的配置 这个文件用来配置密码认证方式,支持3种认证方式,crc,md5和sha1, 从左到右安全性越来越高,消耗的资源也越多。因此如果 heartbeat 运行在安全的网路之上,比如私网,那么可以将验证方式设置成 crc, master 和0 码力 | 31 页 | 874.28 KB | 1 年前3 MySQL高可用 - 多种方案是我的 master 和 backup 的主机名 10.1.1.113 dbserver 10.1.1.75 puppet  Authkerys 的配置 这个文件用来配置密码认证方式,支持3种认证方式,crc,md5和sha1, 从左到右安全性越来越高,消耗的资源也越多。因此如果 heartbeat 运行在安全的网路之上,比如私网,那么可以将验证方式设置成 crc, master 和 master 和 backup 的主机名 10.1.1.113 dbserver1 10.1.1.108 dbserver2  Authkerys 的配置 这个文件用来配置密码认证方式,支持3种认证方式,crc,md5和sha1, 从左到右安全性越来越高,消耗的资源也越多。因此如果 heartbeat 运行在安全的网路之上,比如私网,那么可以将验证方式设置成 crc, master 和0 码力 | 31 页 | 874.28 KB | 1 年前3
 TokuDB索引结构MongoDB Server层代码 InnoDB TokuDB MyISAM MySQL Server层 MySQL Storage层 Linux 文件系统层 TokuDB特点 • 支持事务(ACID)的MySQL存储引擎 • 插入性能大大高于InnoDB(分形树vs B+树) • 查询性能略低于InnoDB • 在线执行DDL操作(不阻塞写操作) • 超高压缩率(TokuDB 4M0 码力 | 19 页 | 1.97 MB | 1 年前3 TokuDB索引结构MongoDB Server层代码 InnoDB TokuDB MyISAM MySQL Server层 MySQL Storage层 Linux 文件系统层 TokuDB特点 • 支持事务(ACID)的MySQL存储引擎 • 插入性能大大高于InnoDB(分形树vs B+树) • 查询性能略低于InnoDB • 在线执行DDL操作(不阻塞写操作) • 超高压缩率(TokuDB 4M0 码力 | 19 页 | 1.97 MB | 1 年前3
共 11 条
- 1
- 2













