网站建设英语要几级,品牌网站部门建设方案,国内开源平台,成都和奇乐网站建设公司怎么样摘要#xff1a; 12月13-14日#xff0c;由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束#xff0c;集中为大家分享了2017双11背后的黑科技。本文是《新一代数据库技术在双11中的应用》演讲整理#xff0c;本文主要从数据库上云和弹性调度…摘要 12月13-14日由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束集中为大家分享了2017双11背后的黑科技。本文是《新一代数据库技术在双11中的应用》演讲整理本文主要从数据库上云和弹性调度开始谈起重点分享了新一代数据库以及其在双11中的应用包括X-DB、X-KV和ESDB等。
12月13-14日由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束集中为大家分享了2017双11背后的黑科技。本文是《新一代数据库技术在双11中的应用》演讲整理本文主要从数据库上云和弹性调度开始谈起重点分享了新一代数据库以及其在双11中的应用包括X-DB、X-KV和ESDB等。内容如下。
分享嘉宾张瑞阿里巴巴研究员阿里集团数据库技术团队负责人经历阿里数据库技术变革历程连续六年作为数据库总负责人参与双11备战工作。
双11是一场技术大练兵是互联网界的超级工程。需要做到支撑尽可能高的零点峰值给用户最好的体验也要做到成本尽可能低要求极致的弹性能力还要做到整体系统的稳定。
数据库如何实现极致弹性能力
数据库上云
数据库实现弹性是比较难的数据库对性能要求非常高因此必须实现数据库上云但是如何上云呢数据库上云面临以下几个难点
数据库如何上云并快速构建混合云如何降低虚拟化带来的性能损耗公有云环境和内部网络的互通问题。
经过几年的探索这些难点都已得到解决。第一高性能ECS可以和物理机性能一样主要使用了SPDK、DPDK技术和NVMe存储让虚拟化损耗非常小接近物理机第二数据库弹性混合云问题得到解决可以同时管理云上和云下环境用户可以在双11前把混合云构建起来支撑双十一峰值。
数据库弹性调度
只有上云是远远不够的还要进行离在线混布。而数据库实现弹性调度的两大基础条件是容器化和计算存储分离。容器性能需要与物理机持平存储计算分离依赖于硬件的发展25G网络和高性能分布式存储盘古让其成为可能。数据库存储计算分离架构如图包括存储层、网络层和计算层存储使用阿里自研分布式存储系统-盘古数据库计算节点则部署在阿里自研容器Pouch中除此以外还有存储管控系统。为了实现存储和计算分离我们在存储上做了许多工作包括
二三异步第三个副本异步完成平均延时降低10%以上4个9 latency降低3-4倍 QoS流控根据前台业务负载情况控制后台IO流量保证写入性能 快速Failover存储集群单机FO优化为5s达到业界领先水平 高可用部署单集群四Rack部署将数据可靠性提升到10个9。 在数据库方面我们也做了大量优化最重要的是降低网络吞吐以此来降低网络延迟对于数据库性能的影响。比如redo sync优化吞吐提升100%由于盘古存储支持原子写所以我们关闭Double Write Buffer高压力下吞吐提升20%带宽节省100%。
双11数据库混布技术容器化和存储计算分离使得数据库无状态化具备调度能力。在双11高峰通过将共享存储挂载到不同的计算集群离线集群实现数据库的快速弹性。
阿里新一代数据库技术
阿里最早是商业数据库然后我们做去IOE研发出阿里MySQL分支AliSQL和分布式中间件TDDL。2016年我们开始思考新一代数据库技术X-DBX代表追求极限性能挑战无限可能的含义。
阿里的业务场景对于数据库有很高的要求
数据要可扩展 持续可用、数据要强一致 数据量大、重要程度高 数据有明显的生命周期特性冷热数据特点鲜明 交易、库存支付等业务操作逻辑简单要求高性能。 因此定义新一代数据库就要包含几个重要特点具备数据强一致、全球部署能力内置分布式、高性能、高可用能力具备自动数据生命周期管理能力。
X-DB架构图X-DB架构如图引入Paxos分布式一致性协议解决问题可异地部署虽然网络延时增加但能够保持高性能吞吐在同城三节点部署模式下性能与单机持平同时具备网络抖动的高容忍性。X-DB核心技术之一高性能Paxos基础库X-Paxos是实现三节点能力的核心可实现跨AZ、Region的数据强一致能力实现5个9以上的持续可用率。X-DB核心技术之二Batching Pipelining。X-DB在事务提交时必须保证日志在数据库节点的多数派收到并提交这是保证数据强一致基础由于事务在提交时必须需要跨网络这一定会导致延时增加要保证高延时下的吞吐是非常困难的。Batching Pipelining技术保证尽可能批量提交数据可以乱序接收和确认最终保证日志顺序提交。可以在高延时的情况下保持很高的吞吐能力。X-DB核心技术之三异步化提交数据库线程池在提交时会等待为了最大程度提升性能我们采用了异步化提交技术最大可能保证数据库线程池可以高效工作。通过这些技术保证X-DB在三节点模式下的高吞吐量。
X-DB与MySQL Group Replication的对比测试我们与Oracle官方的Group Replication作对比。在三节点同IDC部署模式下sysbench标准化测试。Insert场景我们可以做到MySQL官方的2.4倍响应时间比官方低。在三节点三地部署模式下sysbench标准化测试。Insert场景X-DB5.04万性能优势特别明显是MySQL GR0.85万的5.94倍响应延时X-DB58ms是MySQL GR150ms的38%。
典型应用场景同城跨AZ部署替代传统主备模式我们把原来主备模式变成三节点解决跨AZ数据质量问题和高可用问题。跨AZ数据强一致单AZ不可用数据零丢失、单AZ不可用秒级切换、切换自封闭无第三方组件。相对主备模式零成本增加。跨Region部署用更底层的数据库技术解决异地多活问题三地六副本主备模式降低为三地四副本三地五节点四数据对于业务来说可以享受跨Region数据强一致单个Region不可用零数据丢失跨Region强同步下依然保持高性能切换策略灵活可以优先切换同Region也可定制跨Region切换顺序。
数据库在双11中的黑科技
X-KV在双11中的应用X-KV是基于MySQL Memcached plugin的增强今年我们做了大幅度的改进支持更多数据类型支持非唯一索引、组合索引支持Multi get 功能支持Online Schema change最大变化是通过TDDL支持SQL转换。对于业务方X-KV优势是超高读取性能数据强一致减少应用响应时间降低成本同时支持SQL应用可以透明迁移。
TDDL for X-KV优化如下
独立KV连接池SQL和KV连接池相互独立变更时两套连接池保持协同一致应用可以快速在两套接口之间切换。 优化的KV通信协议不再需要分隔符协议实现。 结果集自动类型转换字符串自动转换为MySQL类型。 交易卖家库的性能瓶颈解决方案
随着双11交易量增长近两年交易卖家库的同步延时一直比较大导致商户不能及时处理双11订单且卖家库有大量复杂的查询性能差。我们曾经通过为大卖家设置独立队列、同步链路合并操作和卖家库限流等进行优化但仍然没有完全解决问题。ESDB是基于ES打造的分布式文档数据库我们在ES的基础上支持了SQL接口应用可以从MySQL无缝迁移到ESDB针对大卖家提供动态二级散列功能解决大卖家同步的性能瓶颈。同时还做了大量的性能优化和限流保护等功能。
数据库监控系统演进
数据库秒级监控的技术挑战有很多具体有以下四点
海量数据平均每秒处理1000万项监控指标峰值1400万复杂的聚合逻辑地域、机房、单元、业务集群、数据库主备等多维度数据聚合实时性要求高监控盯屏需要立即看到上一秒的监控数值计算资源占用尽可能少的资源进行采集和计算。整个链路经历三代架构第一代Agent MySQL第二代Agent datahub 分布式NoSQL第三代Agent 实时计算引擎 HiTSDB。
HiTSDB是阿里自研的时序数据库通过实时计算引擎将秒级性能数据、全量SQL运行状况进行预先处理后存储在HiTSDB中。通过第三代架构实现了双11高峰不降低的秒级监控能力这对我们了解系统运行状况、诊断问题是非常有帮助的。
CloudDBA在双11中的应用
阿里拥有业界最富有经验的DBA海量的性能诊断数据。我们的目标是把阿里DBA的经验、大数据和机器智能技术结合起来目标是三年后不再需要DBA做数据库诊断、优化等工作而是让机器来完成数据库的智能化管理。我们认为自诊断、自优化、自运维是未来数据库技术发展的重要方向。CloudDBA在今年双11也做了一些探索通过对全量SQL以及监控数据的分析我们实现了SQL自动优化慢SQL调优、空间优化无用表无用索引分析、访问模型优化SQL和KV和存储空间增长预测等功能。
展望明年双11HigherFasterSmarter
更高更高交易创建峰值
更快高性能数据库、高性能存储
更智能CloudDBA发挥更大价值。