Alibaba 数据库运维最佳实践

phome12

贡献于2012-09-25

字数:0 关键词: 数据库服务器

Alibaba数据库运维最佳实践 张瑞 @ Alibaba运维部 Alibaba数据库发展历程 成长的烦恼 o  从PC服务器到小型机 o  集中式ORACLE数据库 o  可用性依赖高端硬件 o  性能无法线性扩展 解决方案 o  扩展性与高可用 o  分布式MySQL数据库集群  o  数据同步解决方案 o  基于日志解析的数据同步 o  提升数据库性能 o  SSD高性能数据库集群 Alibaba分布式数据库 分布式数据库架构 概述 o  MySQL数据库 o  应用透明访问 o  DB Proxy o  功能分区 o  数据分片 o  高可用,可扩展 o  性能与运维 缺点分析 o  应用受限 o  关系型弱化 o  不支持事务 功能增强 o  跨节点Join o  排序分页 数据切分策略-Virtual Partition Hash Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Physical node Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Physical node Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Physical node Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Physical node Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Physical node Physical node Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition Virtual partition MySQL高可用方案 •  基于MySQL复制 •  应用透明访问 •  探测机制简单 •  切换快,影响小 •  配置灵活,节省资源 •  DRBD+Heartbeat ? Master database Master database Heartbeat DB Proxy App Replication Heartbeat Connection pool 数据库高可用与硬件选型策略 ORACLE o  集中式架构 o  Shared-disk o  HA方案:商业软件 o  硬件选型策略 §  小型机,4路高性能PC §  性能,扩展性,可用性 §  外接存储设备 MySQL o  分布式架构 o  Shared-nothing o  HA方案:DB Proxy o  硬件选型策略 §  2路PC服务器 §  处理能力与IO均衡 §  SAS+SSD混插 数据同步解决方案 数据同步方案分析 为什么需要数据同步? o  多数据中心架构 o  系统之间的数据交互 o  跨平台数据库同步 o  数据库扩展性问题 现有解决方案 o  数据库触发器记录变化 o  系统之间数据交互 §  DBLink §  外部文件 商业产品分析 o  ORACLE Dataguard,MySQL Replication o  Shareplex,Goldengate 基于日志解析的数据同步方案 概述 o  替代触发器 o  实时解析,延迟小 o  对数据库性能影响小 o  数据库,文件,图片一致性  o  ORACLE,MySQL统一解决方案 o  解析主键,实时抽取  o  支持多种目标端 功能增强 o  解析字段 o  并行应用 提取,打包 解包,应用日志数 据库 目标数 据库 外部文件 索引 Cache 源数据 库 日志解析 搜索引擎实时更新 •  数据库日志实时解析 •  搜索引擎实时更新 •  解决搜索延迟的问题 •  提升数据库处理能力 •  读写分离架构 应用 搜索引擎 数据库 日志解析 消息通知更新索引 查询索引 查询详细信息 数据库变化 写操作 SSD高性能数据库 SSD性能特点分析 SSD vs Hard Disk o  SSD: §  IOPS:8K read 10000+,8K write 2000+ §  吞吐:1M read 200M,1M write 170M o  Hard Disk: §  IOPS:8K read 150,8K write 150 §  吞吐:1M read 170M,1M write 130M o  SSD随机读非常好,随机写比较好,连续读写无优势 SSD的性能特点 o  改写=读取+擦除+写入 o  随机写性能下降 o  损耗均衡算法 §  均衡写磨损 §  异步擦除 §  提升写性能 数据库IO特点分析 数据库基于磁盘设计 o  Sequential logging o  In-place update 日志文件顺序写 o  同步写入,响应延迟低 o  连续位置的随机写IO 数据文件随机写 o  异步写入 o  大量的随机写IO 瓶颈分析 o  IOPS: §  小IO,数据文件随机读,随机写,日志文件写 o  吞吐量: §  大IO,数据文件连续读 基于SSD的数据库性能优化 为什么要使用SSD ? o  CPU与IO性能不均衡 o  提升单机性能 o  减小集群规模 o  RAM or SSD ? 提升写性能 o  增加SSD保留空间 SSD-based database o  减少擦除带来的影响 o  IPL(In-page logging) o  缓存写回机制 Flashcache方案 o  操作系统设备层实现 o  数据库存储引擎实现 o  WB vs WT SSD应用场景分析 SSD作为数据库主存储 o  依赖硬件层的损耗均衡算法 o  可靠性的问题 §  硬件RAID vs 软件RAID ? §  RAID 5 vs RAID 10 ? §  SLC vs MLC ? o  性价比较低 SSD存放日志文件 o  提升日志响应延迟 o  HDD更合理 ? SSD存放热点数据 o  提升随机查询性能 o  性能高,不灵活 SSD作为Flashcache o  性价比高 o  复杂,有待实践考验 Alibaba使用SSD现状与发展 使用现状 o  2009年在数据库上使用SSD o  RAID 5 + BBU o  基于SSD的MySQL集群 o  异构SAS磁盘备用集群 o  利用SSD存放热点数据 o  大幅度减小集群规模,降低成本 发展方向 o  MLC替换SLC ? o  Intel SSD vs Fusion-IO o  Flashcache o  MySQL替换SAS集群 o  SSD-based database Alibaba数据存储策略 ORACLE o  强一致性,复杂查询 o  降低开发和管理成本 o  ORACLE+数据同步+Cache MySQL o  Sharding,去关系型 o  分布式,可扩展 o  MySQL+Flashcache KV store o  场景优先 o  自主研发 Q & A Thanks ! Email: freezr@gmail.com Blog: www.hellodba.net Twitter: hellodba

下载文档,方便阅读与编辑

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

需要 8 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档

相关文档