SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
www.vmcd.org
MySQL 管理和架构介绍
平安健康的 MySQL 开发,测试,以及产品环境介绍
目前所有系统均为 mysql 分为 office (开发) 测试,线上网段 目前测试线上均为杭州机房网段。
开发/10.0.128 网段 测试 业务+性能/10.128.240 网段 线上/10.128.6 网段
给个例子:
目前 user 库的线上为 10.128.6.x 网段 使用 TDDL 做水平拆分,分布在两台物理机器 测试网段为 10.128.240.x 网段 没有使用
TDDL 全部库均在一台 DB 上 开发网段为 10.0.128.x 处于逐渐淘汰状态。
目前所有 mysql 版本均为 5.6.17 所有开发测试环境均需要与线上统一,遗留的历史问题如 diamond 数据库后续也会升级到 5.6 版本
www.vmcd.org
MySQL 的主从模式介绍以及变种
目前主要采用 M-S 架构 即 master 通过逻辑 SQL 语句复制到 slave 机器 , slave 目前均为备份机器 没有提供查询服务。
具体过程为 master 操作写入本地 binlog -> 通过 dump 进程读入到 slave 本地 relay log –> slave 回放 relay log 完成复制。
此过程中 可能出现瓶颈的地方为 本地 binlog 的写入 ,dump 读取的速率,网络的传输延迟,relay log 的写入,以及 relay log 的 apply
速率。
www.vmcd.org
另外的一些复制架构:
双 MM 架构:
两边同为 master 通过 PK offset 控制不相互冲突 ,对于 M-S 架构的优势为 两台 DB 均对外提供服务。
两台 mysql 互写 binlog 各自维护自己的 local relay-log。可以配合 keepalived 等第三方 HA 软件来实现 MySQL 高可用。
www.vmcd.org
Google MMM 架构
通过 Monitor 节点实现两个 master 节点的监控,此架构兼顾了 M-M 以及 HA 的自动切换,通过 VIP 的切换实现对业务的透明。
具体过程:如果 master 1 down 掉 首先 remove 掉 vip1,show master status ,Change master to POS .改变 slave 3 slave 4 的 master
为 master 2 online vip1 在 master 2 上。
www.vmcd.org
MHA 架构 -- Now we used
具体步骤: 首先在备选 slavei 上执行完有所 event 从最近的 latest slave apply log – recover slavei, 从 master 上的 binlog
read 成一个 single file (gap between latest slave and master) – recover slavei 在 recover 的过程中同时 parallel recover
slaves。
MHA 的优势,可以自动 recover slave 自动 change master VIP 的转移也是随 master 的转变而迁移.对业务透明。 可以集中化管理
www.vmcd.org
可以在一个 IDC 部署多个 manager 监控集群 (one manager node multi server db) 也可以在多个 IDC 部署不是多个 manager
MHA 目前来说是一个最好的解决方案,很多公司在使用 例如 Facebook DeNA Booking YHD Alibaba 等。
www.vmcd.org
Other HA solutions:
1. Shared disk with SAN 优势:不会发生数据丢失 劣势: SAN 硬件成本 以及存储硬件成本,网络的复杂性。
www.vmcd.org
2. DRDB Block replication 优势: 更低的复制延迟 劣势: 不能做负载均衡 复杂的配置 不可控
www.vmcd.org
3. Gelera replication 优势:负载均衡 多主节点读写 没有延迟 劣势:写多份 block 更多的 lock 问题 DDL 问题 不稳定
www.vmcd.org
4. MySQL cluster NDB 优势: 数据分片存储 劣势 : 查询的限制 (根据 fragment) join 困难 目前不稳定。
另外的架构 主要为第三方 tools 的使用例如:keepalived+ M-S ,heartbeat, tungsten 复制 等这里不再详述。
www.vmcd.org
MySQL 的常用工具介绍
线上 MySQL 采用 xtrabackup 备份,另外 master slave 架构中的 slave 也会充当 cold backup 的角色。使用 python 脚本 调用
xtrabackup 进程在线备份。
目前 mysql 迁移主要使用如下工具:
逻辑导入导出: mysqldump, mysqldumper, mysqlcopy
物理备份恢复: xtrabackup innodb-hotbackup (商业)
Binlog 备份 --- 可用于多种架构设计 : binlog-server (SkySQL) mysqlbinlog-remotebackup
http://blog.booking.com/mysql_slave_scaling_and_more.html
https://mariadb.com/blog/mariadb-replication-maxscale-and-need-binlog-server/
www.vmcd.org
我们现在的备份策略 –
1. 通过读取字典表自定义备份数据库 (每天一次全备份)
2. 通过 mariadb 汇总的备份
http://www.vmcd.org/2014/05/multi-master-rep-in-mysql-db/
3. 通过 slave 充当备份 (后期可能用于读负载均衡)
www.vmcd.org
平安健康的 MySQL 线上架构介绍
目前我们采用 MHA 作为 MySQL 高可用架构,目前最重要的两套数据库 user,pay 分别采用 TDDL,钆账功能 保证数据的可靠性
LVS 替代 haproxy NS 作为 7 层负载均衡 IM 业务,NS7 层负载 WEB 业务。
我们将来要实现的架构:
采用 backuped binlog 作为第三方 binlog 源 MHA 已经支持 保证在主 master 机器起不来的情况下 不丢失 binlog 。
MHA 采用第三方路由方式(已经实现),在跨 IDC 的应用中可以防止 MHA master 节点误判。
底层的 slave 分布式可以考虑采用 binlog-server 实现,以减小网络传输量(当然这个架构需要大量的 slave 情况下才有明显的作
用) 总体架构为:TDDL+ MHA + binlog-backup + monitor
www.vmcd.org
Mysql
Mysql
NS
LVS
MHA
VIP
MariaDB汇总
Xtrabackup
Binlog-server
Mysql
Mysql
Mysql
Slave Slave
Mysql
Db_monitor
Middle Layer
VIP
www.vmcd.org
关于中间层:
目前使用 TDDL+Tair 水平拆库策略 即:APP --> 水平拆分到 10 个 database --> 每个 DB 10 张 table.
Cache 层由 tair 实现, 目前冗余量为 10 亿,基本满足了业务需求。另外关于 MySQL 的特殊性,需要另外一些系统以及硬件的辅助。
附 tair + TDDL 架构图:
Tair TDDL

