[华为云在线课程][7天玩转MySQL基础实战营][day01入门和配置][学习笔记]

网友投稿 598 2022-05-28

华为云RDS for MySQL介绍

华为云RDS for MySQL介绍 - 背景

几十年来,SQL数据库一直领先于NoSQL,当前SQL占据了大约60%的市场份额。

2019年数据库使用率中,MySQL高居榜首。同时,在数据库流行趋势报告中,MySQL也位居前列。

华为云RDS for MySQL介绍 - MySQL现状和历史

MySQL由于它的高性能,低成本,高可靠性,已经成为最流行的开源数据库。MySQL最初是瑞典MySQL AB公司开发的一款开源数据库,在2008年被Sun公司收购,在2009年Sun公司被Oracle公司收购,目前,MySQL是Oracle旗下的产品。

目前活跃的MySQL的社区分支有MariaDB和Percona。

MariaDB是MySQL创始人领导,皆在保持开源和免费。

Percona与官方MySQL版本保持紧密兼容,并添加了许多独立的特性。

华为云RDS for MySQL介绍 - 功能

华为云RDS for MySQL将MySQL作为服务提供(Database as a Service,DaaS)。在华为云中,应用程序所有者不需要安装和维护MySQL数据库,这些工作由华为云来负责。

华为云RDS for MySQL提供数据库的完全托管,超高性能,数据可靠,高速拓展,备份恢复以及海量存储功能。广泛应用于物联网,电子商务应用,电子政务,以及游戏等行业。

同时华为云RDS for MySQL提供了MySQL社区所有的维护版本:5.6/5.7/8.0,以及灵活的部署方式,包括单机、主备、只读、分布式实例以及金融版实例。提供不同的性能规格,以便应对不同场景和需求。

华为云RDS for MySQL优势

华为云RDS for MySQL优势 - 高性能

华为云RDS for MySQL支持混合SSD实例,它结合了华为云容器、本地SSD盘和高速云盘多重优势,利用华为云容器的热变更能力,以及本地SSD盘的强劲性能和高速云盘的高扩展性,在性能、稳定性、扩展性等方面具有卓越的表现。

根据华为云用户的测试情况,同规格华为云RDS for MySQL混合SSD盘实例性能优于业内通用的本地盘实例性能,整体性价比领先15%以上。

华为云RDS for MySQL优势 - 高可用

华为云RDS for MySQL有更高的服务可用性。主备实例提供故障自动切换和手动切换,业务中断时间为秒级,以及异地灾难备份,最大程度上在出现故障的情况下保障整个数据库集群的可用性。所有版本均支持Logical_clock并行回放机制,并且通过非持久化的技术,使得备库和只读库的回放速度极大的提升。纯写压力下也能做到Second behind master为0.

华为云RDS for MySQL有更高的数据可靠性。每日定时全量物理备份,实时增量备份,每5分钟增量归档,数据存储在OBS中,安全可靠。可以恢复到任意历史时间点的数据库试图,并且支持表级恢复,解决表误操作数据恢复等问题。

华为云RDS for MySQL优势 - 高使用性

华为云RDS for MySQL支持多个企业级特性

连接线程池,高并发下保持数据库的性能稳定

审计日志,极端只写场景性能损失在5%以内

数据加密,加密整个MySQL的所有数据和日志

加速加列,数据表秒级快速加列,无业务阻塞和磁盘压力,业务高峰期内也可以实时调整业务

内存管理优化,提升内存申请速度和降低内存使用等等

华为云RDS for MySQL有更高的性能

单行热点场景优化,在抢购类高并发热点数据中维持高TPS

逻辑预读,提升全表扫描分析型SQL执行时间

自适应脏页算法,page cleaner并行化优化增强刷盘性能

SQL aggregation下推,提高聚合计算性能

并行查询,数十倍提高查询性能等等

华为云RDS for MySQL有更快的BUG修复和用户痛点特性支持。自动连接模式下支持create table select语法,支持事务内删除临时表等。

华为云RDS for MySQL优势 - 监控和运维

华为云RDS for MySQL有更强的监控和运维功能。15个资源监控项,34个数据库监控项,自定义告警规则。

MDL + InnoDB锁视图信息,快速定位业务问题

运维预留链接,解决业务用尽所有连接,运维无法登录恢复业务问题。

Kill空闲事务,避免空闲事务长时间不结束,导致磁盘占用激增。

内核版本升级:用户数据库通过该功能升级到最新版本,包含修复的BUG和更多新增特性。慢日志收集及统计分析,方便定位问题SQL。

华为云RDS for MySQL相对自建库的优势

华为云RDS for MySQL拥有世界级的MySQL专家团队,源源不断地研发新的特性来满足客户的需求,让客户的业务运行更顺畅。

华为云RDS for MySQL拥有专门的运维团队为客户分忧解难。

华为云RDS for MySQL与自建库在成本相当的情况下,华为云RDS for MySQL提供了数据可靠,高可用,性能增强,企业级特性,自动运维等诸多保证。

华为云RDS for MySQL入门

华为云RDS for MySQL入门 - 用户注册

使用华为云RDS for MySQL之前,需要注册华为云账号

华为云RDS for MySQL入门 - 实例创建

