[华为云在线课程][7天玩转MySQL基础实战营][day01入门和配置][学习笔记]
【摘要】 华为云RDS for MySQL介绍 华为云RDS for MySQL介绍 - 背景几十年来,SQL数据库一直领先于NoSQL,当前SQL占据了大约60%的市场份额。2019年数据库使用率中,MySQL高居榜首。同时,在数据库流行趋势报告中,MySQL也位居前列。 华为云RDS for MySQL介绍 - MySQL现状和历史MySQL由于它的高性能,低成本,高可靠性,已经成为最流行的开源...
华为云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,则数据库崩溃恢复后,数据库的内部状态可能不一致。
- 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
- 备注:切记不要更改这个参数的默认设置,否则会导致一些问题
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)