【阿里云资讯】性能大幅提升70%,阿里云AliSQL邀请您来测试!

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 在通用基准测试场景下,AliSQL 版本比 MySQL 官方版本有着 70% 的性能提升。在秒杀场景下,性能提升 100 倍。
6bc1ea45d98eb9dc99dd0b32816a075f8c7a88c7

2016云栖大会·北京峰会上,阿里云宣布启动AliSQL数据库开源项目。日前,用户内测邀请正式启动。根据阿里云数据库团队的规划,今年10月,开发者将可以在阿里云Code平台和GitHub网站上下载AliSQL。

没有收到内测邀请但感兴趣的用户,可以在以下页面申请参与内测https://promotion.aliyun.com/ntms/act/alisql.html)。

AliSQL

AliSQL是基于MySQL官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在社区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。最新的AliSQL版本不仅从其他开源分支比如:Percona,MariaDB,WebScaleSQL等社区汲取精华,也沉淀了阿里巴巴多年在MySQL领域的经验和解决方案。AliSQL增加更多监控指标,并针对电商秒杀、物联网大数据压缩、金融数据安全等场景提供个性化的解决方案。

测试报告样例

阿里云关系数据库服务内核开发和运维团队负责人,活跃的MySQL社区贡献者丁奇表示,“在通用基准测试场景下,AliSQL版本比MySQL官方版本有着 70% 的性能提升”。
1测试环境
主机配置
CPU:Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
OS kernel:Linux 2.6.32
Memory:512 G
Disk:SSD
2AliSQL实例配置
采用RDS配置的8C-16G的规格进行测试
具体参数参考AliSQL-8C-16G.cnf
3测试脚本
采用sysbench标准测试
测试场景为update_non_index.lua
Sysbench主要参数
max-requests=0
max-time=900
oltp_tables_count=20
oltp_table_size=200000
report-interval=10
num-threads=$count
4测试对比和结果
本次测试共对比了两个版本
AliSQL 5.6.32和Oracle 5.6.32
测试数据如下
3837c69f5c6a43fcda65c37d1e35b3d80118da35
7df57cdef5445224d643440e776d15d60dc2cb06

5测试结论
从以上的基准测试数据可以看到AliSQL版本,对比Oracle官方MySQL版本,有非常高的吞吐量提升,最高达到1倍,接下来我们将陆续放出更多特点场景的测试。

丁奇谈AliSQL

开源的AliSQL又将为开发者带来哪些功能?针对于不同行业,AliSQL做了哪些工作呢?下面我们专访丁奇,解读开发者最关心的话题。

问:AliSQL是基于MySQL官方版本的一个分支,能否简单介绍下AliSQL的历史?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做了哪些性能与功能的优化工作?

答: 电商行业的环境,其实提供了一个非常综合的场景,在扩展性、稳定性、性能等方面对数据库都提出了非常高的要求,AliSQL就是顺应着这样的要求进行的定制版本。比如应对大量应用集群的线程池功能,秒杀场景的排队功能,以及SQL的限流功能。比如大写入量备库延迟,AliSQL提供的基于表的并行复制功能,又比如结构化数据的压缩功能等。

问:电商秒杀场景有什么特点,为数据库带来的挑战有哪些?AliSQL针对该场景优化了哪些性能与功能?已经应用过的实际场景有哪些?实际效果如何?

答: 电商的秒杀场景,其实就是减库存,对数据库而言,就是对一条记录的更新,因为事务的特点,单条记录的更新必须串行完成,但秒杀的特点,就是在某个时刻,大量的并发进行减库存,这就造成了大量的线程因获取不到锁而处在死锁检测状态,消耗了大量的CPU资源,最终导致系统无法响应,而引起雪崩效应。AliSQL针对这样的场景,提供了排队和限流的功能,经过了双11零点时刻高并发请求的考验,保持了系统的稳定性和持续吞吐能力。电商业务高峰有两个对数据库挑战比较大的场景:

1.超大并发
MySQL能够支持的并发活跃连接数是有上限的,理想情况下是大约(CPU核心数×2)个活跃连接数,当活跃连接数远超这个值时,性能会急剧下降,导致整个业务不可用。AliSQL有水位控制,超过一定阈值的活跃连接数,当我们判断到当前压力超过数据库的处理能力时,会主动放弃后到的请求,这样保证数据库还能保持很高的能够正常响应的吞吐量。
2.秒杀场景
在秒杀场景里面有一个减库存的问题。大量用户同时抢购同一个商品的时候,需要同时更新商品库存,这时候InnoDB的行锁加上死锁检测机制会导致数据库CPU短时间内被占满,导致整库几乎无法响应。
在AliSQL我们有针专门针对秒杀的方案,保证在大量线程同时减库存时仍能保持很高的TPS。除了阿里自己的秒杀业务,这个功能同样适用于抢红包这样的业务,已经在2015、2016年春节经过大量的业务验证。

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

