开发者学堂课程【云数据库选型及架构设计:阿里云数据库产品家族及特性】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/596/detail/8561
阿里云数据库产品家族及特性
内容介绍
一、阿里云数据库产品底层
二、阿里云数据库及特性-1
三、阿里云数据库及特性-2
四、云数据库应用场景选型
五、云数据库产品关联及数据同步
一、阿里云数据库产品底层
本节介绍阿里云数据库目前现有的产品以及产品各自的一些特性,主要包括各类的数据库支持的版本还有产品形态以及试用的一些场景,这样便于后续在实际的数据库架构中做一个更好的选型。
这张图主要是阿里云数据库相关的产品、输出形态以及数据库的产品类型。在产品的基础之上,阿里云做了一些配套、服务和工具。
比如在 ORTP 产品下目前阿里云数据库有 MySQl、MariaDB... 除此之外阿里云还自研出数据库相关产品:TableStore、HybridDB... 这所有的产品支持的一些版本及试用的场景,后面会重点介绍。
数据库之上阿里云还提供了一些功能和配套的工具,主要包括几个方面。
常规运维方面,比如高可用管理、备份恢复、日志管理、监控报警这些配套的功能在阿里云数据库的公示台上都已经实现了。数据管理方面除了数据同步数据订阅提供了一系列的开发支持以及变更管理配套的一些服务。
为了保证数据安全方面对于在网络安全上、SQL 审计上、操作审计上也有配套的工具进行一个支持。
为了更好的帮助客户用好数据库,还提供了一系列的服务优化,例如数据库参数的管理、负载评估、以及架构的一些建议 SQL 性能的智能诊断跟优化。不难看出阿里云数据库除了在数据库引擎上覆盖得比较全面,还在日常管理数据库的方方面面提供了非常好的全套服务。
二、阿里云数据库及特性-1
在各类的阿里云数据库引擎方面到底支持哪些具体的版本跟产品的一些形态呢?
阿里云数据库 |
引擎类型 |
版本 |
产品类型 |
特性 |
云数据库RDSMySQL 版 |
MySQL |
5.6 5.7 |
单机版 高可用版 金融版 |
稳定性、性能优于开源版 故障快速恢复 简化日常的管理运维 |
云数据库 RDS SQLServer 版 |
SQL server |
2008 2012 2016 |
WEB 版 标准版 企业版 |
解决版权许可 提升可用性及数据安全简化管理运维 |
云数据库 Redis 版 |
R |
2.8 4.0 |
标准版(单副本)标准版(双副本)集群版(单副本)集群版(双副本)读写分离版 |
双活 集群功能更为丰富 自动读写分离 支持热升级 |
云数据库MongoDB 版 |
MongoDB |
3.2 3.4 |
单节点 副本集 集群版 |
Oplog 同步性能、短连接性能优化 备份效率明显提升 防 DDOS 攻击、SQL 审计 |
云数据库 HBase 版 |
HBase |
1.1 2.0 |
单节点 集群版 同城双活 |
稳定性级性能更优 冷热数据分离 SPARK. SOLR 的支持 专家运维服务 |
三、阿里云数据库及特性-2
在其他类型的数据库方面,阿里云相关的产品对应的一些版本,产品的一些形态
1.例如在 PostgreSQL 方面,目前支持的版本有9.4、10.0它能够很好的帮助客户实现一个异地灾备,和为了从整体上控制成本,现在也支持通过 oss_fdw 插件把数据转储到 oss 存储上。
2.为了解决传统客户以前使用 Oracle 场景上的一些需求,阿里云还有一个数据库叫 PPAS 版,PPAS 版是一个高度兼容 Oracle 数据的数据库版本,它有丰富的一个驱动接口,它能够很方便的高效的帮助客户将传统的 Oracle 数据库迁移到云数据库上。
3.除了在使用了一些开源的数据库之外,阿里云还自研了一个 POLARDB ,它是一个百分之百兼容 MySQL5.6 的一个关系型数据库,4.为了应对业务数据越来越大阿里云数据库目前还有两个分布式架构的数据库。第一个是 HybridDB for PG,它是一个高度兼容 Greenplum 的一个分布式数据库,它能够在大数据量高容量的前提下提供一个高性能的一个服务。
5.而 HybridDB for MYSQL 是 MYSQL 体系下支持分布式的一个数据库,能够很好的用于一些报表分析实时的高并发的一个高性能的查询,它目前有两种产品形态,行存和列存,它的成本非常低,SQL 兼容度相对来说会非常好。
阿里云数据库 |
引擎类型 |
版本 |
产品形态 |
阿里云数据库特性 |
云数据库 RDS PPAS |
RDS PPAS |
9.4 10.0 |
基础版(10.0) 高可用版 |
异地灾备 0SS-fdw 插件 支持 OSS |
云数据库 RDS PostgreSQL |
PostgreSQL |
兼容Oracle 10/11 |
高可用版 |
高度兼容 Oracle 丰富的驱动接口 |
云数据库 POLARDB |
POLARDB |
100%兼容 MySQL5.6 |
读写分离 |
计算存储分离 弹性灵活 读写分离低延迟 无损切换 |
HybridDB for PostgreSQL |
HybridDB for PG |
兼容 Greenplum |
高性能 高容量 |
支持 OSS 存储 支持 JSON 数据类型 HyperLogLog预估分析 |
HybridDB for MySQL |
HybridDB for MySQL |
高度兼容 MySQL5.6 |
行存 列存 |
存储能量大 高性能并发成成本低 SQL 兼容度高 |
四、云数据库应用场景选型
这么多数据库产品应该怎么选择?
首先来看大概一个应用场景选型的数据库图,例如在传统的事物性要求比较高的一些数据,在业务场景下例如在线交易场景,目前能够选择的数据库类型包括 MySQL、SQLServer、PostgreSQL、PPAS、POLARDB,这些又是怎么区分的呢?例如如果我们前期都是使用 MYSQL 体系下,我们在云上就可以选择 MySQL、POLARDB 数据库产品,如果是传统厂商做的一些软件他可能前期使用的是 SQL Server 数据库,在云上也有丰富的数据库来支撑业务,它也包括各类数据库的版本,如果想把传统的 Oracle 数据库迁移上云数据库从而省掉 Oracle 许可的问题,可以选择 PPAS 之类的数据库。
而为了提升一些实时的业务的性能更好的为客服提供更好的服务,还会有一些产品有一些缓存数据库的需求,例如像游戏,电商,直播,这种要求非常高的场景下,在阿里云上数据库也会有对应的产品进行一个支撑,例如Redis,Memcache 之类的缓存数据库也是可以供大家进行选择,
考虑到游戏、物流、电商、物联网一些特殊场景的一些实例的需求,目前也有 MongoDB 之类的文档数据库进行很好的支撑,这类数据库使用的好处频繁的在对表结构进行一些修改,对于能够使用架构比较灵活的 Mongo 数据库非常好。
随着业务数据库数据发展越来越快,整体数据越来越多的时候客户也一定需要做一些仓库报表分析的一些场景,针对于这些场景,也就是传统意义上的理解的 OLAP 场景,目前阿里云数据库上也是有两款对应的产品支持的,例如HybridDB for MySQL( TP+AP=HTAP 混合负载)、HybridDB for PostgreSQL (基于 Greenplum ),如果前期都是使用 MYSQL 数据库去做传统的交易类的场景想用一种更高容量性能的一个架构去支撑做一些分析,就可以选择HybridDB for MYSQL。
对于超大数据量并发性能要求又非常高,例如那种风控类、物联网、车联网之类的话,目前阿里云上也有一款非常适合的数据库产品,就是HBase数据库
事务性要求高在线交易类 |
缓存、效率、游戏、电商、直播等 |
游戏、物流、电商、内容、管理、社交、物联网、视频直播 |
数据仓库报表分析 |
大数据类、高并发高新更风控类、物联网 车联网 |
OLTO 关系型数据库 |
缓存数据库 |
文档数据库 |
OLAP |
分布式数据库 |
MySQL SQLServer PostgreSQL PPAS POLARDB |
Redis Memcache |
MongoDB |
HybridDB for MySQL)(TP+AP=HTAP 混合负载) HybridDB for PostgreSQL(基于Greenplum) |
HBase |
五、云数据库产品关联及数据同步
针对不同的数据库,阿里云有配套的工具更好的做数据的打通,从而为客户提供一整套的方面服务。主要涉及到的工具:DTS 。他支持绝大部分易购数据库之间的数据同步,让更多不同类型的数据库之间的数据进行更好的流通。为了整体扩大数据库的容量,有些数据库产品会给oss进行打通。可以根据业务的需求把更多的数据转储到 oss 上,经过一系列的打通可以通过 QuickBI 为客户提供整体的报表。