首页 如何选择阿里云数据库服务

如何选择阿里云数据库服务

更新时间: 2024-03-28 16:08:20

本指南帮助您了解和选择阿里云云数据库产品,包括关系型数据库、非关系型数据库、数据仓库、数据库生态工具四大版块,您可以选择性阅读您想要了解的内容。

了解云数据库

数据库为什么上云

国际市场研究机构Gartner®指出,“The Future of the DBMS Market is Cloud”。

Gartner预计,2023年全球数据库市场规模将首次突破1000亿美元,其中云数据库占比55%,规模增长主要来自于云数据库。

企业选择数据库上云,主要是因为云数据库比自建数据库更易运维、成本更低、可靠性更高、安全性更强。

通常,用户只需数分钟即可快速创建云数据库,无需自行搭建主从复制,无需自行搭建备份系统,无需自行组建网络设备,无需预留资源,无需担心宕机或扩容会导致长时间服务中断。云数据库由云厂商托管,日常维护和管理主要由云厂商负责。

为什么选择阿里云云数据库

  • Gartner发布2023年《云数据库管理系统魔力象限》报告,阿里云成为亚太区唯一入选该报告“领导者”象限的科技公司,也是唯一一家连续4年入选“领导者”象限的中国企业。查看分析师报告

  • 阿里云提供十余款云数据库产品以满足用户不同的业务需求,主要分为:关系型数据库、NoSQL数据库和数据仓库。其中包括云原生数据库,即PolarDB、Tair、Lindorm、AnalyticDB,具有更大的存储空间、更灵活的弹性、更强大的性能和更高的资源利用率。

    阿里云还提供数据库工具类产品,用于数据传输、管理、备份和智能运维。例如,数据传输服务DTS让您可以快速地将自建数据库平滑迁移至云数据库。

  • 阿里云云数据库在电商新零售、游戏、教育直播、金融、软件服务等行业得到广泛应用。查看客户案例

数据库 (1).svg

产品类型简介

类别

说明

适用场景

关系型数据库

  • 主要支持结构化数据(以表的形式组织数据),支持表之间的关联查询。

  • 通常支持SQL和事务,用于运行OLTP负载。

处理结构化数据,并且需要支持事务及其ACID特性。

NoSQL数据库

  • 主要支持半结构化数据(JSON、XML等)和非结构化数据(图片、音频等)。

  • 无需预先定义结构(schema),数据结构灵活、高性能、海量存储、易扩展,且通常不支持事务和强一致性。

处理半结构化和非结构化的数据,需要灵活的数据模型,例如键值对、文档、时序、宽表、文件等数据模型。

数据仓库

  • 存储和分析来自一种或多种数据源的数据。

  • 支持结构化、半结构化和非结构化数据。

多维分析、聚合计算等大数据量复杂分析。

数据库工具

  • 支持自建数据库和云数据库。

  • 用于数据库的数据传输、数据管理、备份和智能运维。

数据传输/同步/订阅、数据管理/开发、备份、智能运维。

选型考虑

本节将列出您在云数据库选型时可以考虑的方面,以及阿里云产品在这些方面的能力,旨在帮助您做出初步的选型决策。

本节将分别介绍三种数据库类型,您可以选择性阅读您关注的数据库类型。

关系型数据库

阿里云的关系型数据库包括RDS和PolarDB。

  • RDS是全托管云数据库,经过长久的发展和演进,在广泛的应用场景中得到验证和使用,提供成熟可靠的解决方案,具备自动主备切换、自动备份、按时间点恢复、分钟级/秒级弹性变配、自动变配、自动读写分离、自动启停等特性,完全兼容MySQL、SQL Server、PostgreSQL、MariaDB。

  • PolarDB是阿里云自研的云原生数据库,通过存储计算分离、资源三层解耦等技术,提供更大的存储空间、更灵活的弹性、更强大的性能、更高的资源利用率,支持分钟级/秒级弹性、无感主备切换、查询优化、多主集群、HTAP、PolarDB for AI等特性,完全兼容MySQL、PostgreSQL,高度兼容Oracle。

建议您在选型时从以下维度进行考虑

数据库引擎

您可以根据您当前数据库的引擎类型,选择对应的阿里云数据库。

数据库引擎

对应的阿里云关系型数据库

MySQL

RDS MySQL版

PolarDB MySQL版

PolarDB分布式版

SQL Server

RDS SQL Server版

PostgreSQL

RDS PostgreSQL版

PolarDB PostgreSQL版(兼容PostgreSQL或Oracle)

MariaDB

RDS MariaDB版

Oracle

PolarDB PostgreSQL版(兼容Oracle)

您也可以参考下述关于各引擎的介绍,考虑是否要更换数据库引擎。如果需要跨引擎迁移,可以查看支持的数据库

