开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:数据库选型最佳实践(一)】
课程地址:https://edu.aliyun.com/course/3112080/lesson/19077
数据库选型最佳实践(一)
内容介绍
一、上云,数据库如何选型?自建,还是云数据库?
二、云数据库的基本形态,如何选型?
三、上云姿势的选择:备份,原生复制,还是DTS?
四、业务不同的发展阶段,数据库和 DBA 如何选择?
课程目标
学习完本课程后,你将能够:
1.了解云数据库相比自建数据库的优势
2.云数据库的基本形态,如何选择
3.如何选择多种产品组合,解决特定的场景问题
课程目录
1.上云,数据库选择自建,还是云数据库?
1.1自建模式的问题
1.2云数据库的优势
2.云数据库的基本形态,如何选型?
3.选择云数据库,如何实现不停机上云迁移
4.如何选择多种产品组合解决特定的场景问题
5.上云,DBA如何做职业的规划与选择?
一、上云,数据库如何选型?自建,还是云数据库?
以 MySQL 为例,来看一下自建数据库的优势和劣势。
自建数据库经常采用的模式是:购买一台 ECS 云主机挂在一个云盘,构建一个一主一从的主从复制模式。然后采用 MHA 或者Keepalived 来实现数据库的高可用切换,这种模式是很多自建所通用的模式。
1.优势和劣势
(1)优势
①跟IDC一样,熟悉的架构,熟悉的味道
②自主运维,可控性很强
※自建 nagios 实现监控
※自建 Amoeba 实现读写分离
※出问题自主诊断,自主解决,万事不求人
(2)劣势
①开源组件,没人兜底:内核、监控、读写分离……
②配置和运维复杂;需要针对MySQL特点开发额外脚本会有脑裂的问颇,一旦在业务高峰期出现问题宁可修复,也不敢切换。
③运维这样的模式需要一支能力很强的团队运维
2.云上数据库提供一站式服务
以 RDS 为例,RDS 提供了99.99%的服务性,从 RDS 的部署模式中可以看到 RDS 是采用了一主一备的模式,当原主库发生故障之后,会自动化地切换到新主库。因为使用了数据库代理的模式,所以老连接会中断,从而在新的主库上构建起新的连接。所以在发生高可用切换之后大部分连接在实际上都可以保持连接,不会发生中断。
这样类型的架构是构建在云管控之上由云管控做生命周期的管理,包括有监控、高可用检测等都是在云管控中完成。所以它具备了一些特点。
(1)决策:准
①分布式高频探测
②网络/硬件/OS/数据库多重监控
③智能决策系统
④数据一致性保护
(2)执行:轻
①新连接直接到备节点
②空闲的老连接,自动切换到备节点;
③事务中或运行中的老连接,等待10s后切换到备节点,超时Kil。
④总共用时<60s
3.RDS 优势概览
RDS 是由资源和附加价值两部分来构成的,资源占 RDS 三分之二的成本,另外三分之一的成本是 AliSQL 带来的附加价值。
AliSQL 指的是 Ali 在 RDS 中所使用的发行版本。
阿里巴巴在长期实践中所构建的修改过许多漏洞、做过十分多的性能优化的的 MySQL 发行版本。它的附加价值在于提供了灵活多变的规格构成,实现了99.9999%的数据持久保障以及99.99%的可用性保障。它提供了全链路加密安全保障、自动化读写分离代理以及慢查询,SQL限流、CloudDBA智能诊断,监控告警,透明切换,AliSQL,内核优化还可以提供自动化备份与时间点恢复,短连接链路池优化,弹性敏捷,在线升降配。
二、云数据库的基本形态,如何选型?
1.云数据库具备灵活的版本选择
云数据库提供了基础版、高可用版、三节点企业版、专属集群版,四种版本的选择。基础版提供用于云服务一样的成本,提供的是高性价比的选择,是 laaS 的基础设施资源,提供的是PaaS 的服务。云上中用的最多的,大部分顾客的选择是高可用版本。高可用版本是一个主节点,一个备节点,从而做到主从的复制,它提供了业务的连续性和多项企业级功能。三节点企业版是采用三个节点,数据的复制采用 Raft 一致性算法,它提供的是金融记得数据安全性,做到了三机房部署和数据0丢失。专属集群版是 RDS 的高级形态,它采用的是灵活的调度和自主调控的模式,对资源做完整的跨主题的资源调度。
2.选型进阶:数据库专属集群
专属集群级两者之大成,融合了 RDS 和 ECS 自建,集两者之大成的一种选择。
RDS 的优势在于它是AliSQL内核,淘宝大促验证过的云数据库;以及高可用,99.99%可用性;全托管,简单易用;完善的备份、恢复、回档;提供了 CloudDBA , DMS 工具支持。它的劣势在于比ECS自建略贵;灵活性差,不开放主机和 mysql root 权限以及底层运维依赖于阿里支持体系,不能自主操作。
ECS 自建的优势在于成本低;自主运维,从OS到DB,掌控力强,为 DBA 提供强管控能力;所以从头到尾可以体现DBA价值。但它的劣势在于开源内核,不稳定,依赖社区做bug修复;自主搭建高可用,存在数据一致性漏洞;生态支持工具不完整,需要自主搭建;运维管理投入成本高。
所以专属集群是集两者之大成,即融合了 RDS 的优势,又融合了自建的优势。它的内核采用 AliSQL ,提供99.99%的可用性保障,采用全托管的方式,简单易用。
以及像备份、恢复以及回档,工具等均是内嵌完成的。同时也融合了自建的优势,成本非常;提供了自主运维,也是从操作系统到数据库,体现 DBA 的价值。所以这是一种云自服务和自主运维相结合体现 DBA 价值的集两者优势大成的专属集群。它即提供了灵活的资源复用,又降低了数据库整体的拥有成本。
3.选型进阶:PolarDB 实现云原生弹性
PolarDB 云原生数据库是采用计算与存储分离架构带来的巨大的成本优势。它可以实现数据库随需弹性扩缩容。
首先假设有一套电商的业务,在日常情况下没有那么大的流量时可以选择最小模式,最小模式是一主一从,采用分布式的共享存储做数据的存储。最小模式因为有两个节点,每一个节点采用的规格是2核,4G,一共是2个节点。这样的一套最小规格在阿里云的是560一个月。
当峰值到来做一部分大促时,可以从日常最小规格扩大成最大规格,最大规格每一个节点可以扩展到88核,710G。一共可以支持16个节点,16个节点中1个是主节点,15个是指独节点。这样可以提供一个巨大的数据库的处理能力,最大规格在阿里云的列表价格是每个月56.3万元。从成本上来看,提供了一千倍的的资源弹性。所以说这样的架构是满足了一些业务诉求,首先来说是存储容量的诉求。这样的一套 PolarDB 在单实例上面可以承载上百个 TB 的存储。而且对于存储来说,采用的是按使用量计费。在不使用的情况下可以不做计费,等同于提供了无限大的存储空间的能力。也可以做到资源规格灵活变配,按需调整。从最小规格升级到最大规格,可以实现分钟级的快速扩缩容。
这种解决方案满足了弹性变配与读写分离的要求,提供了1000倍的弹性变配的能力,分钟级的扩缩容能力,在扩缩容的过程中对业务没有影响。以及提供了读写分离的扩展,最大可支持1主15从,单实例提供了100TB的超大容量。存储容量不需要提前购置,用到多少按多少来计费。是一种非常灵活的模式。