答: 在云计算的环境下,用户的使用场景和方式都千差万别,为了适应不同的环境,AliSQL定制了很多个性化的功能,比如,为了保障在线业务的平稳,针对用户的分析型的SQL,AliSQL提供了资源使用限流、全表扫描buffer pool不缓存的特性,用户可以通过设置环境变量或者使用hint来方便的使用这些功能,又比如为了加快大表的扫描,提供了逻辑预读的功能,这些特性,用户在不同的场景下可以自由选择。除了这些,AliSQL在公有云上针对不同行业定制了很多功能。比如:

  • 游戏行业 我们在proxy这一层进行了AliSQL的桥接认证,提供防闪断功能。
  • 物联网行业 AliSQL集成了TokuDB引擎,提供高压缩比和大吞吐写能力。
  • 金融行业 AliSQL定制了多通道的半同步策略,以及一主两备的三机房零数据丢失的数据保护级别。

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

答: AliSQL增加了很多监控指标,以帮助用户或者DBA更了解自己的数据库,比如,AliSQL针对四个不同的维度的统计:

  • SQL维度。增加每个SQL执行的开销统计,除了响应时间,锁等待等,还包括逻辑读,物理读,临时空间使用等。
  • 对象维度。增加了每个表的DML次数,索引的使用情况,帮助用户理解业务和索引使用效率。
  • 事务维度。增加了每个事务持续的时间,和操作的对象。帮助用户定位问题。
  • 线程维度。增加了线程的内存使用统计。

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

答: 我觉得,公司首先是支持开源的,基于开源的协议,有着回馈社区的初衷,并怀着促进社区发展的良好愿景。AliSQL开源会保持着一个好的节奏,持续的高质量回馈社区。具体在9月中旬放出binary, 10月份会放出源代码的第一个稳定版本。开发者可以自由下载使用,并在平台上进行反馈或者提出建议,后续AliSQL也会定期组织论坛,邀请开发者参与进行讨论。

我们希望AliSQL能够形成一个活跃的社区,开发者能够从中受益,也能够提出需求和改进建议,促进分支持续发展。

精彩继续

691178dd2138563632db96d3a1e4bcab211e7bed

想要了解更多数据库方面的资讯,欢迎大家关注2016杭州·云栖大会。目前,大会主场已开放报名。2016杭州·云栖大会的主题是“飞天·进化 ”。和去年相比,大会从原本2天的议程增加至4天,从10月13日持续到16日。和数据库,开源相关的专场主要有三个:

10月14日下午:云栖社区开发者技术峰会——开源技术专场

ApsaraDB团队邀请MySQL之父Michael Widenius与阿里云数据库技术组研究员余锋(褚霸)宣布AliSQL开源。同时两人将分别分享《 How to create a successful open source project》和《中国人的数据库分支:ApsaraDB AliSQL 开源思路》两个议题。

10月15日至10月16日全天:开源技术专场

ApsaraDB拥有自研数据库的同时,与开源数据库社区的合作也相当紧密。15-16日两天会邀请MySQL/Redis/MongoDB/PostgreSQL/Hadoop等社区,国内外专家进行开源数据库、大数据技术交流。

10月15日下午:数据库技术 Tech Insight付费技术专场

本次围绕数据库系统高可用及容灾方案。讲师们将从产品技术、管控平台、实践案例分享等角度为技术人员带来精彩分享。


本文转载自 Infoq  原文链接

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
511 4
|
9月前
|
测试技术 UED 开发者
性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
|
机器学习/深度学习 自然语言处理 API
阿里云零门槛、轻松部署您的专属 DeepSeek模型体验测试
DeepSeek R1是基于Transformer架构的先进大规模深度学习模型,2025年1月20日发布并开源,遵循MIT License。它在自然语言处理等任务上表现出色,高效提取特征,缩短训练时间。阿里云推出的满血版方案解决了服务器压力问题,提供100万免费token,云端部署降低成本,用户可快速启动体验。虽然回答速度有待提升,但整体表现优异,备受关注。
598 8
|
关系型数据库 测试技术 分布式数据库
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
454 13
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
298 11
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
307 10
|
传感器 安全 物联网
阿里云先知安全沙龙(北京站) ——车联网安全渗透测试思路分享
本文介绍了智能汽车的整车架构、协议栈结构、攻击点分析、渗透思路及案例分享。整车架构涵盖应用层、协议层和物理层,详细解析各层次功能模块和通信机制。攻击点包括Wi-Fi、USB、NFC等,展示车辆通信接口和系统组件的安全风险。渗透思路从信息收集到系统内部探索,利用固件漏洞控制车辆功能。案例展示了网段隔离不足导致的SSH访问和OTA日志审计漏洞,揭示了潜在的安全威胁。
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
1079 13
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。