引擎介绍

  • MySQL被称为最被广泛使用的开源数据库,具备可靠性高、性能优越、简单易用、可以在多种操作系统运行等特点。MySQL官网

  • SQL Server是流行度最高的商用数据库产品之一,作为Windows平台(IIS + .NET + SQL Server)的重要一环,支撑着大量的企业应用。SQL Server官网

    如果应用部署在Windows系统,可以优先考虑SQL Server。SQL Server与Windows平台紧密集成,可以更好地利用Windows系统的功能和资源。

    RDS SQL Server包含License费用,您无需再额外支出License费用。

  • PostgreSQL被称为功能最强大的开源数据库,其优点主要在于对SQL规范的完整实现以及多样化的数据类型支持,包括JSON数据、IP数据和几何数据等,而大部分商业数据库都不支持这些数据类型。PostgreSQL官网

    如果您需要支持复杂查询、高并发写、MVCC、地理空间数据、AI大模型等,建议选择PostgreSQL。

  • MariaDB是MySQL的一个分支,高度兼容MySQL,并进行了性能、安全性等方面的优化。

    RDS MariaDB完全兼容社区版MariaDB,良好兼容Oracle,对PL/SQL有优秀的兼容性。MariaDB官网

高可用和容灾

自动故障恢复、自动主备切换

  • 如果仅用于测试或学习,或者是开发环境,您可以考虑单节点的产品形态,例如RDS基础系列和PolarDB单节点实例。单节点实例意外宕机时会自动恢复,但由于没有热备节点,会较长时间不可用。

  • 如果是生产环境,或者要求数据库具备高可用性,那么选择非单节点的产品形态都可以满足需求。实例故障时,会自动进行主备切换,秒级完成切换,并且切换过程对应用透明。

多可用区容灾

多可用区容灾是指主备节点部署在同一地域的不同可用区。多可用区部署可以抵御可用区级别的灾害,也没有额外费用,而且同一地域不同可用区之间的网络延迟极小。

RDS和PolarDB的非单节点实例都支持多可用区部署。

更高级别容灾:PolarDB支持将各节点分布于三个不同可用区,RDS支持将各节点分布于三个或更多不同可用区。

灵活容灾:PolarDB支持计算和存储采用不同的容灾方式,例如计算节点都位于同一可用区,存储资源分布在不同可用区。

跨地域容灾

对于关键业务,您可能还要求实现跨地域容灾,以抵御地域级别的灾害。

  • RDS MySQL支持创建异地灾备实例,实现跨地域容灾。

  • RDS MySQL和PolarDB MySQL都支持全球数据库功能,在实现跨地域容灾的同时,还提供多写能力,支持在多个地域同时进行读写,为各地域的用户提供就近访问的体验。RDS MySQL全球数据库采用逻辑复制,PolarDB MySQL全球数据库采用物理复制(同步延迟更低)。

  • 对于其他数据库,您也可以使用DTS创建跨地域的同步链路,实现跨地域容灾。关于DTS支持的数据库,请参见支持的数据库

存储和性能

存储

建议您评估当前和未来的存储空间需求,并选择符合您的存储空间要求的产品。下表列出各产品支持的最大存储空间。

引擎

产品

最大存储空间

MySQL

RDS MySQL版

64 TB

PolarDB MySQL版

100 TB

PolarDB分布式版

PB级别(单节点存储空间x节点数,节点数无限制)

SQL Server

RDS SQL Server版

16 TB(可申请32 TB )

PostgreSQL

RDS PostgreSQL版

64 TB

PolarDB PostgreSQL版(兼容PostgreSQL或Oracle)

100 TB

MariaDB

RDS MariaDB版

32 TB

性能

建议您使用实际业务的数据进行性能测试,因为实际性能指标会受到很多因素的影响,包括实例配置、数据模型、索引设计、SQL语句等。

您也可以:

成本

考虑以下方面,可以帮助您节省成本。

计费方式

  • 按量付费:如果短期使用,可选择按量付费,按小时出账,用完随时释放。

  • 包年包月:如果长期使用,可选择包年包月享受折扣。

  • Serverless:如果业务有明显的波峰波谷,可以选择Serverless计费方式。Serverless实例可以实现秒级自动弹性伸缩,减少资源浪费,最高节省成本70%。

    image.png

资源包/节省计划

  • 减少按量付费项的费用:

    • RDS和PolarDB均提供了预付费的计算包和存储包,用于抵扣按量付费项。

    • 针对每小时比较固定的按量付费费用,RDS提供通用型节省计划,可降低15%到60%的费用。

  • 减少Serverless实例费用:RDS和PolarDB分别提供了弹性型节省计划和Serverless计算包,用于抵扣Serverless费用。

规格

实例规格是指实例的计算资源,包括CPU和内存。

  • 对于非Serverless实例,您需要指定实例规格。

  • 对于Serverless实例,您可以指定资源扩缩范围。RDS Serverless实例和PolarDB Serverless集群的扩缩单元分别是RCU和PCU。一个RCU或PCU约等于1核2GB的资源。

如果仅用于测试或学习,您可以选择小实例规格或者较低的资源扩缩范围来降低成本。

引擎

产品

非Serverless实例最小规格

Serverless实例扩缩下限

MySQL

RDS MySQL版

1核 1GB

0.5 RCU

PolarDB MySQL版

1核 1GB

1 PCU

PolarDB分布式版

1核 8GB

-

SQL Server

RDS SQL Server版

2核 2GB

2 RCU

PostgreSQL

RDS PostgreSQL版

1核 1GB

