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

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

接上篇:https://developer.aliyun.com/article/new/supportservice?spm=a2c6h.12873639.article-detail.5.54996a8dc54xBE&publish=1225627#/?_k=31yqb0image.png

 

AliSQL在性能方面提供了四大能力:

 

1) Fast Query Cache

 

该能力主要针对原生MySQL Query Cache的不足进行了重新设计与全新实现,解决了原生MySQL query存在的的问题:

 

并发控制方面进行了优化,取消了全局锁的同步机制,采用无锁机制,重新设计了并发场景下的同步问题,能够充分利用多核处理能力,保证高并发下的数据库性能

优化了内存管理,取消了内存预分配机制,采用了更加灵活的动态内存分配机制

优化了缓存机制,动态检测缓存利用率,实时调整缓存策略,解决命中率偏低或读写混合场景下性能下降问题。

 

因此,Fast Query Cache 是对原生MySQL Query Cache的极大提升。

 

2) Binlog in Redo

 

事务提交时,Binlog内容同步写到Redolog里,减少了对数据库磁盘的操作,提高了数据库性能。

 

3) Statement Queue

 

针对排队机制将语句进行分桶排队,尽量将相同冲突的语句放到一个桶内。MySQL服务层与引擎层在语句并发执行过程中有很多串行点容易导致冲突,系统吞吐量会随着客户业务端的并发增加而递减。因此AliSQL提供了Statement Queue机制,通过分桶排队方法,减少了冲突开销,提高了实例性能。

 

4) Inventory Hint

 

该功能主要用于帮助快速提交与回滚事务,能够有效提高业务吞吐能力。

 

image.png

 

Inventory Hint使用示例如上图所示。

 

image.png

 

AliSQL在稳定方面提供了以下5种能力:

 

1) Faster DDL

 

该功能能够优化DDL操作过程中的Buffer Pool管理机制,降低DDL操作带来的性能影响,提升在线DDL操作的并发数。使得客户实例在平常的业务压力下安心执行DDL,不会发生问题。

 

2) Statement Concurrency Control

 

该能力主要为应对数据库请求流量资源消耗过高的语句与SQL访问模型的变化,保证MySQL实例持续稳定运行。

 

3) Performance Agent

 

AliSQL提供了更加便捷的性能数据统计方案,通过MySQL插件的方式实现MySQL内部各种性能数据的采集与统计。将最近一段时间的性能数据汇总入一张内存表,客户可以直接查询该表获取最近一段时间的性能统计数据。

 

4) Purge Large File Asynchronously

 

可以用异步的方式删除大文件。在原生MySQL InnoDB下,直接删除大文件可能会导致严重的稳定性问题。而AliSQL下,会启动后台线程异步清理数据文件。删除单个表空间时,会将对应数据文件先命名为临时文件,用于异步线程删除,保证系统的稳定性。

 

5) Performance Insight

 

该能力主要专注于实例负载监控、关联分析以及性能调优。

 

image.png

 

异步删除大文件时,需要先设置参数,比如InnoDB、data等,删除时通过查询系统表查看整体进度。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
27 3
|
21天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
22天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
24天前
|
SQL Java 数据库
Spring Boot与Flyway:数据库版本控制的自动化实践
【10月更文挑战第19天】 在软件开发中,数据库的版本控制是一个至关重要的环节,它确保了数据库结构的一致性和项目的顺利迭代。Spring Boot结合Flyway提供了一种自动化的数据库版本控制解决方案,极大地简化了数据库迁移管理。本文将详细介绍如何使用Spring Boot和Flyway实现数据库版本的自动化控制。
23 2
|
1月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
54 11
|
1月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
1月前
|
Rust 前端开发 关系型数据库
Tauri 开发实践 — Tauri 集成本地数据库
本文介绍了在 Tauri 框架中集成本地数据库的几种方案,包括直接绑定 SQLite、使用第三方数据库库和使用 tauri-plugin-sql-api 插件。最终选择了 tauri-plugin-sql-api,因为它集成简单、支持多种数据库类型,并且与 Tauri 框架深度整合,提升了开发效率和安全性。文章详细介绍了如何安装和使用该插件,以及如何编写核心代码实现数据库操作。
146 2
|
1月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
54 5
|
1月前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
54 3
|
1月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
55 1