华为云RDS for MySQL提供了丰富的创建选项,在这里可以配置数据库版本,实例规格,部署形式,网络,安全等功能。

华为云RDS for MySQL入门 - 实例管理

华为云RDS for MySQL入门 - 备份恢复

支持物理备份和逻辑备份两种方式,每天定时执行一次全量物理备份,同时每5分钟进行一次逻辑增量备份,备份存留时间可自定义。可以通过这些备份恢复到数据库的任意时间点。并能够根据备份文件快速创建备实例或只读实例。

华为云RDS for MySQL入门 - 性能监控

15个资源监控项,34个数据库监控项,自定义告警规则,能够监控整个实例集群的一举一动。

华为云RDS for MySQL入门 - DAS

DAS-标准版:SQL可视化查询

华为云RDS for MySQL入门 - 数据迁移

1,在线迁移

支持通过多种网络链路,实现跨云平台数据库迁移、云下数据库迁移上云或云上跨Region的数据库迁移等多种业务场景。

特点:通过增量迁移技术,能够最大限度允许迁移过程中业务继续对外提供使用,有效的将业务系统中断时间和业务影响最小化,实现数据库平滑迁移上云。

2,数据同步

数据同步在截然不同的系统之间实现关键业务数据的实时流动,不同于迁移,迁移数据以整体搬迁为目的,同步是维持不同业务系统之间数据的持续流动,常见的场景是:实时分析、报表系统、数仓环境。

特点:聚焦在表和数据,并满足多种同步灵活性的需要,如多对一,一对多,不同表名之间同步数据等。

3,多活灾备

通过异地近实时的数据同步可以实现跨区、跨云、本地和云、混合云之间数据库形成灾备关系,提供一键主备切换、数据对比、时延监控、数据补齐等容灾特性支持容灾演练、真实容灾等场景,支持主从灾备、主主灾备多种灾备架构。

特点:异地远距离传输优化,围绕灾备提供特性,不同于业界基于简单的数据同步形成方案。

4,数据订阅

获取数据库中的关键业务的数据变化信息常常是下游业务所需要的,数据订阅将这类信息缓存并提供统一的SDK接口,方便下游业务订阅、获取、并消费,从而实现数据库和下游系统解耦,业务流程解耦。

常见场景:Kafka订阅MySQL增量数据

华为云RDS for MySQL配置

华为云RDS for MySQL提供了丰富的参数配置,所有参数设置均已经进行了针对云上场景的调优,没有特殊需要不建议进行更改。

sync_binlog

参数含义:控制binlog刷盘的频率。当值为0时,不强制刷盘,binlog依靠操作系统刷入磁盘。当值为1时,确保binlog在一组事务提交前刷入磁盘。当值为N时(非0或1),表明每N个binlog组提交刷一次盘。

取值范围:Integer(0-4294967295)

推荐值:1

备注:为了提高性能binlog使用组提交的方式,sync_binlog=1表明binlog每组事务提交时写入并刷一次盘。

innodb_flush_log_at_trx_commit

参数含义:控制提交操作的ACID遵从性和更高的性能之间的平衡。要完全符合ACID,需使用默认设置1,日志在每次事务提交时写入并刷新到磁盘。设置为0时,每秒写入一次日志并将其刷新到磁盘,尚未刷盘的日志可能会在系统崩溃时丢失。设置为2时,每次事务提交后写入日志,并每秒刷新到磁盘,尚未刷盘的日志可能会在系统崩溃时丢失。

取值范围:0,1,2

推荐值:1

备注:binlog使用组提交方式时,innodb_flush_log_at_trx_commit设置为1表明REDO LOG每组事务提交时写入并刷一次盘。如果sync_binlog和innodb_flush_log_at_trx_commit不同时设置为1,则数据库崩溃恢复后,数据库的内部状态可能不一致。

[华为云在线课程][7天玩转MySQL基础实战营][day01入门和配置][学习笔记]

innodb_buffer_pool_size

参数含义:用于InnoDB表和索引的缓存数据的内存大小。

取值范围:

最低值:5242880

最大值(64位平台):2^64-1

最大值(32位平台):2^32-1

推荐值:规格相关

备注:例如此类规格相关的性能参数,华为云RDS for MySQL已经根据相应的规格进行调优,如果不十分了解此类参数的原理,或没有必须修改此类参数的需求,切记不要更改这个参数的默认值。

foreign_key_checks

参数含义:如果设置为ON,则会检查外键约束,如果设置为OFF,将忽略外键约束

取值范围:ON,OFF

推荐值:ON

备注:切记不要更改这个参数的默认设置,否则将会导致一些问题

unique_checks

参数含义:如果设置为ON,InnoDB中进行二级索引的唯一性检查,如果设置为OFF,则跳过检查,此时需要业务保证数据不包含重复索引。

取值范围:ON,OFF

推荐值:ON

备注:切记不要更改这个参数的默认设置,否则会导致一些问题

lower_case_table_names

参数含义:控制MySQL中库名、表名、表别名是否区分大小写。0代表区分,1代表不区分。

取值范围:0或者1

推荐值:1

备注:切记不要更改这个参数的默认设置,否则会导致一些问题

MySQL

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spark-submit 参数设置
下一篇:嵌入式设备——如何实现主车前进?
相关文章