开放平台下数据库高性能高可用方案


开放平台下数据库高性能 高可用方案 陈栋@沃趣科技 CEO @沃趣科技 概况  成立于2012年6月,由原阿里巴巴DBA/SA团队的技术骨干组成的创业团队  多年运维经验,技术领域涉及Oracle、MySQL、系统和运维自动化 服务  数据库和系统的架构设计、优化、实施  开放平台技术推广:开源数据库,Linux,中间件,Flash 产品  QData : 高性能数据库一体机  QGuard : 数据库高可用平台  QMonitor : 数据库监控平台 优势  十年互联网运维理念  百TB数据高效处理能力  千套数据库和系统综合能力  万台服务器架构设计能力  自主研发的数据库运维产品 核心成员  陈栋(@grassbell)创始人CEO 阿里巴巴工作8年,任DBA团队资深经理。经历了Oracle从PC Server+磁盘阵列 到IBM小型 机+高端存储的升级,也经历了从集中式Oracle 到分布式MySQL的变迁。  李建辉 专注系统 曾在阿里巴巴从事系统、存储等维护、管理工作9年。经历阿里巴巴从百万到亿级PV,熟知 在各种时期压力下网站架构、性能优化。  罗春 专注Oracle数据库 原阿里巴巴高级数据库专家,Oracle DBA团队技术Leader,负责上百套Oracle数据库的运维 。擅长数据库优化设计,方案架构,提倡数据库运维自动化。  熊中哲 专注运维自动化 原阿里巴巴高级数据库工程师,负责数据仓库Oracle RAC数据库运维。专注于Oracle和 MySQL的线上自动化运维方案的设计与实现。  李春 专注MySQL数据库 原阿里巴巴MySQL DBA团队技术leader,管理超过3000个MySQL实例。实现阿里第一个将 3亿产品从Oracle+小型机到MySQL+PC Server的平滑迁移。 那些年,从屌丝到土豪  04年:阿里的数据库没几台,都运行在PC服务器上,压力增长很快,宕机 已经变成习惯  05年:中国互联网界第一台IBM小型机在阿里落户,从此阿里数据库都逐 渐变成了IBM+Oracle+EMC  07年:这几年,阿里业务增长非常迅猛,但数据库一直很稳定,DBA的生 活很安逸,技术没有太多突破  08年:突飞猛进的业务压力,使得小型机和高端存储不断扩容,成本压力 巨大。我们突然意识到,被绑架了 那些年,从集中式Oracle到分布式MySQL  09年:开始尝试把一些不重要的业务迁移到MySQL上,核心业务开始梳 理接口,为未来迁移到MySQL做到分库分表做准备,同时培养MySQL 人 才  10年:对MySQL的信心越来越足,一些核心应用逐渐迁从Oracle移到 MySQL,中文站3亿Offer,淘宝的收藏夹(分别是阿里和淘宝历史上最大 数据量的业务)。基于MySQL的分布式管理系统诞生,奠定了今后数据库 水平扩展及高可用的架构。数据库PC服务器超过400台  11年:淘宝最核心的用户中心、商品完成从集中式到分布式的迁移,连交 易系统也开始向MySQL迁移。数据库PC服务器超过1300台  12年:hbase,oceanbase,mongodb,greenplum,hadoop 如今…  整个阿里集团全面去掉了小型机和高端存储,数据库全部运行在PC服务器 上,配置SSD或者PCIe Flash  除了支付宝核心账务系统依然使用Oracle数据库,其他所有核心在线业务 全部使用分布式MySQL  海量数据分析业务,运行在阿里基于对Hadoop改造的云梯平台,接近2万 台服务器  自主研发关系型数据库OceanBase,其他nosql的尝试…  阿里集团超过100个DBA,1/3负责系统,2/3负责应用支持 为什么去IOE  成本压力  Oracle license虽然签署了ULA协议,但平均下来也是每年超过千万的费用  淘宝双11交易额:10年9.36亿,11年33.6亿,12年191亿,13年350亿  淘宝09年小型机和高端存储预算是nkw,如果还是这个架构,到2013年双十一 …….  避免商业产品的绑架  技术团队需要具备将数据可以迁移到任何一种数据库平台的能力  技术领先性的驱动  阿里要成为互联网企业中的技术领头羊  100+的DBA团队  5000+ 的技术团队 · 主数据库 · 物理HA备机 · 实时Dataguard · 延时Dataguard · 主数据库存储 · DG数据库存储 · 存放主数据库Online Redo的一组Member, 保障切换DG后数据0丢失 传统数据库架构 稳定;成本高;黑盒子;难扩展 小型机 vs PC服务器  X86 cpu与Power cpu的对比(spec)  HP ProLiant DL560 Gen8 (2.70 GHz,32core, Intel Xeon E5-4650) SPECint_rate2006 =1240  IBM Power 750 Express (3.3 GHz, 32 core) SPECint_rate2006 =1010  稳定性是核心问题  中国银行大型机宕机4小时  阿里小型机稳定运行7年后,宕机5小时  基于PC服务器高可用方案  Dataguard HA  共享存储架构HA Dataguard HA Primary DB Dataguard Maxium Avaliable VIP gateway 1.update xdual(heartbeat) 2.检查备库恢复延迟 QGuard HA系统 3.ping网关确定不是孤岛 Primary DB Dataguard VIP gateway 1.自动切换数据库,可能丢数据 正常状态 发生切换 3.极端情况下可强行poweroff 服务器 2.漂移VIP QGuard HA系统 共享存储架构HA Primary DB Standby DB VIP gateway 1.update xdual(heartbeat) 2.检查备机状态是否正常 3.ping网关确定不是孤岛 正常状态 发生切换 4.poweroff原主库服务器 1.将共享存储挂 载到备用服务器 2.在备用服务器上启动 数据库实例,成为新主 库,数据零丢失 VIP 3.新主库接管VIP, 提供数据库服务 共享存储,存放数据文件 共享存储,存放数据文件 QGuard HA系统 QGuard HA系统 高端存储 vs Flash技术 存储设备 SAS磁盘 SSD PCIe Flash IOPS 150~200 6,000 100,000 Throughput 150MB/s 250MB/s 1.5GB/s Latency 10ms 100us 30us 互联设备 Ethernet SAN Infiniband Bandwidth 1~10Gb/s 8~16Gb/s 40~56Gb/s Latency 10us 2us 200ns PCIe Flash IOPS 吞吐 成本 高端存储(200块磁盘) 5万 700MB 超过百万 PCIe Flash 10万 1.5GB 1/10 VS 可用性 • 类似Raid5+hotspare • MLC 10000次擦写 320G 可写 4PB • 受PC服务器影响 扩展性 • 容量单卡超过3TB • 受限于PCIe插槽数量 TCO • 服务器数量缩减8:1 • 省机架、省电 • 管理方便,运维成本降低 Primary DB Dataguard Maxium Avaliable VIP gateway 1.update xdual(heartbeat) 2.检查备库恢复延迟 3.ping网关确定不是孤岛 正常状态 发生切换 4.poweroff原主库服务器 1.将共享存储挂 载到备用服务器 2.备库将自己的datafile, 应用原主库online redo\ctrl\spfile恢复,保证数 据零丢失,将备库切换到主库 VIP 3.新主库接管VIP, 提供数据库服务 · 主、备库数据文件存放于本地flash设备上获得高IO · 共享存储,只存放主库online redo、ctrl、spfile QGuard HA系统 QGuard HA系统 共享Redo+Flash的架构—支付宝 Infiniband 计算节点 高配PC服务器,运行Oracle 11g R2, 支持单实例和RAC架构,提供数据运算服务. 经过验证的OS及版本: · Linux (RHEL 5.*,6.3) · CentOS(RHEL 5.*,6.3) · SUSE(11.1,11.2) 高速互联 基于Infiniband的低延迟(端到端延迟200ns以内) 、高带宽互联技术,用于将存储节点的Flash和磁盘 资源输出到计算节点,供数据库使用。 存储节点 配置Flash卡和SAS磁盘,提供数据存储服务。 输出方式: · 基于rdma相关的存储协议实现Infiniband 40/56Gb输出 · FC 4/8Gb,FCoE 10Gb Infiniband QLink QLink QData数据库一体机架构 与传统架构对比 传统架构 QData 计算能力 IBM Power6:(4 cpu×8 core ×16线程,4.7GHz) SPEC 得分: 206 Intel X5570:(4cpu×8 core ×16线程,2.93GHz) SPEC 得分:243 网络互联 设备:FC SAN 带宽:8~16Gb 延时:2µs级别 设备:Infiniband 带宽:主流为40Gb 延时:200ns左右 存储性能 介质:SAS机械磁盘 延时:6ms 吞吐(单块盘):150MB左右 IOPS(单块盘):160左右 配置200块磁盘的存储,可提供5 万IOPS及700MB/s吞吐能力 介质:Flash卡技术 延时:10µs级别 吞吐(单块盘):1.5GB/s IOPS(单块盘):20w左右 最低配置3个存储节点即可提供 14万IOPS和4GB的吞吐能力 整体投入 非常高 价格透明,50%以内 QData一体机配置 配置清单与技术指标 组件 类型 硬件详细配置 数量 CPU 内存 磁盘 计算节点 服务器 Intel E5-2640*2 或 96GB SAS 15K 450GB*6 2 AMD Opteron 6274*2 存储节点 服务器 Intel E5-2600*1 或 24GB SAS 15K 450GB*6 3 AMD Opteron 6212*1 Flash卡 PCIe Flash卡 3 交换机 IB交换机 Mellanox 36-port Grid Director 4036 Series Switches 2 HCA卡 ConnectX®-3 VPI adapter card, dual-port QSFP 7 IB数据线 Mellanox copper cable 16 容量、性能指标总揽 裸容量(TB) 可用容量(TB) 混合IOPS (75/25 r/w) 吞吐量 延迟 Flash 卡 磁盘 Flash卡 磁盘 140000 4GB/s <2ms 3.84 13.5 1.92 6.75 数据库 Failover指标总揽 链路切换 存储节点切换 计算节点切换 <2s <15s <3s QData一体机产品优势  开放  使用x86通用平台、PCIe Flash高性能存储卡替代封闭体系的小型机 、高端存储  定制  基于用户需求提供定制化的计算性能和存储容量  高性能  5~10倍于传统架构的性能提升,在OLTP场景下性能不低于Oracle Exadata  高可用  计算层、互联层、存储层无单点,全冗余  高性价比  低于传统架构50%的成本,专业的产品服务团队 QData一体机成功案例  中国移动浙江公司手机阅读基地  3个计算节点、3个存储节点、7.68TB Flash容量的QData,实现 在8k 随机IO下10GB/s吞吐(7GB写,3GB读),50万IOPS的 存储性能,数据库处理能力得到10倍以上的提升。  平安金融科技  2个计算节点、3个存储节点、4.8TB Flash容量的QData,实现 4GB/s吞吐,14万IOPS的存储性能,替代了之前HP小型机、高 端存储的架构,节省成本50%以上。稳定运行半年后,镜像站点 也采用同样的方案进行了实施。 Oracle vs MySQL or NoSQL  Oracle  商业软件,数据库巨人  稳定,功能强大,代码严谨,极少低级bug  license很贵,软件黑盒子,属于重量级数据库  适合传统行业,业务场景复杂,对数据库稳定性要求非常高的业务(运营商、 政府、银行)  MySQL  开源免费,轻量级数据库  开放、活跃的社区,优秀的开源分支Percona、MariaDB  扩展性好,可定制,地雷多  适合于变化非常快的互联网,业务场景简单,数据量急剧膨胀,但数据的重要 性相对不那么care  NoSQL  针对特定场景,社区不成熟,运维问题,昙花一现 slave1 slave2 slave3 master MySQL常用架构 一主多从 数据恢复 Dead Master Latest Slave Slave(i) 2 3 4 1 数据恢复: 1.等待Slave的SQL thread执行完所有的events 2.补齐Partial Transaction,并应用 3.将Latest Slave新于其他Slave的数据应用 4.将Dead Master新于Latest Slave的数据应用到所有slave 主备切换: a.尽可能保存master的binlog b.寻找Latest Slave,应用其差异binlog到其他Slave c.将保存的master的binlog应用到所有slave d.选定某个slave为新master,修改其他slave指向它 5.6 Global Transaction ID db1 db2 db3 DB proxy db1' db2' db3' 。。。。。。 APP 常用MySQL架构 单机多实例 • Flash存储, Flashcache、Flashdisk • Numa、CGroup,分配CPU内存资源 • 网卡软中断 技术点 • DB proxy,数据路由+HA • 牺牲跨库join和事务 • SQL都要有分库键条件 Sharding QData for MySQL一体机架构  QLink主备高速互联,binlog数据共享,确保主备之间数据零丢失,且备库可读  对于一主多从架构,主库可自动故障切换,对所有从库透明,并继续复制  多年运维经验的配置最佳实践,集成QMonitor监控平台,QGuard高可用系统  嵌入高性能PCIe Flash技术提升IO性能 南方航空MySQL读写分离  客户的困境  数据库软硬件成本巨大  从封闭架构到开源架构的尝试与技术积累  我们的服务  将在AIX平台和Window平台的Websphere逐步替换成Linux REHL+apache+tomcat  提供Oracle向MySQL全量同步和增量同步的方案和软件  对客户的价值  数据库性能得到最大提升  使用MySQL进行读写分离, 推广MySQL在南航的使用  培养和锻炼一批熟悉开源架构 和数据库的人才 广东电信院线通  用户的压力  秒杀业务对系统冲击巨大  第三方支付系统可用性不可控  业务发展迅猛,即将覆盖全国  我们的服务  现有系统Oracle优化  业务流程梳理,拆分锁,缓存刷新,排队提交  采用分布式架构,迁移到MySQL  采用PC Server + Flash存储,降低成本,提升性能  对客户的价值  数据库性能提升10倍以上,同时极大降低软硬件成本  提升系统可用性,彻底解决“秒杀”  对MySQL进行了尝试,为以后使用开源数据库进行了技术积累 去IOE能为企业节省多少成本? 去小型机 相对简单,基本就是硬件的替换 成本上就是小型机和PC服务器的对比 去存储 涉及到数据库架构的改造,使用PC Server+Flash替代高端存储 支付宝用到的共享redo方案,QData一体机方案 去Oracle使用MySQL 可以减少Oracle license的成本 应用改造、人力投入成本巨大,甚至超过去IOE成本的降低 可以解决压力水平扩展的问题 但是并不是所有的应用场景都适合使用分布式MySQL 企业要想好适不适合做,做到什么程度? 数字化运维—QMonitor监控平台 浙江移动手机阅读基地  项目:核心数据库容灾架构优化 优化前 : 采用存储级别块复制方案,实现跨机房异地容灾,容灾系统不可验证 优化后 : 使用基于Oracle 11G Rac Active DataGuard 架构  我们的服务 验证方案可行性 确定切换,实施,验证方案 有效的监控和自动化运维 维护演练,切换时间可以控制在15分钟以内  QMonitor监控平台 沃趣科技自主开发的针对Oracle和MySQL的专业实用的数据库监控平台 零客户端 分布式架构 功能实用 运维自动化 低学习成本 高度可定制 服务一体化 数字化运维—QMonitor监控平台 1. 迁移后台运算任务,降低Oracle日志量,并实施监控Redo Size变化(保证在40M以 内),以保障实时恢复要求。 数字化运维—QMonitor监控平台 2. 容灾环境采用Oracle 11G Rac Active DataGuard, 控制容灾复制延迟在30秒以内, 并定制化实时监控备库延时。 数字化运维—QMonitor监控平台 3. 定制化统一的awr搜集分析平台,方便定位性能SQL,实现数据库的自动化运维 数字化运维—QMonitor监控平台 4、定制化RAC核心指标监控 数字化运维—QMonitor监控平台 客户&合作伙伴 合作伙伴 Q&A 陈栋 13396582815 微博/微信:grassbell 公司微博:@沃趣科技 官网:www.woqutech.com 邮件:donny.chen@woqutech.com
还剩33页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

x3bw

贡献于2014-07-21

下载需要 6 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf