专访丁奇:阿里云即将开源AliSQL,针对秒杀优化

  • 时间:
  • 浏览:0

AliSQL开源会保持着一4个多好的节奏,持续的高质量回馈社区。具体在9月中旬放出binary, 10月份会放出源代码的第一4个多稳定版本。

SQL维度。增加每个SQL执行的开销统计,除了响应时间,锁等候等,还包括逻辑读,物理读,临时空间使用等。

MySQL要能支持的并发活跃连接数是有上限的,理想状态下是共要(CPU核心数×2)个活跃连接数,当活跃连接数远超类式 值时,性能会急剧下降,导致 整个业务不可用。AliSQL有水位控制,超过一定阈值的活跃连接数,我门都都都都 判断到当前压力超过数据库的解决能力时,会主动放弃后到的请求,另一4个多保证数据库还能保持很高的要能正常响应的吞吐量。

比如大写入量备库延迟,AliSQL提供的基于表的并行基因重组功能,又比如底部形态化数据的压缩功能等。

InfoQ:电商行业的环境特点是咋样的?AliSQL在电商行业环境下的优势有那些?肯能说,为了更好地符合电商行业的需求,AliSQL做了那些性能与功能的优化工作?

丁奇: AliSQL增加了不要 不要 监控指标,以帮助用户肯能DBA更了解我所村里人 的数据库,比如,AliSQL针对兩个不同的维度的统计:

InfoQ:AliSQL在相关报道中提到,“在通用基准测试场景下,AliSQL 版本比 MySQL 官方版本有着 70% 的性能提升。在秒杀场景下,性能提升 1150 倍。”能能 完整版讲解该数据是咋样得出的?

AliSQL是基于MySQL官方版本的一4个多分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在社区版的基础上做了一定量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。该版本性能优于社区版MySQL 70%左右,可帮助中小企业和开发者提升数据运营能力。

丁奇: 随便说说,公司首先是支持开源的,基于开源的协议,有着回馈社区的初衷,并怀着不利于社区发展的良好愿景。

双11大促不断刷新记录,数据库的稳定性也变得这样重要,AliSQL开始英文了了定制基于限流、应用进程池、秒杀等功能的patch,提升AliSQL的稳定性。

2.秒杀场景

InfoQ:AliSQL是基于MySQL官方版本的一4个多分支,能能 简单介绍下AliSQL的历史?AliSQL版本在带宽和广度上都经历了那些考验?

从阿里云RDS上线服务开始英文了了,阿里云数据库团队就遇到了前所未有的挑战,不同的行业用户,不同的使用习惯和要求,AliSQL也迎来了发展最为太快的时刻,影响力也这样大。

在AliSQL我门都都都 有针专门针对秒杀的方案,保证在一定量应用进程同時 减库存时仍能保持很高的TPS。除了阿里我所村里人 的秒杀业务,类式 功能同样适用于抢红包另一4个多的业务,肯能在2015、2016年春节经过一定量的业务验证。

