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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 企业运维训练营之数据库原理与实践— 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
相关文章
|
20天前
|
缓存 NoSQL Redis
Redis原理—2.单机数据库的实现
本文概述了Redis数据库的核心结构和操作机制。
Redis原理—2.单机数据库的实现
|
5月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
149 2
|
20天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB开源数据库进阶课9 读写分离
本文介绍了如何配置读写分离工具pgpool-II for PolarDB,使应用程序能够透明地实现读写分离。
36 1
|
3月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在企业IT管理中的应用与实践####
本文深入探讨了智能化运维(AIOps)的核心技术原理,通过对比传统运维模式,揭示了AIOps如何利用大数据、机器学习等先进技术提升故障预测准确性、优化资源分配及自动化处理流程。同时,文章详细阐述了智能化运维平台的实施步骤,包括数据收集与分析、模型训练与部署、以及持续监控与优化,旨在为企业IT部门提供一套切实可行的智能化转型路径。最后,通过几个典型应用案例,如某大型电商平台的智能告警系统和金融企业的自动化故障排查流程,直观展示了智能化运维在实际业务场景中的显著成效,强调了其在提升运维效率、降低运营成本方面的关键作用。 ####
81 4
|
4月前
|
存储 缓存 网络安全
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
|
5月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
177 5
Mysql(3)—数据库相关概念及工作原理
|
4月前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
104 2
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
1月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
173 42
|
3天前
|
SQL 关系型数据库 MySQL
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。