大型企业数据库服务首选,AliSQL这几大企业级功能你了解几个?

  • 时间:
  • 浏览:3
  • 来源:uu快3手机版_uu快3走势图_网游

我们都都都来并肩看一下AliSQL中面向企业场景的设计及功能。

对于核心业务的SQL,应当使用SQL Outline进行固化,避免SQL执行计划变坏。

2、Dynamic Thread Pool

企业级场景(包括互联网与否互联网场景)的商业数字化程度这麼 高,应用场景这麼 雄厚,RDS数据库如保在有限资源(4c/8c规格,云上弹性降底企业成本)的情况报告下提供高质量服务,会面临以下挑战:

在仔细分析原生Performance Schema后,AliSQL中增加了那先 额外的性能相关的数据,如实地反映了系统的运行情况报告,方便我们都都进行事后性能那先 的问題诊断,也方便了客户进行SQL性能分析,也还才能让第三方基于那先 性能数据来为客户提供更好的性能优化服务。

6、Async File Purge

在文件系统中删除有有十个 不得劲大的文件(Drop Table/Partition、Truncate Table/Partition)时,因此会锁定整个文件系统,愿因同有有十个 文件系统上的其他操作无法进行,阻塞整个实例。AliSQL中对三种生活行为进行了优化,当接到删除表或分区的操作时,会记有有十个 文件异步清理的任务,将表或分区的操作先做完,因此由后台程序池以相对温和的土办法进行清理。其原理是将大文件一步一步变小,到某个安全大小后,才彻底删除文件。

AliSQL是阿里云深度定制的独立MySQL分支,除了社区版的所有功能外,AliSQL提供了同类于MySQL企业版的诸多功能,如企业级备份恢复、程序池池、并行查询等,因此AliSQL还提供兼容Oracle的能力,如sequence引擎等。RDS MySQL使用AliSQL内核,为用户提供了MySQL所有的功能,并肩提供了企业级的安全、备份、恢复、监控、性能优化、只读实例等高级型态。

10、DDL Recycle Bin

在MySQL中DDL的话是无法回滚的,因此Drop/Truncate表或分区的操作会变得极期危险,在商业数据库中也是这麼 。

??

AliSQL还提供API进行SQL Hint编辑,即还才能手工给SQL加有有十个 Hint,进行透明的SQL优化,还才能在无法更改程序池池代码的情况报告下进行SQL优化。并在此基础上,与AliSQL其他的优化功能进行集成,比如Statement Queue、Query Cache(研发中)等,还才能通过在SQL Outline中指定Hint来启用Statement Queeu的并发控制,或启用Query Cache,实现对应用透明的SQL优化。

此优化已在RDS 56/57/1000上同步优化发布上线。

1、MySQL 8.0 Compatiable

MySQL 8.0有十个 非常好的企业级功能,来逐一看一下:

??Performance Agent,使用内置Daemon程序池池,在同一时间点派发不同唯度(CPU、内存、网络、磁盘IO、Server、InnoDB、Linux Kernel、File System)的关键性能数据,每秒派发一次,以格式化文本土办法在后台记录,便于事后进行性能分析,并肩也是内存表的土办法提供访问,方便客户直接使用Grafana等工具来展示RDS数据库性能曲线。

我们都都在2019年推出了基于MySQL 8.0版本的AliSQL版本,远远领先于同行。

3、Index Mutex Tuning

TPCC模型最接近企业核心业务场景,对此场景的优化还才能让企业应用受益。在TPCC的压力测试中,发现Index的锁非常重,在节点分裂一定会阻塞所有的其他操作。AliSQL对此进行了优化,有效地降低了压测过程中,索引节点分裂的成本,大大地提升了TPCC场景的避免能力。在全内存的测试中,单机达到了39W的TpmC,相对于原生版本提升35-1000%不等(大规格测试,5.6提升35%、5.7提升40%、8.0进升45%)。

??index_stats,记录用到的索引以及索引被使用的频率,还才能快速地了解索引的使用情况报告,判断那先 索引是多余的,判断那先 索引是核心的索引。

Dynamic Thread Pool还才能很好地避免上述那先 的问題,

??如保在有限的资源下,支持更多的数据库连接数?

??如保支持更高的短连接能力?

??如保在有限的资源下,提高资源的使用速率单位,提升性能?

