云上数据库类产品的模式与发展趋势
摘要:
数据库类的产品是各个云上面标准的产品,本文通过华为云、金山云、腾讯云、阿里云几种国内的主流云上面的数据库产品,介绍云上数据库类产品的现有模式、未来发展趋势。
云上数据库类产品的目标
云上产品的大目标是帮助客户多、快、好、省地构建自身的系统,云上数据库也是大目标中的一个部分。
云上数据库可以分成几个层次:
基本目标:云上服务必不可少的组成部分,如果没有本云功能就不完备,因此 MySql、Redis 等基础产品都是要有的;
特色功能:为客户提供本云的特色功能,丰富本云的生态,比如:【某种场景中】性能更高、成本更低、使用更灵活;
增值功能:在互联网应用之外,提供增值的服务,比如大数据场景的分析功能;
MySql 关系型数据是个各个云标配中的功能,凡事海豚的标志就是代表 MySql。
Redis 代表了 No-Sql,也代表了缓存类的主流库,基本也是各个云上面标配。
在云上面,基本的产品分成几类,它们都是组成的一个基本互联网应用的所需要的:
第 1 类:跑用户应用的云服务器,按 IaaS 资源计费;
第 2 类:容器平台。一般是 kubernetes 的平台,以当软件附赠服务为主;
第 3 类:网络(LB、私有网络)、存储(文件存储、CDN)等:必要配套设施,也按资源收费,但计量方式很多;
第 4 类:数据库类,用户应用所依赖的,属于必备设施;
云上数据库类产品的种类
云上数据库类产品的种类,大致可以如此划分:
关系型数据库(SQL 类)
非关系型数据库 (NO-SQL 类)
其他
前两类一般属于标配,除此之外,类似队列有的时候也被归为数据库产品,这其实是由于它们的产品模式比较类似。
华为云、金山云、腾讯云、阿里云当中数据类的产品,大致也是大同小异,属于符合某一个分类。
华为云的数据库产品被称之为 DBS, 子产品按照关系型数据库、非关系型数据库、数据库生态分成三类。
金山云的数据库类产品大约是下面样子。
腾讯云的数据库类产品统称为 TencentDB(腾讯云数据库),开源的、自研的均有,还有一体机的方案。
阿里云的数据库方案分成关系型数据库、NoSQL 数据库、数据仓库、数据库工具几个类型,产品的形态比较丰富。
运作模式
云上的数据库产品,并非一个“裸”软件,它是运行于别人云环境中运行一个完整系统,包括了各种配套的设施。正因如此,在云上的数据库,是否开源并不重要、也相差不大,因为核心的数据库软件所占比较较小。
云上的数据库产品往往提供比较丰富的文档,甚至包括一些参考案例。从客户的角度,可以从以下的几个角度去把握:
创建流程:一般有特定控制台
部署方案:实例结构、主从结构、集群模式、分片模式等
工具和 API:备份、恢复工具、迁移、配置管理、监控、日志、可视化
计费模式:提前租用、按需付费
SLA 定义:可用性保证、服务赔偿条款等
如果是与开源有对标的数据库,还需要看一些版本的兼容性,由于数据库产品的性能与成本密切相关,因此在云上面往往是同一个产品可以提供多种模式。
API 则是云上数据库产品的第一个抓手,可以了解这个数据库产品有哪些功能。
下面是华为云的 Redis 产品的 API。
下面是腾讯云的 Redis 产品的 API。
作为 Redis 产品 API,其实本身与 Redis 关系不大,却是与管理等配套的功能。
选型模式是云上数据库产品的第二个基本抓手,可以了解这个产品在云上面的形态是什么。
比如下面是阿里云的 MySql 选型指南,这里面包括了 4 种模式,这本身是性能、功能和付费的平衡。
基本场景
云上数据库类产品的基本场景就是互联网应用,它的模式一般是这样的:
云数据库一般在本家云使用
服务于运行于云服务器(无论用不用容器)上面的各种应用;
MySql 类的产品做主存储;Redis 类的东西做缓存;
往往需要配上负载均衡等配套产品;
下面是华为云的互联网应用场景。
下面是金山云的通用业务场景架构。
下面是腾讯云的互联网-移动 App 应用场景。
下面是阿里云网站高性价比场景(MySql)。
以上几家云对于基本数据库产品的使用,可谓是大同小异,MySQL、PostgreSQL、Redis、Memcache 等产品的使用模式也比较类似。
拓展场景
正如前面所说,云上数据库产品的基本场景是“服务互联网应用”,它本身是客户自己写的应用的一个依赖环节。
除此之外,云上数据产品还有一些拓展场景,这些场景或者是对客户提供直接的功能,或者是让某部分的性能变好。
直接对外提供服务:如物联网
数据库类产品在传统的模式中,只对本云里面的应用提供访问服务,但是在某些时候,也有对外直接提供服务的场景。
下面是华为云的 Kafka 的物联网应用场景。
下面是腾讯云的 CTSDB 的物联网监控服务提供的场景。
由于物联网的设备对于本云来说属于外部,因此以上两个物联网的场景,都是通过云上面数据库类的产品直接对外提供服务。
提供分析服务:如大数据
在大数据场景中,数据库类的产品其实可以直接对外提供分析服务。这种服务本身是有价值的,可能与传统的库结合在一起使用,也可能是独立使用。
例如阿里云的云原生数据仓库 AnalyticDB MySQL 版、针对 OLAP、BI 等场景提供服务。
内部产品的公有云版
在公有云上面,还存在着一种情况,有一些非开源、非标品的产品存在,它们从功能上可能与标品也有重叠,甚至看起来并没有什么存在的必要。
这些产品非常有可能是内部产品的公开版,比如腾讯、阿里这些公司,它们本身也是互联网应用的提供者,它们内部的一些数据库产品,可能通过了改造,上到了它们公有云上面,给用户多一种选择。
评论