文章转载自 开源中国社区[http://www.oschina.net]

丁奇: 在云计算的环境下,用户的使用场景和办法都千差万别,为了适应不同的环境,AliSQL定制了不要 不要 个性化的功能,比如,为了保障在线业务的平稳,针对用户的分析型的SQL,AliSQL提供了资源使用限流、全表扫描buffer pool不缓存的底部形态,用户能能 通过设置环境变量肯能使用hint来方便的使用那些功能,又比如为了加快大表的扫描,提供了逻辑预读的功能,

那些底部形态,用户在不同的场景下能能 自由取舍。

电商业务高峰有一4个多对数据库挑战比较大的场景:

不要 不要 ,AliSQL的版本,是伴随着业务的发展,同時 成长起来的,经历过双11大促另一4个多大压力的考验,同時 也经历了阿里云各行各业用户差异化的需求。能能 说是身经百战。

开发者能能 自由下载使用,并在平台上进行反馈肯能提出建议,后续AliSQL也会定期组织论坛,邀请开发者参与进行讨论。

WebScaleSQL是由这五家公司发起的基于MySQL官方的一4个多分支,旨在解决我门都都都 在互联网业务上遇到的什么的问题,是兩个成员公司将所村里人 足够通用的功能提交到同時 的集合,每家公司的研发同学都能能 提交代码。实际上每个公司我所村里人 生产环境使用的是我所村里人 维护的一4个多分支,肯能每个公司都有我所村里人 定制化的需求。

8月9日,在2016云栖大会·北京峰会上,阿里云提前大选启动AliSQL数据库开源项目。预计在9月份邀请部分用户内测,预计在10月份,开发者阿里云Code平台和GitHub网站上能能 下载AliSQL,感兴趣的读者能能 关注。

丁奇表示,“在通用基准测试场景下,AliSQL版本比MySQL官方版本有着 70% 的性能提升。在秒杀场景下,性能提升 1150倍”。另一4个多的性能提升数据是咋样得出的?即将开源的AliSQL又将为开发者带来那些功能?针对于不同行业,AliSQL做了那些工作呢?

金融行业

AliSQL定制了多通道的半同步策略,以及一主两备的三机房零数据丢失的数据保护级别。

对象维度。增加了每个表的DML次数,索引的使用状态,帮助用户理解业务和索引使用带宽。

InfoQ:针对不同的应用场景,AliSQL增加了那些监控指标?

丁奇: OceanBase是Alibaba集团自研的分布式数据库,经历了集团业务的洗礼,具有通用性,高扩展能力。

针对小微金融业务对数据保护的高要求,AliSQL定制了适合金融业务的数据保护方案,类式金融云上使用的双通道日志高可靠方案。

游戏行业

我门都都都 在proxy类式 层进行了AliSQL的桥接认证,提供防闪断功能。

丁奇: 电商行业的环境,随便说说提供了一4个多非常综合的场景,在扩展性、稳定性、性能等方面对数据库都提出了非常高的要求,AliSQL已经 顺应着另一4个多的要求进行的定制版本。

我门都都都 希望AliSQL要能形成一4个多活跃的社区,开发者要能从中受益,也要能提出需求和改进建议,不利于分支持续发展。

AliSQL的某些定制化功能都有为了解决DBA维护、业务使用中碰到的实际什么的问题。比如5.5以上的版本肯能有metadata lock,DBA对表加字段等操作肯能导致 阻塞查询,进而导致 整库不可服务。我门都都都 新增alter ..wait N ..办法,保证了操作的安全性。再比如通过提供 set rds_reset_connection另一4个多的话语,解决了长连接占用资源和短连接性能什么的问题的矛盾。

AliSQL是经过几年的生产环境、几万个用户实例的实际业务锤炼的。

InfoQ:在个性化方面,AliSQL针对云计算和金融行业做了那些优化工作?应用过的实际场景有那些?实际效果咋样?AliSQL在物联网大数据压缩、金融数据安全等场景又提供了那些个性化功能?

秒杀场景是一4个多比较特殊的场景,AliSQL有专门的定制patch针对类式 场景的优化,肯能这样限流和排队,大并发的请求下,系统很容易产生雪崩效应,导致 吞吐量急剧下降,而非线性关系。不要 不要 ,秒杀场景下,在不可预知的业务请求量的已经 ,类式减库存另一4个多的场景,性能下跌非常厉害,而AliSQL的秒杀解决方案要能保证类式场景维持高性能。

受访嘉宾介绍

丁奇,阿里云关系数据库服务内核开发和运维团队负责人,活跃的MySQL社区贡献者。专注于数据存储系统、MySQL源码研究和改进、MySQL性能优化和功能改进。

应用进程维度。增加了应用进程的内存使用统计。

AliSQL针对另一4个多的场景,提供了排队和限流的功能,经过了双11零点时刻高并发请求的考验,保持了系统的稳定性和持续吞吐能力。

比如应对一定量应用集群的应用进程池功能,秒杀场景的排队功能,以及SQL的限流功能。

在秒杀场景底下有一4个多减库存的什么的问题。一定量用户同時 抢购同一4个多商品的已经 ,还要同時 更新商品库存,这已经 InnoDB的行锁换成死锁检测机制会导致 数据库CPU短时间内被占满,导致 整库几乎无法响应。

电商业务的高速发展,对MySQL的性能提出了更高的要求。出于节省成本,AliSQL持续进行了性能优化,同時 ,多核CPU和SSD等新硬件的采用,也反过来不利于AliSQL要能尽肯能利用硬件的红利。

阿里云数据库资深专家丁奇介绍,AliSQL版本在带宽和广度上都经历了极大的考验。最新的AliSQL版本不仅从某些开源分支比如:Percona,MariaDB,WebScaleSQL等社区汲取精华,也沉淀了阿里巴巴多年在MySQL领域的经验和解决方案。AliSQL增加更多监控指标,并针对电商秒杀、物联网大数据压缩、金融数据安全等场景提供个性化的解决方案。

AliSQL同样基于MySQL官方版本,汲取了官方和社区的技术红利,具有很高的性能和稳定性,并适应不同行业的特点进行了定制。AliSQL的改进方向主要集中在安全性、稳定性、性能、新功能等方面。

丁奇: 电商的秒杀场景,随便说说已经 减库存,对数据库而言,已经 对十根记录的更新,肯能事务的特点,单条记录的更新还要串行完成,但秒杀的特点,已经 在某个时刻,一定量的并发进行减库存,这就造成了一定量的应用进程因获取必须锁而所处死锁检测状态,消耗了一定量的CPU资源,最终导致 系统无法响应,而引起雪崩效应。

InfoQ:电商秒杀场景有那些特点,为数据库带来的挑战有那些?AliSQL针对该场景优化了那些性能与功能?肯能应用过的实际场景有那些?实际效果咋样?

InfoQ:阿里云是开源组织 WebScaleSQL 的第五位成员,与Facebook、Google、Twitter和LinkedIn团队同時 研发WebScaleSQL,同時 ,阿里巴巴还拥有OceanBase 自研数据库。能能 请介绍下AliSQL、WebScaleSQL、OceanBase三者的关系和所村里人 的特点?

1.超大并发

InfoQ:阿里巴巴老要在推进开源工作,您认为做好开源工作,公司应该从那些方面出发?目前,AliSQL的开源计划是咋样的?将为开发者具体咋样的帮助?

除了那些,AliSQL在公有云上针对不同行业定制了不要 不要 功能。比如:

事务维度。增加了每个事务持续的时间,和操作的对象。帮助用户定位什么的问题。

近日,InfoQ就相关什么的问题采访了丁奇。

丁奇:共要在1509年,阿里巴巴集团开始英文了了大规模的使用MySQL数据库来持久化业务数据。随着集团业务的高速发展,官方的MySQL版本遇到了不小的挑战,包括性能、部署、功能、成本等方面。

物联网行业

AliSQL集成了TokuDB引擎,提供高压缩比和大吞吐写能力。

伴随着业务的驱动和对源代码的熟悉,集团开始英文了了尝试在MySQL官方的开源版本上进行修改,这就形成了AliSQL的雏形。

丁奇: 通用基准的测试,我门都都都 是采用sysbench进行的测试,也是公开的标准测试办法,AliSQL在吞吐能力上,比MySQL官方共要70%的性能提升。