《数据库高可用架构.ppt》由会员分享,可在线阅读,更多相关《数据库高可用架构.ppt(32页珍藏版)》请在三一办公上搜索。
1、数据库高可用架构,Jacky Alibaba,问题与挑战,集中式数据库成为系统瓶颈 数据库依赖高端硬件设备小型机和高端存储硬件可用性要求高Scale up数据库如何线性扩展(Scale out)利用廉价设备搭建高可用数据库集群,CAP原理,Consistency:一致性Availability:可用性Partition tolerance:分区容错性三者不可兼得传统数据库(CA)ACID原子性,一致性,隔离性,持久性NoSQL产品(AP)BASE基本可用,软状态,最终一致,Hardware HA,Active/StandbyHigh AvailabilityBad Scalability IB
2、M hacmp HP serviceguard,Oracle Data Guard,Primary服务,Standby只读(11g)异步传送方式,可能导致数据丢失失败切换需要人工干预廉价的容灾方案,Oracle RAC 架构,Shared Disk Oracle Clusterware High AvailabilityScale outLoad BalanceTAF,Oracle RAC 特点,应用透明廉价的高可用方案扩展能力有限共享存储的扩展能力节点间通信成本DSS类型应用分析可扩展特性 充分利用节点计算能力降低节点间通信成本OLTP类型应用分析 高可用特性应用透明切换(TAF),Orac
3、le ASM,Oracle ASM 特点,具备整合多个存储设备的能力,解决存储的扩展问题自动负载均衡,支持RAID 10ASM替换裸设备ACFS替换OCFS所有的数据都可以放在ASM中 ASM是免费的,MySQL Replication,Master+Slave(单向复制)Master+Master(双向复制)Dual master+heartbeat(HA)Slave可读写,比Oracle DG更灵活,MySQL Cluster 架构,Shared Nothing High AvailabilityScale out,MySQL cluster 特点,完全分布式架构高可用可扩展 存储节点,处
4、理节点和管理节点内存存储引擎NDB自动数据hash分布数据自动冗余,防止单点故障性能不理想数据同步写多节点数据按照PK Hash分布UK需要根据PK访问两次Join需要将数据读取至mysqld处理,技术发展趋势,硬件Intel CPU vs IBM PowerCPU多核化Flash Cache/SSDPC server RAS特性增强Reliability,Availability and Serviceability软件虚拟化分布式 云计算,Oracle Exadata,Oracle Exadata,Oracle Exadata,Oracle Exadata 特性,功能 Smart Scan
5、Smart Flash CacheStorage IndexHybrid Columnar Compressed特点廉价设备组成的BOXRAC整合计算能力ASM整合存储能力Infiniband高速互联网络Flash cache作为二级Cache同时支持DSS和OLTP应用缺点:贵,读写分离架构-MySQL复制,读写分离架构-Oracle Active Standby,读写分离架构-DB+Memcache,Facebook MySQL+Memcache架构,读写分离架构分析,适合Read Intensive应用数据库复制存在延迟一致性的问题Read-your-writes consistency
6、Session consistency数据库单机容量成为瓶颈,Sharding?Memcache crash=Disaster?!分布式Memcached集群Consisitent hash,Consistent hash,Consistent hash,Sharding架构,BASE思想的产物具备线性扩展能力弱化关系型处理DB=KV Store分布式Hash算法Hash(key)mod n Virtual Partition Hash,Virtual Partition Hash策略,根据mod计算hash分布的缺陷节点变化时,所有数据需要重新分布Virtual Partition hash
7、策略虚拟分区策略,预分区物理节点包含多个虚拟分区增加节点时,只需移动部分虚拟分区每个节点都有备用节点可根据压力状况灵活配置Consistent hash策略的简化,Virtual Partition Hash策略,Virtual Partition Hash策略,分布式数据库,分布式数据库Proxy应用透明Query ParseQuery RouteResults MergeLoad Balance故障探测Failover,数据库同步技术,为什么需要数据库同步构建多站点架构数据库复制无法满足需要商业产品Quest ShareplexOracle Goldengate,我们的解决方案,触发器方案日志解析Oracle redo log MySQL binlog数据打包传输数据库,文件,图片应用模型并行应用模型如何保持事务一致我们可以做到更好解析SQL灵活定义业务逻辑提升处理能力,技术趋势,去I/O/EMySQL Sharding架构 DB+Memcached架构FlashCache/SSD作为DB二级CacheMySQL Cluster数据同步,多站点架构廉价高可用数据库集群Key-Value Store,