0.5 RCU

PolarDB PostgreSQL版

1核 1GB

-

PolarDB PostgreSQL版(兼容Oracle)

2核 8GB

-

MariaDB

RDS MariaDB版

1核 2GB

-

暂停实例

  • 部分RDS实例支持手动暂停实例,暂停期间只需付存储费用。

  • RDS Serverless和PolarDB Serverless实例支持自动启停。

经济版/Arm架构

RDS经济版和PolarDB标准版Arm架构通过智能的成本控制与资源整合,提升产品性价比。在保证实例稳定性和可用性的同时,有效降低IT投入成本。

单节点实例

如果仅用于测试或学习,或者是开发环境,可以考虑单节点的产品形态,节省了热备节点的成本,例如RDS基础系列和PolarDB单节点实例。单节点实例意外宕机时会自动恢复,但由于没有热备节点,会较长时间不可用。

冷数据归档

若某些数据(例如历史数据)几乎没有更新、插入和修改操作,且读取频率非常低,可以使用冷数据归档功能,将这部分数据转存至低成本的OSS存储,以降低数据存储成本。

使用开源数据库引擎

使用开源数据库引擎可以避免数据库授权费用。

扩展性

在业务高峰前快速扩容,在高峰后快速缩容,可以帮助降低成本。具体请参见“扩展性”页签。

扩展性

关于数据库的扩展性,您可以关注扩展能力、扩展耗时以及扩展的影响。

扩展能力

  • 性能扩展:RDS和PolarDB所有实例都支持垂直扩展(提升或降低节点规格),部分实例支持水平扩展(增加或减少节点)。

  • 存储扩展:RDS和PolarDB所有实例支持存储空间扩容,部分实例支持存储空间缩容。

说明

PolarDB企业版存储空间根据数据量自动扩缩容,无需手动调整。

扩展耗时

部分实例在本地资源不足的情况下需要迁移数据,扩展耗时与数据量相关。如果您的业务要求快速弹性扩展,建议选择支持分钟级甚至秒级扩展的实例。

扩展的影响

  • 变配过程通常仅有约30秒闪断。

  • 部分情况在扩展过程中无闪断,业务无感知,例如RDS MySQL高可用系列云盘版和PolarDB存储空间扩缩容、RDS Serverless和PolarDB Serverless弹性扩展。

自动扩展

如果您希望实现无人值守的自动扩展,可以采用以下其中一种方案:

  • 使用DAS实现自动升降配、自动增减节点、自动存储空间扩展,具体支持的数据库请参见自动性能扩展自动空间扩展

  • 购买RDS Serverless或PolarDB Serverless实例,实现秒级自动扩展。

  • 使用临时升配功能,可以在扩展时指定自动还原的时间。目前支持的数据库为PolarDB MySQL、PostgreSQL、 PostgreSQL版(兼容Oracle)。

可靠性

基础备份与恢复

  • 备份:RDS和PolarDB所有实例都默认开启周期性自动备份,您可以设置备份频率和保留时长。

  • 恢复:

    • RDS和PolarDB所有实例都支持按备份集恢复。

    • 如果您希望在数据丢失时可以恢复任意时间点的数据,需要选择支持日志备份的实例并开启日志备份。

更多特性

部分实例还支持更多特性,例如:

  • 备份:秒级备份、库表备份、高频备份、稀疏备份、跨账号备份、跨地域备份等。

  • 恢复:库表恢复、极速恢复。

此外,如果数据库实例本身不支持某些备份恢复特性,您也可以使用数据库备份DBS提供的企业级备份恢复能力。关于DBS支持的数据库,请参见支持的数据库引擎与功能

安全性

网络安全

传统的经典网络中,实例之间不通过网络进行隔离,只能依靠实例自身的白名单策略来阻挡非法访问。一个VPC就是一个隔离的网络环境,VPC的安全性较高,推荐您使用VPC。

所有云数据库产品都支持VPC,部分云数据库产品已不支持经典网络。

访问控制

  • RAM:为确保您的阿里云账号及云资源使用安全,应尽量避免由阿里云主账号访问云上的数据库,改为使用RAM身份(即RAM用户和RAM角色)进行访问。

  • 白名单:一台设备在连接至云数据库前,需要先将设备的IP地址添加到云数据库的白名单,该设备才能访问该云数据库。阿里云云数据库都提供白名单功能。

  • 数据库账号权限:RDS和PolarDB支持在控制台上进行数据库账号的粗粒度权限控制。DMS也支持对一些数据库进行可视化的权限控制,具体请参见数据库账号权限管理

数据加密和脱敏

  • 静态数据加密:如果您需要对存储介质里的数据进行加密,那么数据库需要支持透明数据加密TDE(Transparent Data Encryption)或者云盘加密其中一种功能。

  • 传输数据加密:如果您需要对传输中的数据加密,那么数据库需要支持SSL/TLS功能。

  • 敏感数据保护:DMS提供敏感数据识别、分类和脱敏功能,具体支持的数据库请参见敏感数据保护

  • 全密态数据库:RDS和PolarDB都有部分实例类型支持全密态数据库,可以对数据库表中的敏感数据列进行加密,这些列中的敏感数据将以密文进行传输、计算和存储。