Más contenido relacionado

La actualidad más candente

MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)
Feng Yu
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构
Cosey Lee
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年
yp_fangdong
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
Louis liu
 
OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案
freezr
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
freezr
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Feng Yu
 
Oracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDFOracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDF
Ethan M. Liu
 
数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会
freezr
 

La actualidad más candente (18)

MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
 
OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
 
内存数据库[1]
内存数据库[1]内存数据库[1]
内存数据库[1]
 
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
 
Linux内存管理
Linux内存管理Linux内存管理
Linux内存管理
 
Oracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDFOracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDF
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
 
腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨
 
构建基于Lamp的中型网站架构
构建基于Lamp的中型网站架构构建基于Lamp的中型网站架构
构建基于Lamp的中型网站架构
 
数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会
 
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
 
大规模数据库存储方案
大规模数据库存储方案大规模数据库存储方案
大规模数据库存储方案
 

Destacado

Architecture of YHD
Architecture of YHDArchitecture of YHD
Architecture of YHD
Louis liu
 
Sql to-mongo db
Sql to-mongo dbSql to-mongo db
Sql to-mongo db
Louis liu
 
淘宝前端架构(玉伯)[懒懒交流会#38]
淘宝前端架构(玉伯)[懒懒交流会#38]淘宝前端架构(玉伯)[懒懒交流会#38]
淘宝前端架构(玉伯)[懒懒交流会#38]
taobao.com
 
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summary
Louis liu
 
Οι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό Λογισμικό
Οι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό ΛογισμικόΟι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό Λογισμικό
Οι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό Λογισμικό
Vasilis Sotiroudas
 
εργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευση
εργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευσηεργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευση
εργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευση
Vasilis Sotiroudas
 

Destacado (20)

My sql fabric ha and sharding solutions
My sql fabric ha and sharding solutionsMy sql fabric ha and sharding solutions
My sql fabric ha and sharding solutions
 
Recent my sql_performance Test detail
Recent my sql_performance Test detailRecent my sql_performance Test detail
Recent my sql_performance Test detail
 
Architecture of YHD
Architecture of YHDArchitecture of YHD
Architecture of YHD
 
MyAWR another mysql awr
MyAWR another mysql awrMyAWR another mysql awr
MyAWR another mysql awr
 
Oracle dgha
Oracle dghaOracle dgha
Oracle dgha
 
MySQL Tokudb engine benchmark
MySQL Tokudb engine benchmarkMySQL Tokudb engine benchmark
MySQL Tokudb engine benchmark
 
Sql to-mongo db
Sql to-mongo dbSql to-mongo db
Sql to-mongo db
 
淘宝前端架构(玉伯)[懒懒交流会#38]
淘宝前端架构(玉伯)[懒懒交流会#38]淘宝前端架构(玉伯)[懒懒交流会#38]
淘宝前端架构(玉伯)[懒懒交流会#38]
 
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summary
 
Paxos building-reliable-system
Paxos building-reliable-systemPaxos building-reliable-system
Paxos building-reliable-system
 
Exadata best practice on E-commerce area
Exadata best practice on E-commerce area Exadata best practice on E-commerce area
Exadata best practice on E-commerce area
 
N-layer design & development
N-layer design & developmentN-layer design & development
N-layer design & development
 
可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释
 
PInterview
PInterviewPInterview
PInterview
 
φεκ μητρώο εκπαιδευτών ενηλίκων
φεκ μητρώο εκπαιδευτών ενηλίκωνφεκ μητρώο εκπαιδευτών ενηλίκων
φεκ μητρώο εκπαιδευτών ενηλίκων
 
Gaim cognos guidance service 2011 v1
Gaim cognos guidance service 2011 v1Gaim cognos guidance service 2011 v1
Gaim cognos guidance service 2011 v1
 
How are you
How are youHow are you
How are you
 
Οι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό Λογισμικό
Οι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό ΛογισμικόΟι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό Λογισμικό
Οι Θεωρίες Μάθησης και η Ενσωμάτωσή τους στο Εκπαιδευτικό Λογισμικό
 
Fiches el
Fiches elFiches el
Fiches el
 
εργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευση
εργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευσηεργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευση
εργασίαςΗ διόρθωση των γραπτών εργασιών στην εξ αποστάσεως εκπαίδευση
 

Similar a Jkcn MySQLDB 架构

网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
Yu Lin
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计
YANGL *
 
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
Monster Supreme
 
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改
yp_fangdong
 
Cassandra的初步使用及一些简单的操作
Cassandra的初步使用及一些简单的操作Cassandra的初步使用及一些简单的操作
Cassandra的初步使用及一些简单的操作
zhubin885
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
锐 张
 
基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开
YANGL *
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
redhat9
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层
yp_fangdong
 

Similar a Jkcn MySQLDB 架构 (20)

网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
淘宝Java中间件之路 it168
淘宝Java中间件之路 it168淘宝Java中间件之路 it168
淘宝Java中间件之路 it168
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计
 
虎扑基础设施架构探讨
虎扑基础设施架构探讨虎扑基础设施架构探讨
虎扑基础设施架构探讨
 
20120613联动优势数据访问层DAL架构和实践4(刘胜)最新特性
20120613联动优势数据访问层DAL架构和实践4(刘胜)最新特性20120613联动优势数据访问层DAL架构和实践4(刘胜)最新特性
20120613联动优势数据访问层DAL架构和实践4(刘胜)最新特性
 
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
 
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
 
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
 
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改
 
Cassandra的初步使用及一些简单的操作
Cassandra的初步使用及一些简单的操作Cassandra的初步使用及一些简单的操作
Cassandra的初步使用及一些简单的操作
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
 
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
 
8 集群
8 集群8 集群
8 集群
 
基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
 
数据访问层开发实践
数据访问层开发实践数据访问层开发实践
数据访问层开发实践
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层
 

Más de Louis liu

基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括
Louis liu
 
NetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage TestNetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage Test
Louis liu
 
Ssd gc review
Ssd gc reviewSsd gc review
Ssd gc review
Louis liu
 
Think of oracle and mysql bind value
Think of oracle and mysql bind value Think of oracle and mysql bind value
Think of oracle and mysql bind value
Louis liu
 
ION performance brief hp dl980-8b
ION performance brief   hp dl980-8bION performance brief   hp dl980-8b
ION performance brief hp dl980-8b
Louis liu
 
Advanced tips of dbms statas
Advanced tips of dbms statasAdvanced tips of dbms statas
Advanced tips of dbms statas
Louis liu
 
FusionIO iodrive2 vs LSI nytro vs VIRI Flashmax II
FusionIO  iodrive2 vs LSI nytro  vs VIRI Flashmax IIFusionIO  iodrive2 vs LSI nytro  vs VIRI Flashmax II
FusionIO iodrive2 vs LSI nytro vs VIRI Flashmax II
Louis liu
 
Mha procedure
Mha procedureMha procedure
Mha procedure
Louis liu
 

Más de Louis liu (20)

Tcpcopy benchmark
Tcpcopy benchmarkTcpcopy benchmark
Tcpcopy benchmark
 
JK Log-Center architect
JK Log-Center architectJK Log-Center architect
JK Log-Center architect
 
Wdt Test
Wdt TestWdt Test
Wdt Test
 
JKDB BACKUP Introduction
JKDB BACKUP IntroductionJKDB BACKUP Introduction
JKDB BACKUP Introduction
 
Infiniflash benchmark
Infiniflash benchmarkInfiniflash benchmark
Infiniflash benchmark
 
Nvmfs benchmark
Nvmfs benchmarkNvmfs benchmark
Nvmfs benchmark
 
MySQL 5.7 milestone
MySQL 5.7 milestoneMySQL 5.7 milestone
MySQL 5.7 milestone
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimization
 
MySQL async message subscription platform
MySQL async message subscription platformMySQL async message subscription platform
MySQL async message subscription platform
 
HBASE Performane Test
HBASE Performane TestHBASE Performane Test
HBASE Performane Test
 
基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括
 
NetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage TestNetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage Test
 
Ssd gc review
Ssd gc reviewSsd gc review
Ssd gc review
 
Think of oracle and mysql bind value
Think of oracle and mysql bind value Think of oracle and mysql bind value
Think of oracle and mysql bind value
 
ION performance brief hp dl980-8b
ION performance brief   hp dl980-8bION performance brief   hp dl980-8b
ION performance brief hp dl980-8b
 
How to study oracle by louis liu
How to study oracle by louis liu How to study oracle by louis liu
How to study oracle by louis liu
 
Advanced tips of dbms statas
Advanced tips of dbms statasAdvanced tips of dbms statas
Advanced tips of dbms statas
 
Optimizer in oracle 11g by wwf from ebay COC
Optimizer in oracle 11g by wwf from ebay COCOptimizer in oracle 11g by wwf from ebay COC
Optimizer in oracle 11g by wwf from ebay COC
 
FusionIO iodrive2 vs LSI nytro vs VIRI Flashmax II
FusionIO  iodrive2 vs LSI nytro  vs VIRI Flashmax IIFusionIO  iodrive2 vs LSI nytro  vs VIRI Flashmax II
FusionIO iodrive2 vs LSI nytro vs VIRI Flashmax II
 
Mha procedure
Mha procedureMha procedure
Mha procedure
 

Jkcn MySQLDB 架构

  • 1. www.vmcd.org MySQL 管理和架构介绍 平安健康的 MySQL 开发,测试,以及产品环境介绍 目前所有系统均为 mysql 分为 office (开发) 测试,线上网段 目前测试线上均为杭州机房网段。 开发/10.0.128 网段 测试 业务+性能/10.128.240 网段 线上/10.128.6 网段 给个例子: 目前 user 库的线上为 10.128.6.x 网段 使用 TDDL 做水平拆分,分布在两台物理机器 测试网段为 10.128.240.x 网段 没有使用 TDDL 全部库均在一台 DB 上 开发网段为 10.0.128.x 处于逐渐淘汰状态。 目前所有 mysql 版本均为 5.6.17 所有开发测试环境均需要与线上统一,遗留的历史问题如 diamond 数据库后续也会升级到 5.6 版本
  • 2. www.vmcd.org MySQL 的主从模式介绍以及变种 目前主要采用 M-S 架构 即 master 通过逻辑 SQL 语句复制到 slave 机器 , slave 目前均为备份机器 没有提供查询服务。 具体过程为 master 操作写入本地 binlog -> 通过 dump 进程读入到 slave 本地 relay log –> slave 回放 relay log 完成复制。 此过程中 可能出现瓶颈的地方为 本地 binlog 的写入 ,dump 读取的速率,网络的传输延迟,relay log 的写入,以及 relay log 的 apply 速率。
  • 3. www.vmcd.org 另外的一些复制架构: 双 MM 架构: 两边同为 master 通过 PK offset 控制不相互冲突 ,对于 M-S 架构的优势为 两台 DB 均对外提供服务。 两台 mysql 互写 binlog 各自维护自己的 local relay-log。可以配合 keepalived 等第三方 HA 软件来实现 MySQL 高可用。
  • 4. www.vmcd.org Google MMM 架构 通过 Monitor 节点实现两个 master 节点的监控,此架构兼顾了 M-M 以及 HA 的自动切换,通过 VIP 的切换实现对业务的透明。 具体过程:如果 master 1 down 掉 首先 remove 掉 vip1,show master status ,Change master to POS .改变 slave 3 slave 4 的 master 为 master 2 online vip1 在 master 2 上。
  • 5. www.vmcd.org MHA 架构 -- Now we used 具体步骤: 首先在备选 slavei 上执行完有所 event 从最近的 latest slave apply log – recover slavei, 从 master 上的 binlog read 成一个 single file (gap between latest slave and master) – recover slavei 在 recover 的过程中同时 parallel recover slaves。 MHA 的优势,可以自动 recover slave 自动 change master VIP 的转移也是随 master 的转变而迁移.对业务透明。 可以集中化管理
  • 6. www.vmcd.org 可以在一个 IDC 部署多个 manager 监控集群 (one manager node multi server db) 也可以在多个 IDC 部署不是多个 manager MHA 目前来说是一个最好的解决方案,很多公司在使用 例如 Facebook DeNA Booking YHD Alibaba 等。
  • 7. www.vmcd.org Other HA solutions: 1. Shared disk with SAN 优势:不会发生数据丢失 劣势: SAN 硬件成本 以及存储硬件成本,网络的复杂性。
  • 8. www.vmcd.org 2. DRDB Block replication 优势: 更低的复制延迟 劣势: 不能做负载均衡 复杂的配置 不可控
  • 9. www.vmcd.org 3. Gelera replication 优势:负载均衡 多主节点读写 没有延迟 劣势:写多份 block 更多的 lock 问题 DDL 问题 不稳定
  • 10. www.vmcd.org 4. MySQL cluster NDB 优势: 数据分片存储 劣势 : 查询的限制 (根据 fragment) join 困难 目前不稳定。 另外的架构 主要为第三方 tools 的使用例如:keepalived+ M-S ,heartbeat, tungsten 复制 等这里不再详述。
  • 11. www.vmcd.org MySQL 的常用工具介绍 线上 MySQL 采用 xtrabackup 备份,另外 master slave 架构中的 slave 也会充当 cold backup 的角色。使用 python 脚本 调用 xtrabackup 进程在线备份。 目前 mysql 迁移主要使用如下工具: 逻辑导入导出: mysqldump, mysqldumper, mysqlcopy 物理备份恢复: xtrabackup innodb-hotbackup (商业) Binlog 备份 --- 可用于多种架构设计 : binlog-server (SkySQL) mysqlbinlog-remotebackup http://blog.booking.com/mysql_slave_scaling_and_more.html https://mariadb.com/blog/mariadb-replication-maxscale-and-need-binlog-server/
  • 12. www.vmcd.org 我们现在的备份策略 – 1. 通过读取字典表自定义备份数据库 (每天一次全备份) 2. 通过 mariadb 汇总的备份 http://www.vmcd.org/2014/05/multi-master-rep-in-mysql-db/ 3. 通过 slave 充当备份 (后期可能用于读负载均衡)
  • 13. www.vmcd.org 平安健康的 MySQL 线上架构介绍 目前我们采用 MHA 作为 MySQL 高可用架构,目前最重要的两套数据库 user,pay 分别采用 TDDL,钆账功能 保证数据的可靠性 LVS 替代 haproxy NS 作为 7 层负载均衡 IM 业务,NS7 层负载 WEB 业务。 我们将来要实现的架构: 采用 backuped binlog 作为第三方 binlog 源 MHA 已经支持 保证在主 master 机器起不来的情况下 不丢失 binlog 。 MHA 采用第三方路由方式(已经实现),在跨 IDC 的应用中可以防止 MHA master 节点误判。 底层的 slave 分布式可以考虑采用 binlog-server 实现,以减小网络传输量(当然这个架构需要大量的 slave 情况下才有明显的作 用) 总体架构为:TDDL+ MHA + binlog-backup + monitor
  • 15. www.vmcd.org 关于中间层: 目前使用 TDDL+Tair 水平拆库策略 即:APP --> 水平拆分到 10 个 database --> 每个 DB 10 张 table. Cache 层由 tair 实现, 目前冗余量为 10 亿,基本满足了业务需求。另外关于 MySQL 的特殊性,需要另外一些系统以及硬件的辅助。 附 tair + TDDL 架构图: Tair TDDL