??如保进行并发控制或隔离,保证核心业务逻辑的稳定性?

Oracle在10g中加入了回收站的功能,还才能将Drop/Truncate的表或分区先贴到 回收站中,后续根据空间的使用情况报告,按先进先出的策略自动回收。曾经就还才能在Drop/Truncate误操作手,从回收站中快速恢复数据,而不才能 进行实例基于时间点的恢复来找回误操作的表,AliSQL在8.0上也实现了此回收站功能。

8、SQL Outline

SQL Hint是非常有效的优化手段,AliSQL对SQL Hint做了功能扩展,还才能在运行过程中将SQL计算中的路径信息用相应的SQL Hint进行持久化保存,以保证执行计划的稳定性。还才能是效应对以下场景下的SQL执行计划变更:

??Performance Point,记录了每个SQL的细粒度性能数据,包括SQL的话的时间(包括消耗时间、执行时间、Server层MDL锁的时间、事务锁的时间)、SQL IO的信息(包括这条SQL引起的数据读、数据写、日志生成、内存访问、物理读写的量及IO时间)、以及内核层面的锁(包括Mutex、RW Lock)的次数和时间。很容易找到值得优化的SQL的话,因此有一定的源代码能力,也还才能分析和改进MySQL的锁机制。

本文作者:黄忠

5、Performance Insight

应用侧的SQL优化对系统及业务的优化至关重要,原生的MySQL中缺少行之有效的监控数据,AliSQL结合不同数据库的经验,并结合內部內部客户的需求,在SQL性能这块做了雄厚的扩展,富含以下十个 方面的扩展:

观看土办法:立即预约请戳下方链接??

??Atomic DDL,MySQL 8.0加进去了表型态frm文件,实现了元数据信息字典化,还才能保证DDL操作避免或回滚干净,避免了表删除不干净的情况报告。

??Instant Add Column,元数据字典化后,向表最里边加列(无默认值)时,还才能只更改数据字典,而不才能 更改表数据,实现了极快速的加列。

??Window Function,窗口函数还才能用来快速实现复杂化的报表,在其他企业应用场景中一定会出现。

??Temp Engine,执行不得劲复杂化的SQL时,才能 用到内存之外的临旧年华间,之后版本会动态地创建和删除文件,而在MySQL 8.0中,使用了集中式的Temp Engine,避免不停地创建和删除文件,有效降低了文件系统的压力。

??Hash Join,MySQL 8.0中实现了Hash Join,还才能加快多表(三表)以上关联的SQL性能,在企业场景中因此业务逻辑复杂化,多表关联是常态,绝对的企业级功能。

大型企业数据库服务首选,专属主机组RDS MySQL服务重磅发布!

时间: 1月9日15:00 — 17:00

??数据库版本升级,优化器行为会趋于稳定变化,SQL计算计划因此变好也因此变坏。

??DDL操作,新建索引后,会愿因原有的SQL执行计划趋于稳定变化。

??统计信息趋于稳定变化,重新派发或人工设置后,SQL执行计划因此趋于稳定变化。

7、Slow Log Rotate

其他业务场景下,会产生小量的慢SQL的话,会被记录在慢日志中,而原生的MySQL老会 使用单个文件机制会老会 保持Slow Log文件打开,愿因文件变得不得劲大(可高在上百GB),才能 在关闭MySQL实例的情况报告下,才能对Slow Log文件进行维护,非常地不友好。

AliSQL对此作出了改进,设计了Slow Log切换机制,还才能定时或到指定大小后进行切换(切换指令由內部触发),避免才能 重启数据库实例来维护Slow Log文件(比如释放Slow Log空间)。其间还修复了以CSV格式存放Slow Log时,SQL执行时间范围超过3四天(通常是Binlog Dump命令)引起的损坏那先 的问題。

Dynamic Thread Pool因此在RDS 5.6/5.7/8.0版本上线,并因此默认开启,所有用户和客户都还才能受益。TPCC模型最接近企业核心业务场景,在1024或2048客户端并发的TPCC测试中,Dynamic Thread Pool还才能提升1000%-1000%左右的TpmC,并节约10%到20%的CPU资源消耗,给阿里云所有客户带来实我觉得 在的技术红利。