易用性

兼容性

RDS和PolarDB所有实例都完全兼容或者高度兼容原生数据库引擎,方便您上手即用,业务代码只需修改数据库连接地址或者进行其他少量修改。

易运维

数据库自治服务DAS可以帮助您消除数据库管理、性能优化、问题排查的复杂性,例如自动性能扩展、自动SQL优化和SQL洞察功能,具体支持的数据库请参见支持的数据库引擎与功能

NoSQL数据库

在万物互联时代,大量数据以半结构化或非结构化的形式存在。NoSQL数据库很好地支持了半结构化和非结构化的数据,不需要预先定义结构(schema),具有数据结构灵活、高性能、海量存储、易扩展等特点,并且通常不支持事务和强一致性。

数据库类型

典型的NoSQL数据库包含以下几种。

NoSQL数据库

说明

特点

使用案例

阿里云产品

键值数据库

以键值对的形式存储数据,值支持多种数据结构:String、Hash、List、Set、SortedSet等。

  • 读写性能高

  • 支持多种数据结构

  • 支持发布/订阅等功能

  • 缓存

  • 会话

  • 购物车

  • 计数器

  • Tair

  • Redis

  • Memcache

文档数据库

以文档的形式存储数据,文档格式通常为JSON、BSON、XML等。

  • 结构灵活,每个文档可以有不同字段,增减字段无需停机或修改数据库模式

  • 支持嵌套文档,避免复杂的关联操作

  • 支持二级索引,可以使用非主键字段进行查询

  • 内容管理

  • 用户/角色属性管理

  • 产品信息管理

  • MongoDB

列式存储数据库

按列组织数据。

  • 压缩率高

  • 适合大量数据

  • 数据分析

  • 监控

  • 物联网

  • HBase

多模数据库

支持在一个数据库里存储、查询、分析多种数据模型,例如宽表、时序、文本、对象、空间等。

  • 性能高

  • 压缩率高

  • 支持统一查询接口,以及跨多模引擎关联查询

  • 支持海量数据实时存储与分析

  • 物联网

  • 车联网

  • 大数据

  • Lindorm

  • Tablestore

高可用和容灾

自动故障恢复、自动主备切换

如果是生产环境,或者要求数据库具备高可用性,那么选择非单节点的产品形态都可以满足需求。实例故障时,会自动进行主备切换,秒级完成切换,并且切换过程对应用透明。

多可用区容灾

多可用区容灾(同城冗余)是指主备节点部署在同一地域的不同可用区。相对于同可用区部署(本地冗余),多可用区部署可以抵御可用区级别的灾害。多可用区部署没有额外费用,同一地域不同可用区之间的网络延迟极小。

阿里云Tair、Redis、MongoDB、Lindorm的非单节点实例、Tablestore都支持多可用区部署。

注意:部分地域不支持多可用区部署。

跨地域容灾

对于关键业务,您可能还要求实现跨地域容灾,以抵御地域级别的灾害。

  • 阿里云Tair和Redis:支持创建全球多活实例,在实现跨地域容灾的同时,所有节点可同时对外提供服务,可实现应用就近访问。

  • Lindorm:支持通过LTS(Lindorm Tunnel Service)实现跨地域数据同步。

  • MongoDB:支持使用DTS创建跨地域的同步链路,实现跨地域容灾,具体请参见支持的数据库

  • Tablestore:支持通过DataX实现全量同步,通过Flink实现增量同步。

存储和性能

存储

建议您评估当前和未来的存储空间需求,并选择符合您的存储空间要求的产品。下表列出各产品支持的最大存储空间。

说明

Redis社区版、Tair内存型、Tair持久内存型实例的数据存储在内存中,以下最大存储空间是指其内存大小。

产品

最大存储空间

MongoDB

16000GB x 32分片

Redis社区版

最大内存:8192GB

Redis企业版(Tair)

  • Tair内存型/持久内存型:最大内存16384GB。

  • Tair ESSD型:最大存储空间为6TB x 256分片

Lindorm(以宽表为例)

百PB级

Tablestore

百PB级,单表支持不少于1 PB数据或1万亿条记录。

性能

建议使用实际业务的数据进行性能测试,因为实际性能指标会受到多个因素的影响,包括硬件配置、数据模型、索引设计、查询优化等。

您也可以参考以下信息。

成本

考虑以下方面,可以帮助您节省成本。

计费方式

  • 按量付费:如果短期使用,可选择按量付费,按小时出账,用完随时释放。

  • 包年包月:如果长期使用,可选择包年包月享受折扣,也可以采用按量付费+资源包的方式。

资源包

资源包以预付费的方式购买,用于抵扣按量付费费用,节省成本。例如Redis、Tair、MongoDB、Tablestore均支持购买资源包。

经济版/Arm架构

例如,Redis经济版通过智能的成本控制与资源整合,提升产品性价比。在保证实例稳定性和可用性的同时,有效降低IT投入成本。

单节点实例

如果仅用于测试或学习,或者是开发环境,可以考虑单节点的产品形态,节省了热备节点的成本,例如Redis/Tair单副本实例、MongoDB单节点实例、Lindorm轻量版单节点实例。单节点实例意外宕机时会自动恢复,但由于没有热备节点,会较长时间不可用。

