性能比MySQL提升70%,秒杀场景提升百倍?阿里云即将开源的AliSQL
《性能比MySQL提升70%,秒杀场景提升百倍?阿里云即将开源的AliSQL什么来头?》要点: “ 阿里云近日宣布启动AliSQL数据库开源项目.AliSQL是基于MySQL官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务.该版本性能优于社区版MySQL 70%左右,可赞助中小企业和开发者提升数据运营能力. 配景介绍 8月9日,在2016云栖大会·北京峰会上,阿里云宣布启动AliSQL数据库开源项目.预计在9月份邀请部门用户内测,预计在10月份,开发者可在阿里云Code平台和GitHub网站上可以下载AliSQL,感兴趣的读者可以关注. AliSQL是基于MySQL官方版本的一个分支,目前也应用于阿里巴巴集团业务以及阿里云数据库服务.该版本在社区版的基础上做了大量的性能与功能的优化改进.尤其适合电商、云计算以及金融等行业环境.该版本性能优于社区版MySQL 70%左右,可赞助中小企业和开发者提升数据运营能力. 阿里云数据库资深专家丁奇介绍,AliSQL版本在强度和广度上都经历了极大的考验.最新的AliSQL版本不仅从其他开源分支比如:Percona,MariaDB,WebScaleSQL等社区汲取精华,也沉淀了阿里巴巴多年在MySQL领域的经验和解决方案.AliSQL增加更多监控指标,并针对电商秒杀、物联网大数据压缩、金融数据平安等场景提供个性化的解决方案. 丁奇表现,“在通用基准测试场景下,AliSQL版本比MySQL官方版本有着 70% 的性能提升.在秒杀场景下,性能提升 100倍”.这样的性能提升数据是如何得出的?即将开源的AliSQL又将为开发者带来哪些功能?针对于不同行业,AliSQL做了哪些工作呢? 老司机简介 丁奇,阿里云关系数据库服务内核开发和运维团队负责人,活跃的MySQL社区贡献者.专注于数据存储系统、MySQL源码研究和改良、MySQL性能优化和功能改良. AliSQL的汗青 大概在2009年,阿里巴巴集团开始大规模的使用MySQL数据库来持久化业务数据.随着集团业务的高速发展,官方的MySQL版本遇到了不小的挑战,包含性能、部署、功能、成本等方面. 随同着业务的驱动和对源代码的熟悉,集团开始尝试在MySQL官方的开源版本上进行修改,这就形成了AliSQL的雏形. 电商业务的高速发展,对MySQL的性能提出了更高的要求.出于节省本钱,AliSQL持续进行了性能优化,同时,多核CPU和SSD等新硬件的采用,也反过来促进AliSQL能够尽可能利用硬件的红利. 双11大促赓续刷新记录,数据库的稳定性也变得越来越重要,AliSQL开始定制基于限流、线程池、秒杀等功能的patch,提升AliSQL的稳定性. 针对小微金融业务对数据掩护的高要求,AliSQL定制了适合金融业务的数据掩护方案,例如金融云上使用的双通道日志高可靠方案. 从阿里云RDS上线服务开始,阿里云数据库团队就遇到了前所未有的挑战,分歧的行业用户,分歧的使用习惯和要求,AliSQL也迎来了发展最为迅速的时刻,影响力也越来越大. 所以,AliSQL的版本,是随同着业务的发展,一起成长起来的,经历过双11大促这样大压力的考验,同时也经历了阿里云各行各业用户差异化的需求.可以说是身经百战. 与其他产物的关系、各自特点 阿里云是开源组织 WebScaleSQL 的第五位成员,与Facebook、Google、Twitter和LinkedIn团队配合研发WebScaleSQL,阿里巴巴还拥有OceanBase 自研数据库.AliSQL、WebScaleSQL、OceanBase三者的关系和各自的特点是怎样的? OceanBase是Alibaba集团自研的分布式数据库,经历了集团业务的洗礼,具有通用性,高扩展才能. WebScaleSQL是由这五家公司发起的基于MySQL官方的一个分支,旨在办理大家在互联网业务上遇到的问题,是五个成员公司将各自足够通用的功能提交到一起的集合,每家公司的研发同学都可以提交代码.实际上每个公司自己生产环境使用的是自己维护的一个分支,因为每个公司都有自己定制化的需求. AliSQL同样基于MySQL官方版本,汲取了官方和社区的技术红利,具有很高的性能和稳定性,并适应不同行业的特点进行了定制.AliSQL的改进方向主要集中在平安性、稳定性、性能、新功能等方面. AliSQL是颠末几年的生产环境、几万个用户实例的实际业务锤炼的. AliSQL的一些定制化功能都是为了解决DBA维护、业务使用中碰到的实际问题.比如5.5以上的版本由于有metadata lock,DBA对表加字段等操作可能导致阻塞查询,进而导致整库不可服务.我们新增alter ..wait N ..方法,保证了操作的平安性.再比如通过提供 set rds_reset_connection这样的语句,解决了长连接占用资源和短连接性能问题的矛盾. 性能晋升的数据如何得出? AliSQL在相关报道中提到,“在通用基准测试场景下,AliSQL 版本比 MySQL 官方版本有着 70% 的性能晋升.在秒杀场景下,性能晋升 100 倍.” 通用基准的测试,我们是采用sysbench进行的测试,也是公开的标准测试办法,AliSQL在吞吐能力上,比MySQL官方大概70%的性能提升. 秒杀场景是一个比较特殊的场景,AliSQL有专门的定制patch针对这种场景的优化,如果没有限流和排队,大并发的哀求下,系统很容易产生雪崩效应,导致吞吐量急剧下降,而非线性关系. 所以,秒杀场景下,在不可预知的业务哀求量的时候,类似减库存这样的场景,性能下跌非常厉害,而AliSQL的秒杀解决方案能够保证这类场景维持高性能. AliSQL与电商行业、秒杀场景 电商行业的环境,其实提供了一个非常综合的场景,在扩展性、稳定性、性能等方面对数据库都提出了非常高的要求,AliSQL便是顺应着这样的要求进行的定制版本. 好比应对大量应用集群的线程池功能,秒杀场景的排队功能,以及sql的限流功能. 好比大写入量备库延迟,AliSQL提供的基于表的并行复制功能. 又好比结构化数据的压缩功能等. 电商的秒杀场景,其实就是减库存,对数据库而言,就是对一条记录的更新,因为事务的特点,单条记录的更新必需串行完成,但秒杀的特点,就是在某个时刻,大量的并发进行减库存,这就造成了大量的线程因获取不到锁而处在死锁检测状态,消耗了大量的CPU资源,最终导致系统无法响应,而引起雪崩效应. AliSQL针对这样的场景,提供了排队和限流的功能,经过了双11零点时刻高并发哀求的考验,保持了系统的稳定性和持续吞吐能力. 电商业务高峰有两个对数据库挑战比拟大的场景: 1、超年夜并发 MySQL能够支持的并发活跃连接数是有上限的,理想情况下是大约(CPU核心数乘以2)个活跃连接数,当活跃连接数远超这个值时,性能会急剧下降,导致整个业务不可用.AliSQL有水位控制,超过一定阈值的活跃连接数,当我们判断到当前压力超过数据库的处理能力时,会主动放弃后到的哀求,这样保证数据库还能保持很高的能够正常响应的吞吐量. 2、秒杀场景 在秒杀场景里面有一个减库存的问题.大量用户同时抢购同一个商品的时候,必要同时更新商品库存,这时候InnoDB的行锁加上死锁检测机制会导致数据库CPU短时间内被占满,导致整库几乎无法响应. 在AliSQL我们有针专门针对秒杀的方案,保证在大量线程同时减库存时仍能坚持很高的TPS.除了阿里自己的秒杀业务,这个功能同样适用于抢红包这样的业务,已经在2015、2016年春节经过大量的业务验证. AliSQL的个性化优化 在云计算的环境下,用户的使用场景和方式都千差万别,为了适应分歧的环境,AliSQL定制了很多个性化的功能. 比如,为了保障在线业务的安稳,针对用户的分析型的SQL,AliSQL提供了资源使用限流、全表扫描buffer pool不缓存的特性,用户可以通过设置环境变量或者使用hint来方便的使用这些功能,又比如为了加快大表的扫描,提供了逻辑预读的功能,这些特性,用户在不同的场景下可以自由选择. 除了这些,AliSQL在公有云上针对不同行业定制了很多功能.好比:
针对分歧应用场景增加了哪些监控指标? AliSQL增加了很多监控指标,以赞助用户或者DBA更了解自己的数据库,比如,AliSQL针对四个不同的维度的统计:
AliSQL的开源方案 我觉得,公司首先是支持开源的,基于开源的协议,有着回馈社区的初志,并怀着促进社区发展的良好愿景. AliSQL开源会坚持着一个好的节奏,持续的高质量回馈社区.具体在9月中旬放出binary,10月份会放出源代码的第一个稳定版本. 开发者可以自由下载使用,并在平台上进行反馈或者提出建议,后续AliSQL也会定期组织论坛,邀请开发者介入进行讨论. 我们希望AliSQL能够形成一个活跃的社区,开发者能够从中受益,也能够提出需求和改进建议,促进分支连续发展.
AliSQL的真实性能数据毕竟如何,还有待开源之后开发者们使用检验. ▽ 天猫互动创意年夜赛报名啦! 创意无限,想要得到鼓励?50万奖金等你来领! 技术领先,希望更多肯定?近2亿用户等待你的作品! 产物优秀,计划拓展市场?百万品牌等你合作签约! 天猫互动创意大赛,互动技术形式不限,专业评审团点评,丰厚奖金诱惑,获奖团队可获得完整商业方案支持,成为天猫历久合作伙伴. 戳浏览原文,即刻报名! 喜欢咱们的会点赞,爱咱们的会分享! 编程之家PHP培训学院每天发布《性能比MySQL提升70%,秒杀场景提升百倍?阿里云即将开源的AliSQL什么来头?》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |