企业运维训练营之数据库原理与实践— AliSQL和读写分离基本原理—AliSQL(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 企业运维训练营之数据库原理与实践— AliSQL和读写分离基本原理—AliSQL(上)

第二章 AliSQL和读写分离基本原理

 

一、 AliSQL

 

image.png

 

AliSQL是阿里云深度定制的MYSQL独立分支,在社区版功能上又额外提供了MySQL企业版的功能,提供了更加强大的性能,比如备份恢复、线程池、并行查询等,且能够兼容 Oracle 。

 

AliSQL基于X-Engine存储架构引擎。X-Engine是阿里云数据库产品事业部研发联机事务处理数据库引擎,目前已经应用到阿里集团诸多业务系统中,大幅缩减了业务成本。

 

全新的X-Engine存储引擎不仅能够无缝对接MySQL,同时它使用了分层存储架构的思想,面向大规模海量数据存储提供了高并发的事务处理能力,降低了存储成本。

 

在大部分大数据场景下,数据被访问的机会是不均等的,访问频繁的热数据占比很少。X-Engine能够根据数据的访问频度不同,将数据划分为多个层次。

 

image.png

 

AliSQL的常用功能如下:

 

1) Native Flashback

 

在数据库运维过程中可能会出现误操作,比如误删了某些表或表中数据。常见恢复手段是通过Binlog恢复。但Binlog操作比较复杂,容易出错且耗时较长。而通过备份集恢复则需要额外系统资源,因此在数据量较大时,恢复时间不可控。

 

针对以上痛点,AliSQL提供了Native Flashback能力。无需在客户侧进行复杂的恢复操作,经过简单的SQL语句,即可查询与恢复误操作前的历史数据,节省了大量时间,保证了业务平稳运行。

 

2) Thread Pool

 

数据库团队为了发挥RDS的最佳性能,提供了Thread Pool功能,将线程与会话分离。在拥有大量会话的同时,只需少量线程即可完成会话任务。MySQL默认线程使用会话独占模式,因此每个会话都会创建独立线程。大量会话存在会导致大量资源争抢,导致大量系统线程调度与缓存失效,进而导致数据库性能急剧下降。

 

阿里云RDS线程池实现了不同SQL的操作优先级与并发控制机制,将连接池始终控制在最佳连接数附近,保持在高性能状态。线程池具有几个优势:

 

在大量线程并发工作时,线程池会自动调节线程数量在合理范围之内,不会过高

 

大量事务并发执行时,线程池会将语句与事务分为不同优先级

 

线程池可以给予管理类SQL更高优先级,保证此类语句优先执行。

 

3) Statement Outline

 

在生产环境中,SQL语句执行计划可能经常发生改变,而利用optimizer hint与index hint可以使MySQL稳定执行,计划保持不变,以最优方法持续执行。

 

4) Sequence Engine

 

在RDS数据库系统中,不论是单节点业务组件还是分布式系统的全局唯一值,或更多系统的幂等控制,单调递增唯一值是用户的常见需求。不同数据库系统有不同的实现方法,MySQL中提供了AUTO_INCREMENT。

 

在MySQL数据库中,如果业务希望封装唯一值,使用AUTO_INCREMENT方法会有很多不便。在实际应用中也存在不同的折中方法,比如序列值由应用端或proxy生成,弊端在于会将状态带到应用端,增加扩容与缩容复杂度。因此AliSQL提供了sequence engine功能,实现了MySQL存储引擎的设计接口,但底层数据仍然使用现在的存储引擎,以达到效果。

 

5) Returning

 

MySQL语句执行结果的报文通常分为三类,分别为Resultset、OK和ERR。针对DML语句,返回OK或ERR报文会影响记录或扫描记录等属性。因此,在很多业务场景下,执行insert、update、delete等DML语句,都会跟随select查询当前内容,以方便后续的业务处理,减少客户端与服务器的交互。

 

6) Lizard事务系统

 

Lizard事务系统能够更好地提升MySQL数据库的吞吐能力,支持分布式事务与全局一致性。

 

image.png

 

使用Native Flashback功能时,可以通过select...from<表名> as of timestamp<表达式>。具体示例如上图,第一个示例表示将数据恢复到2020-11-11 0点,也支持表达式的方式。

接下篇:https://developer.aliyun.com/article/1225618?spm=a2c6h.13148508.setting.19.187d4f0etAV6Hb

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
29天前
|
SQL 数据挖掘 关系型数据库
阿里云百炼|析言GBI全新发布:联合云上数据库,助力企业轻松实现ChatBI
析言GBI是阿里云推出的一款基于AI的智能数据分析产品,通过自然语言处理实现对话式数据分析。用户无需编写代码,即可轻松进行数据查询、分析和可视化。该产品支持多种数据库连接方式(如MySQL、PostgreSQL等),并提供多版本选择以适应不同业务需求。即将发布的动态规划BI分析功能将进一步提升复杂问题的拆解与综合分析能力。欢迎访问阿里云百炼应用广场体验析言GBI,并享受200次免费问题额度。
|
16天前
|
弹性计算 人工智能 运维
新手训练营——使用操作系统智能助手OS Copilot轻松运维与编程
本文摘自阿里云操作系统团队的林演(林生)关于操作系统智能助手创新产品的分享,围绕“OS Copilot的高效运维与编程”展开,主要包括以下几方面的内容: 1. 行业痛点击及背景 2. 产品与架构 3. 典型应用场景 4. 实验及反馈渠道
|
1月前
|
存储 NoSQL 关系型数据库
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
我们的风控系统引入阿里云数据库MongoDB版后,解决了特征类字段灵活加减的问题,大大提高了开发效率,极大的提升了业务用户体验,获得了非常好的效果
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
|
3月前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
3月前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
3月前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
3月前
|
NoSQL 关系型数据库 OLAP
如何选择最合适的数据库,帮助企业及个人业务更好的开展
如何选择最合适的数据库,帮助企业及个人业务更好的开展
|
6月前
|
存储 运维 NoSQL
现代化企业管理中的数据库选择与优化策略
在当今信息化时代,企业管理越来越依赖于高效的数据库系统来支撑业务运作。本文探讨了在选择和优化数据库时需要考虑的关键因素,包括数据类型、访问模式以及性能需求。通过分析不同数据库系统的特性和优劣势,帮助企业在面对日益复杂的业务需求时,选择合适的数据库解决方案,提升管理效率和业务运行质量。
|
7天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
12天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
115 0

热门文章

最新文章