使用高性能产品

数据库产品性能高,就可以用更低的规格和更少的节点来支撑负载,节省资源成本。例如Tair内存型、Lindorm、Tablestore高性能实例具备的高性能可以提供这样的成本优势。

使用多模数据库

在多模数据库里,多种数据引擎共享统一的存储池,减少存储碎片,降低使用成本。

使用低成本存储介质

  • Tair

    • 持久化内存:如果希望在保持性能的情况下降低成本,可以选择使用持久内存。持久内存既有内存级的延时和吞吐,也有数据持久化能力,能降低成本。

      相关产品为Tair的持久内存型实例,性能约为Redis社区版的90%,成本降低30%,还能简化应用架构以及避免缓存搭配磁盘的数据一致性问题。

    • 磁盘:如果性能要求不高,并希望降低存储成本,可选择使用磁盘作为存储介质。

      相关产品为Tair的磁盘实例,性能约为Redis社区版的60%,成本最低仅为Redis社区版的15%,且容量可达百TB级别。

  • Lindorm

    • 支持容量型云存储,使用高密度磁盘存储阵列,提供极低成本存储能力。

    • 支持本地HDD盘,降低存储成本。

  • Tablestore

    • 支持容量型实例,采用HDD盘降低存储成本。

纠删码

纠删码相比于多副本,可以保证相同可靠性,同时节约存储空间。例如LIndorm的本地SSD盘和HDD盘支持开启纠删码功能,使数据副本冗余倍率将从3下降至1.5。

高压缩率

高压缩率可以帮助节省存储成本。例如:

  • TairRoaring数据结构,完全兼容Bitmap,数据压缩率高达7:1。

  • Lindorm宽表引擎压缩率可达10:1,时序引擎压缩率可达15:1

  • Tablestore宽表引擎压缩率最低3.7:1,时序引擎压缩率最低21:1。

以上数据仅供参考,实际压缩率与数据类型、数据特征、数据重复度等有关。

冷热分离

若某些数据(例如历史数据)读取频率非常低,可以使用冷数据归档功能,将这部分数据转存至低成本的OSS存储,以降低存储成本。例如,Lindorm(宽表、时序、搜索引擎)和Tablestore都支持冷热分离。

扩展性

在业务高峰前快速扩容,在高峰后快速缩容,可以帮助降低成本。具体请参见“扩展性”页签。

扩展性

关于数据库的扩展性,您可以关注扩展能力、扩展耗时以及扩展的影响。

扩展能力

  • 性能垂直扩展:指垂直升降配,即提升或降低实例的规格(CPU和内存)。

    所有NoSQL实例都提供该能力。

  • 性能水平扩展:指增加或减少节点或分片。以下实例提供该能力:

    • Redis/Tair集群架构和读写分离架构

    • MongoDB分片集群架构和副本集架构

    • Lindorm

    • HBase集群版

  • 存储扩展

    除了纯内存型产品,所有NoSQL实例都支持存储空间扩容。纯内存型产品不含硬盘存储空间。

扩展耗时

部分实例在本地资源不足的情况下需要迁移数据,扩展耗时与数据量相关。如果您的业务要求快速弹性扩展,建议选择支持分钟级甚至秒级扩展的实例。

扩展的影响

  • 变配过程通常仅有约30秒闪断。

  • 部分情况在扩展过程中无闪断,业务无感知,例如Tair云原生版的集群架构实例扩容无闪断。

自动扩展

例如,以下方案支持无人值守的自动扩展:

可靠性

备份与恢复

  • 所有NoSQL产品都提供备份和恢复功能,您可以设置自动备份频率。部分产品架构不支持备份功能,比如Redis单副本架构。

  • 如果您希望在数据丢失时可以恢复任意时间点的数据,需要选择支持增量日志备份的实例。

  • 您也可以使用数据库备份DBS为NoSQL数据库提供的企业级备份恢复能力。关于DBS支持的数据库,请参见支持的数据库引擎与功能

安全性

网络安全

传统的经典网络中,实例之间不通过网络进行隔离,只能依靠实例自身的白名单策略来阻挡非法访问。一个VPC就是一个隔离的网络环境,VPC的安全性较高,推荐您使用VPC。

所有云数据库产品都支持VPC,部分云数据库产品已不支持经典网络。

访问控制

  • RAM:为确保您的阿里云账号及云资源使用安全,应尽量避免由阿里云主账号访问云上的数据库,改为使用RAM身份(即RAM用户和RAM角色)进行访问。

  • 白名单:一台设备在连接至云数据库前,需要先将设备的IP地址添加到云数据库的白名单,该设备才能访问该云数据库。阿里云云数据库都提供白名单功能。

  • 数据库账号权限:通过命令进行数据库账号的细颗粒度权限控制,部分产品支持通过控制台进行数据库账号的粗粒度权限控制。

数据加密和脱敏

  • 静态数据加密:如果您需要对存储介质里的数据进行加密,那么数据库需要支持透明数据加密TDE(Transparent Data Encryption)或者云盘加密其中一种功能。

  • 传输数据加密:如果您需要对传输中的数据加密,那么数据库需要支持SSL/TLS功能。

  • 敏感数据保护:DMS提供敏感数据识别、分类和脱敏功能,具体支持的数据库请参见敏感数据保护

易用性

兼容性

数据库产品兼容多种标准和协议,支持与三方生态产品互通,可以降低用户使用难度。

  • 云数据库Tair和Redis完全兼容Redis协议。

  • 云数据库MongoDB版完全兼容MongoDB协议。

  • 云原生多模数据库Lindorm兼容SQL、HBase、Cassandra、S3、HDFS、OpenTSDB、PromQL、Elasticsearch/Solr、Kafka、Spark、Flink等。

  • 表格存储兼容SQL、HBase、TSDB、Elasticsearch,以及主流开源流批计算引擎,包括Spark、Flink、Presto等;支持对接阿里大数据平台生态组件,包括DataWorks、DataHub、MaxCompute等。

易运维

数据库自治服务DAS可以实时自动识别热Key和大Key,自动扩缩容数据库等,降低运维难度和问题排查成本,具体支持的数据库请参见支持的数据库引擎与功能

数据仓库

如果您需要进行多维度分析、聚合计算等大数据量复杂分析,并且查询时出现效率低、卡顿、或者严重等待,那么需要使用支持OLAP(online analytical processing)负载的产品或特性。

示例场景

  • 订单流水分析、用户行为分析、日志分析、营销圈人等。

  • 实时分析、离线分析、多数据源联邦分析、多维度下钻分析等。

建议您在选型时从以下维度进行考虑

方案

您可以采用以下方案来支持OLAP负载。

数据库类型

方案

支持的数据库和特性

说明

OLTP数据库

并行查询

  • PolarDB MySQL/PostgreSQL/ PostgreSQL版(兼容Oracle)提供的并行查询功能

  • 分析能力中等。

  • 无需额外维护数据同步链路和数据仓库,降低成本并简化运维工作。

行列混存

OLAP数据库

ETL+OLAP

  • AnalyticDB for MySQL/PostgreSQL

  • ClickHouse

  • SelectDB

  • 分析能力强。

  • 需搭建同步链路。

  • 支持更多的数据源、数据仓库和同步方式。

OLAP+外表查询

  • AnalyticDB for MySQL/PostgreSQL

  • ClickHouse

  • 分析能力强。

  • 无需搭建同步链路,节省传输成本和运维成本。

  • 仅限部分数据源和数据仓库。

一站式HTAP

高可用和容灾

自动故障恢复、自动主备切换

  • 如果仅用于测试或学习,或者是开发环境,可以考虑单节点的产品形态,节省了热备节点的成本,例如AnalyticDB for MySQL数仓版弹性模式单机版、ClickHouse社区兼容版单副本。

    单节点实例意外宕机时会自动恢复,但由于没有热备节点,会较长时间不可用。

  • 如果是生产环境,或者要求数据库具备高可用性,那么选择非单节点的产品形态通常都可以满足需求。

    这类实例故障时,会自动进行主备切换,秒级完成切换,并且切换过程对应用透明。

存储和性能

存储

AnalyticDB for MySQL/PostgreSQL、ClickHouse和SelectDB都支持存储PB级数据量。

性能

  • AnalyticDB:支持关联查询千亿级的数据表、查询万亿级的数据表,支持秒级甚至毫秒级对海量数据进行复杂查询和计算,超大规模数据写入实时可见,确保数据的强一致性。

  • ClickHouse:基于大宽表的聚合分析查询性能非常优异,比传统MySQL快数百倍。

  • SelectDB:支持亚秒级响应海量数据查询、万级高并发点查询以及高吞吐复杂分析。在业界知名的ClickBench全球分析型数据库性能排行榜上,查询性能第一,写入效率第二。

建议:

  • 如果业务上主要是多表关联复杂查询,建议选择AnalyticDB for MySQL/PostgreSQL或SelectDB。

  • 对于大宽表多维查询,AnalyticDB for MySQL/PostgreSQL、ClickHouse和SelectDB都能不同程度地满足需求。

  • 如果需要做数据离线处理,例如用Spark,建议选择AnalyticDB MySQL。

  • 您可以用测试集进行性能测试:

  • 建议使用实际业务的数据进行性能测试,因为实际性能指标会受到多个因素的影响,包括硬件配置、数据模型、索引设计、SQL语句优化等。

成本

考虑以下方面,可以帮助您节省成本。

计费方式

  • 按量付费:如果短期使用,可选择按量付费,按小时出账,用完随时释放。

  • 包年包月:如果长期使用,可选择包年包月享受折扣。

  • Serverless:Serverless让您可以按实际使用量计费,节省成本,例如:

    • AnalyticDB for MySQL湖仓版、AnalyticDB for PostgreSQL Serverless版和ClickHouse企业版的计算资源和存储空间都按实际使用量计费。

    • AnalyticDB for MySQL数仓版弹性模式和SelectDB的存储空间按实际使用量计费。

单节点实例

