Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波
同程旅游早期的数据库都以单库的MySQL。 ■ MySQL的单库,导致TPS最终还是会成为一个瓶颈。 ■ MySQL+DB中间件解决水平拆分问题。 ■ MySQL水平拆分的引入会使数据库实例数量大幅上升,传统运维手段维护成本高,交付能力差。 MySQL数据库为何要Docker化 1.MySQL数据库迅速爆炸式增长后,服务器规模不断增大,快速部署是个问题。 2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 2核4G 4核4G 4核8G 8核8G 8核16G 16核16G 16核64G 32核64G 32核128G 一主一从 分片集群 大容量磁盘SAS 配置 DB架构 硬件选型 机房 A机房 B机房 C机房 D机房 容器化之后的MySQL就是一个私有DB云 主 从 集 群 创 建 分 片 集 群 创 建 集 成 高 可 用 方 案 巨 细 无 遗 的 监 控 项 精 美 的 图 形 展 示 便 捷 的 告 警 管 理 慢 日 志 分 析 及 查 看 自 动 化 备 份 资 源 池 管 理 高 可 用0 码力 | 32 页 | 7.11 MB | 1 年前3MySQL高可用 - 多种方案
......................... 4 2.4.3 Mysql 的安装和配置 ........................................................................................ 4 2.4.4 Mysql 的主主同步配置 .................................... .................. 4 2.4.5 Lvs 的安装 ........................................................................................................ 4 2.4.6 Keepalived 的安装 ............................... ......... 5 2.4.7 Keepalived 的配置 .......................................................................................... 5 2.4.8 Master 和 backup 的 realserver 的配置 .............................0 码力 | 31 页 | 874.28 KB | 1 年前3谈谈MYSQL那点事
少碎片、支持大文件、能够进行索引压缩 少碎片、支持大文件、能够进行索引压缩 • 二进制层次的文件可以移植 二进制层次的文件可以移植 (Linux (Linux Windows) Windows) • 访问速度飞快,是所有 访问速度飞快,是所有 MySQL MySQL 文件引擎中速度最快的 文件引擎中速度最快的 • 不支持一些数据库特性,比如 事务、外键约束等 不支持一些数据库特性,比如 事务、外键约束等 • Table level lock Table level lock ,性能稍差,更适合读取多的操作 ,性能稍差,更适合读取多的操作 InnoDB InnoDB 特点 特点 •使用 使用 Table Space Table Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) 能够承载大数据量的存储和访问 能够承载大数据量的存储和访问 • 拥有自己独立的缓冲池,能够缓存数据和索引 拥有自己独立的缓冲池,能够缓存数据和索引 MySQL 架构设计—应用架构 强一致性 对读一致性的权衡,如果是对读写实时性要求非常高的话, 就将读写都放在 M1 上面, M2 只是作为 standby 。 比如,订单处理流程,那么对读需要强一致性,实时写实 时读,类似种涉及交易的或者动态实时报表统计的都要采0 码力 | 38 页 | 2.04 MB | 1 年前3MySQL 企业版功能介绍
ORACLE 产品介绍 MySQL 企业版 全球广受欢迎的开源数据库 重要特性 Oracle MySQL 服务云 MySQL 数据库 MySQL 企业级备份 MySQL 企业级高可用性 MySQL 企业级可扩展性 MySQL 企业级身份验证 MySQL 企业级 TDE Analyzer, 我们可以识别和分析存在问题的 SQL 代码,同时将数据库性能提 升两倍。更加重要的是,我们在三 天内就完成了这一任务,而过去则 需要数周之久。” —Keith Souhrada, 软件开发工程师, Big Fish Games MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 MySQL 可扩展性、安全性、可靠性和无故障运行时间。 MySQL 应用的过程中降低风险、削减成本和减 少复杂性。MySQL 企业版具有以下独特优势: 使用 Oracle MySQL 服务云轻松设置、运行和管理云中的 MySQL 使用 MySQL 分组复制来确保数据库的高可用性 通过 MySQL 企业级可扩展性应对指数级增长的用户和数据量 通过 MySQL 企业级备份执行热备份和恢复,从而降低数据丢失的风险0 码力 | 6 页 | 509.78 KB | 1 年前3MySQL 8.0.17 调优指南(openEuler 20.09)
旗下产品。MySQL是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 其 是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。 1.2 调优原则 性能调优从大的方面来说,在系统设计之初,需要考虑硬件的选择,操作系统的选 择,基础软件的选择;从小的方面来说,包括每个子系统的设计,算法选择,如何使 用编译器的选项,如何发挥硬件最大的性能等等。 在性能优化时,我们必须遵循一定的原则,否则,有可能得不到正确的调优结果。主 要有以下几个方面: ● 对性能进行分析时,要多方面分析系统的资源瓶颈所在,因为系统某一方面性能 低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时, 很可能是内存容量太小,因为CPU忙于处理内存调度。 ● 一次只对影响性能的某方面的一个参数进行调整,多个参数同时调整的话,很难 界定性能的影响是由哪个参数造成的。 ● 由于在进行系统性能分析时,性能分析工具本身会占用一定的系统资源,如CPU 资源、内存0 码力 | 11 页 | 223.31 KB | 1 年前3如何用 MySQL 构建全方位高可用应用
MySQL協助您搭建全方位的高可用應用 杜修文 甲骨文全球事業部 安全港声明 以下内容旨在阐明产品的整体方向。该内容仅供参考,不可纳入任何合同。该信息 不承诺提供任何资料、代码或功能,并且不应该作为制定购买决策的依据。本文档 所述的 Oracle 产品的任何特性或功能的开发、发行和时间规划均由 Oracle 自行决定。 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 2015,Oracle 和/或其附属公司。保留所有权利。 5 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 6 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 • MySQL Cluster 从数据库 • 会话线程:处理来自应用程序的查询 - 将 数据写入主数据库,将关联事件写入二进制 日志 • 转储线程:读取二进制日志中的事件,然后 将其发送到从数据库 • I/O 线程:接收复制事件,并将其存储在从 数据库的中继日志中 • SQL 线程:读取从数据库的中继日志中的复 制事件,然后将其应用到从数据库 MySQL 复制工作流 会话 二进制0 码力 | 40 页 | 2.19 MB | 1 年前3MySQL 数据库架构灾难恢复解决方案
以下内容旨在概述我们的一般产品方向。它仅供参考,不得纳入任何合同。它并不提供任何材料、代码或功能的承诺,不应据此做出购买决策。 Oracle 产品描述的任何特性或功能的开发、发布和时间安排仍由 Oracle 自行决定。 Copyright @ 2021 Oracle and/or its affiliates. 3 / 55 IT 灾难和中断:主要原因 停电是导致重大中断的最大原因 Copyright 超过一半经历过代价超过10 万美元的中断。 Copyright @ 2021 Oracle and/or its affiliates. 4 / 55 IT 灾难和中断:例子 5 小时的计算机中断代价 1.5 亿美元。该航空公司最终在停电当天取消 了约1,000 个航班,并在接下来的两天内停飞了另外1,000 个航班。 由于取消约130 个航班和延误200 个航班,成千上万的乘客滞留在世界各 地。 地。 在法国云服务irm 的故障后, 数百万个网站下线了。Anger 预计将使公司 损失超过1.05 亿欧元。 数以百万计的银行客户无法访问在线帐户。银行花了将近2天的时间才恢 复正常运作。 5 / 55 Copyright @ 2021 Oracle and/or its affiliates. 过去、现在和未来 Copyright @ 2021 Oracle and/or its0 码力 | 52 页 | 3.07 MB | 1 年前3使用 Docker 建立 MySQL 集群
(Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 最新版本,apt-get 中版本较老。 首先获取安装脚本: wget https://get.docker.com 下下来的虽然名字是 index.html,但其实是脚本文件,所以我们 chmod +x 安装完成后根据提示,可以将当前用户加到 docker 用户组里,这样就不用每次 执行 docker 都需要 sudo 了。 sudo usermod -aG docker <你的用户名> 对于 Centos6,首先要把企业常用软件包的软件源安装上 yum install epel-release 然后再 yum install docker-io 第二步 运行 Mariadb 容器 首先要将数据镜像拉下来 标签,docker 会把所有的镜像版本都拉下来。 然后我们就可以启动镜像了,参数方面需要注意的有一下几点: 1,-name <给容器取个好记的名称> 2,-e MYSQL_ROOT_PASSWORD =‘<给数据库一个 root 用户密码>’ 3,-p <映射到本机的端口>:3306 4,-v <本机的数据库存放目录>:/var/lib/mysql 5,设定 MYSQL_USER、MYSQL_0 码力 | 3 页 | 103.32 KB | 1 年前3Kubernetes Operator 实践 - MySQL容器化
关于我 搜狗商业平台研发部 资深开发工程师 l 主要从事商业平台研发工作,在构建高性能、高可用大规模 系统方面有丰富的实践经验 l 目前专注于云计算、DevOps 等相关领域,负责搜狗商业云 平台的设计研发工作 刘林 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 搜狗商业平台 技术体系广 服务多迭代快 搜狗产品矩阵 • 机器资源利用率不高 • 服务管理复杂 问题 有状态服务的需求越来越多 有状态服务容器化 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 无状态服务 服务调度 有状态服务集群 服务调度 状态保存 集群管理 有状态服务 服务调度 状态保存 带来的新挑战 服务调度 状态存储 集群管理 成员管理 扩缩容 扩缩容 故障迁移 高可用 CoreOS 提出了 operator Deployment StatefulSet PV/PVC StorageClass ?? 站在 Kubernetes 的肩膀上 An Operator is an application-specific controller that extends the Kubernetes API to create, configure0 码力 | 42 页 | 4.77 MB | 1 年前3运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳
并发执行 的事务在每个节点以相同的顺序被应用/执行.------paxos协 议的功能。 • 自动地事务冲突检测。节点之间不能”同时”操作主键相同 记录,如果冲突,只有一个节点成功。------冲突检测。 • 节点故障容忍度强。多数派原则,超过半数节点存活的集 群依然整体可用。------paxos协议。 • 更高级别地保证数据的一致性 ------vs mysql的异步/半同 步复制。 MGR�����:! • 将源自多个数据库节点并发无序的消息进行全局排序。目的 是保证每个节点执行的事务完全相同,顺序也相同。 • 所有的消息在各个节点处理动作完全相同,如果某个消息在 某个节点被丢弃(不处理 ,在其他节点也将被丢弃。 • 多数派原则,一个消息被超过半数的节点接收&”赞成”,则这 个消息将在全局生效,所有的节点都得执行(处理 这个消 息。 • Paxos��:! • 冲突检查是在执行消息(execute_msg)时发生.前提:消息已经被多数节 点接受。 • 所指的消息表示的是一个事务类型的消息,内容包含事务产生的binlog 以及冲突检测时使用到主键以及事务的数据快照版本(gtid_set) • 比较规则。将事务所涉及的主键以及数据版本信息(gtid_set)跟write set 里面的信息进行比较: 主键不存在与write0 码力 | 32 页 | 9.55 MB | 1 年前3
共 12 条
- 1
- 2