1月9日,依托AliSQL内核的专属主机组RDS MySQL服务即将重磅发布!

时间: 1月9日15:00 — 17:00

主题: RDS专属主机组和ECS专有宿主机 联合发布会

详情:https://promotion.aliyun.com/ntms/act/mysqlzhuanshuzhuji.html

预约直播!:https://yq.aliyun.com/live/1858

(需登陆阿里云账号哦!)

4、TDE & SM4

RDS 5.6/5.7/8.0都因此全线支持,因此支持SM4国密算法,还才能确保客户数据的安全。

??采用Listener & Worker机制,将所有请求贴到 Worker队列中,由共享的Worker程序池来执行不同用户的请求,从而不才能 每个客户端会话都创建有有十个 后台程序池(非Dynamic Thread Pool)来执行请求,比如10000个客户端连接发起请求,服务器端只才能 数十个 Worker程序池即可,而不才能 创建10000个程序池,从而还才能在有限资源内创建更多的连接。

??因此每个连接里边暂且对应固定的程序池,创建新连接时这麼 程序池的操作,因此建立新连接的成本大大降底,从而还才能提供更高和更稳定的连接创建能力。

??通过控制了有限资源内的程序池数,减少了程序池切换,有效降低了SYS CPU的使用,提升了CPU的资源使用速率单位。在高并发的sysbench point select测试中,Dynamic Thread Pool还才能提升10%左右的性能;在低并发时,Dynamic Thread Pool还才能动态切换回专用模式,即每个连接一定会 专用的Worker对应,从而保证高低并发下一定会 极好的性能。

??在数据库富含读写操作,SQL操作也还才能分为简单操作和复杂化操作,为了避免相互影响,Dynamic Thread Pool设计了多个队列,按SQL的操作成本将SQL进行分类,每个人进入不同的队列,并在队列上进行并发的控制,从而还才能隔离不同类型操作的相互影响。比如说核心业务逻辑中一定会 简单查询,新建应用未经评审的复杂化SQL就完会影响核心逻辑。

??Dynamic Thread Pool还才能动态启停,不才能 重启数据库实例。这是AliSQL Dynamic Thread Pool有有十个 非常重大的技术创新与突破。

??IO_STATISTICS,记录实例级各种不同IO的总量及时间,默认每2秒有有十个 值(可配置),还才能直接使用Grafana等工具来展示。

从业务中找需求,从技术中找需求,从运行维护中找需求,从战略媒体合作伙伴中找需求,所有的需求方一定会 我们都都的客户,老会 致力于让AliSQL更加开放更加面向企业级应用。

??table_stats,记录每个表增删除改查的行数,还才能快速地了解现有系统中的数据存取行为,判断业务的核心表,判断那先 表适合来作缓存避免。

https://yq.aliyun.com/live/1858?spm=a2c4e.11155435.0.0.47c97796lYEQzh&do=login&accounttraceid=14d775f2522241d4871f6aab6e95e597anna

(需登陆阿里云账号哦!)

MySQL代表了开源数据库的快速发展,从10004年前后的Wiki、WordPress等轻量级Web 2.0应用起步,到2010年阿里巴巴在电商及支付场景大规模使用MySQL数据库,再到2012年开始英文英文阿里云RDS for MySQL为成千上万家客户提供可靠的关系数据库服务,积累了来自內部功能、性能、安全方面的众多需求,培养了一支强劲的MySQL研发团队,并打造了面向企业场景的AliSQL分支,高效演进并稳定地服务着內部关键业务场景。

AliSQL还有其他的企业级功能,同类Sequence引挚、Statement Queue等,在这里不一一完整性解释。

9、Binlog XA Tuning

MySQL的逻辑日志(Binlog)给数据订阅带来了极大的便捷性,但也给性能带来了负面影响。在服务客户的过程中,我们都都发现企业场景对性能的要求这麼 高,便对启用Binlog后的事务提交机制进行了重大的技术突破,在不影响Binlog的前提下,去除了XA机制带来的所有负面性能影响,相较于原生的MySQL,事务避免性能提升将近一倍。更实现了事务提交的Pipeline机制,交由Dynamic Thread Pool的程序池去回复用户事务提交结果,进一步降底了程序池池的程序池数,提升了系统避免速率单位。

主题: RDS专属主机组和ECS专有宿主机 联合发布会