如果仅用于测试或学习,或者是开发环境,可以考虑单节点的产品形态,节省了热备节点的成本,例如AnalyticDB for MySQL数仓版弹性模式单机版、ClickHouse社区兼容版单副本。单节点实例意外宕机时会自动恢复,但由于没有热备节点,会较长时间不可用。

暂停实例

  • 部分AnalyticDB for PostgreSQL和ClickHouse实例支持手动暂停实例,暂停期间只需付存储费用。

  • AnalyticDB for PostgreSQL Serverless实例支持自动启停。

低成本存储介质

  • 湖存储:AnalyticDB for MySQL湖仓版3.0支持基于Hudi格式的低成本OSS存储,支持SLS、Kafka、RDS、PolarDB等数据源的数据实时入湖。

  • 冷热分离:AnalyticDB部分实例和ClickHouse、SelectDB都支持冷热数据分离,热数据存储在SSD盘,冷数据存储在OSS中,降低存储成本。

扩展性

在业务高峰前快速扩容,在高峰后快速缩容,可以帮助降低成本。具体请参见“扩展性”页签。

湖仓一体化、离线在线一体化

在AnalyticDB for MySQL湖仓版中,一份数据同时提供数据仓库和数据湖的能力,同时支持在线分析和离线处理,减少数据冗余,节省存储成本和运维成本,并提升时效性。

数据传输成本

通过外表访问数据或者使用一站式HTAP能力,可以节省数据传输的成本。具体请参见“方案“页签。

使用OLTP数据库

对于相对轻量的数据分析,可以使用OLTP数据库本身的并行查询或行列混存功能,节省数据传输和数据仓库的成本并简化运维工作。

扩展性

关于数据仓库的扩展性,您可以关注扩展能力、扩展耗时以及扩展的影响。

扩展能力

  • 性能扩展:指垂直扩展(提升或降低节点规格)或水平扩展(增加或减少节点)。

    阿里云所有OLAP产品都提供该能力。

  • 存储扩展

    阿里云所有OLAP产品都支持存储空间扩容。

扩展耗时

部分实例在本地资源不足的情况下需要迁移数据,扩展耗时与数据量相关。如果您的业务要求快速弹性扩展,建议选择支持分钟级甚至秒级扩展的实例。

扩展的影响

变配过程通常仅有约30秒闪断。

自动扩展

  • AnalyticDB for MySQL部分实例、AnalyticDB for PostgreSQL Serverless版和ClickHouse企业版支持计算资源和存储空间都自动扩展,按使用量计费。

  • AnalyticDB for MySQL支持资源弹性计划,可根据弹性计划自动扩缩容。

  • SelectDB支持存储空间自动扩展,按使用量计费。

兼容性/生态

阿里云OLAP产品都兼容SQL、通用客户端和BI工具等,您可以快速上手,无需二次学习。

  • AnalyticDB for MySQL高度兼容MySQL,完全兼容Spark生态。

  • AnalyticDB for PostgreSQL:高度兼容Postgres和Greenplum,适当兼容Teradata和Oracle。

  • ClickHouse:完全兼容开源ClickHouse,高度兼容MySQL。

  • SelectDB:完全兼容Apache Doris,高度兼容MySQL。

多模数据分析

  • 如果要求支持向量检索,可以选择AnalyticDB for MySQL/PostgreSQL。

  • 如果要求支持时空分析,可以选择AnalyticDB for PostgreSQL。

  • 如果需要分析半结构化数据(JSON)、非结构化数据(图片音频等),可以选择AnalyticDB for MySQL/PostgreSQL。

  • 如果需要通过外表方式访问OSS、Hadoop、MaxCompute数据,可以选择AnalyticDB for MySQL/PostgreSQL和ClickHouse。

  • 如果需要通过外表方式访问MongoDB数据,可以选择AnalyticDB for MySQL。

资源隔离

您可能需要数据仓库支持资源隔离,保障不同业务的查询效率和稳定性。例如:

  • AnalyticDB for MySQL支持通过资源组实现资源隔离。

  • AnalyticDB for PostgreSQL支持通过资源组或资源队列实现资源隔离。

  • ClickHouse某些实例支持通过资源队列实现资源隔离。

  • SelectDB通过创建不同的集群实现资源隔离。

可靠性

备份与恢复

  • 备份:AnalyticDB for MySQL/PostgreSQL和部分ClickHouse实例支持周期性的全量备份和日志备份。

  • 恢复:如果您希望在数据丢失时可以恢复任意时间点的数据,需要选择支持日志备份的实例并开启日志备份。

安全性

网络安全

传统的经典网络中,实例之间不通过网络进行隔离,只能依靠实例自身的白名单策略来阻挡非法访问。一个VPC就是一个隔离的网络环境,VPC的安全性较高,推荐您使用VPC。

所有云数据库产品都支持VPC,部分产品已不支持经典网络。

访问控制

  • RAM:为确保您的阿里云账号及云资源使用安全,应尽量避免由阿里云主账号访问云上的数据库,改为使用RAM身份(即RAM用户和RAM角色)进行访问。

  • 白名单:一台设备在连接至云数据库前,需要先将设备的IP地址添加到云数据库的白名单,该设备才能访问该云数据库。阿里云云数据库都提供白名单功能。

  • 数据库账号权限:可以通过控制台进行数据库账号的粗粒度权限控制,通过命令进行数据库账号的细颗粒度权限控制。

  • 行级权限:例如,AnalyticDB for PostgreSQL部分实例支持行安全策略特性(Row Security Policies),该特性可以限制数据库账号只能查询或更新指定行。

数据加密和脱敏

  • 静态数据加密:如果您需要对存储介质里的数据进行加密,那么数据库需要支持云盘加密。

  • 传输数据加密:如果您需要对传输中的数据加密,那么数据库需要支持SSL/TLS功能。

  • 数据脱敏:例如AnalyticDB for MySQL/PostgreSQL、ClickHouse实例支持通过DMS实现动态数据脱敏。

选择

通过上述内容,您已了解选择云数据库时的考虑点以及可能适合您业务的云数据库产品。

现在您可以查看各产品的具体介绍和支持的功能,帮助您进一步确认要选择的云数据库产品和细分选项。

关系型数据库

产品

产品简介

功能概览

云数据库RDS MySQL版

RDS产品系列

功能概览

云数据库RDS SQL Server版

功能概览

云数据库RDS PostgreSQL版

功能概览

云数据库RDS MariaDB版

功能概览

云原生数据库PolarDB MySQL版

PolarDB产品概述

功能概览

云原生数据库PolarDB PostgreSQL版

功能概览

云原生数据库PolarDB PostgreSQL版(兼容Oracle)

功能概览

云原生数据库PolarDB分布式版

PolarDB-X 2.0产品概述

PolarDB-X 2.0

NoSQL数据库

类型

产品

产品简介

功能概览

键值

云数据库Redis版

Redis产品概述

Redis选型指南

功能概览

云原生内存数据库Tair

Tair产品概述

Tair选型指南

功能概览

文档

云数据库MongoDB版

MongoDB产品概述

MongoDB产品架构

功能概览

多模

云原生多模数据库Lindorm

Lindorm产品概述

Lindorm产品系列

功能概览

表格存储Tablestore

Tablestore产品概述

功能概览

数据仓库

产品

产品简介

功能概览

云原生数仓AnalyticDB MySQL版

产品简介

产品系列

功能概览

云原生数仓AnalyticDB PostgreSQL版

产品概述

规格及选型

功能概览

云数据库ClickHouse版

产品概述

功能概览

云数据库SelectDB版

产品概述

功能概览

数据库工具

产品

产品简介

功能概览

数据传输服务DTS

DTS支持60种以上的数据源同步组合,支持数据迁移、订阅、同步和ETL全场景,亚秒级实时数据传输,支持断点续传。

更多信息,请参见DTS产品概述

功能概览

数据库备份DBS

DBS为多云多端的云原生统一备份平台,秒级全量恢复,压缩比超过10:1,成本降低90%以上。

更多信息,请参见DBS产品概述

功能概览

数据管理DMS

DMS可实现一站式全链路数据管理,阿里巴巴开发最佳实践,统一管理30种以上的数据源,200种以上的数据安全能力。库仓一体,支持多种异构数据源融合分析,数据管理成本降低90%,数据使用效率可提升2倍以上。

更多信息,请参见DMS产品概述管控模式

功能概览

数据库自治服务DAS

DAS可实现数据库自动驾驶,运维管理效率提升10倍以上,数据库稳定性提升10倍以上,SQL优化率99%以上,降低90%以上的数据库使用和优化成本。

更多信息,请参见DAS产品概述产品系列及支持的功能

功能概览

使用

关系型数据库

类型

产品

快速入门

免费试用教程

云数据库RDS

RDS MySQL

快速入门

Serverless集群系列高可用系列

RDS SQL Server

快速入门

Serverless基础系列

RDS PostgreSQL

快速入门

Serverless高可用系列

RDS MariaDB

快速入门

云原生数据库PolarDB

PolarDB MySQL

快速入门

Serverless企业版

PolarDB PostgreSQL

快速入门

标准版

PolarDB PostgreSQL(兼容Oracle)

快速入门

企业版

PolarDB分布式版

PolarDB-X 2.0

标准版

NoSQL数据库

类型

产品

快速入门

免费试用教程

键值

云数据库Redis版

快速入门

社区版

云原生内存数据库Tair

快速入门

企业版

文档

云数据库MongoDB版

快速入门

通用型

独享型

多模

云原生多模数据库Lindorm

快速入门

海量数据查询

表格存储Tablestore

快速入门

管理宽表模型

数据仓库

产品

快速入门

免费试用教程

云原生数仓AnalyticDB MySQL版

快速入门

云原生数仓AnalyticDB PostgreSQL版

快速入门

存储弹性模式实例

云数据库ClickHouse版

快速入门

云数据库SelectDB版

快速入门

数据库工具

产品

快速入门

免费试用教程

数据传输服务DTS

快速入门

数据迁移

数据同步

数据库备份DBS

快速入门

数据管理DMS

快速入门

统一管理数据库实例并进行库表权限管理

数据库自治服务DAS

快速入门

更多

体验馆

技术解决方案

权益中心

提交建议

解决方案

提交产品功能建议