比较 AWS 和 Azure 中的数据库服务
数据库支撑了大多数 Internet 和 Intranet 应用程序和云服务,提供各种类型的服务。
在全球服装零售商中,你拥有在 DynamoDB SimpleDB 和 Amazon DocumentDB 中存储关系数据(RDS)和 NoSQL 数据的系统。 在最近收购的公司中,将 Azure 用于云系统,数据存储在 Azure SQL 数据库、Azure Database for MariaDB 和 Azure Cosmos DB 中。 你需要调查所有这些系统的功能,以确定哪些系统可以合并和迁移。
在本单元中,你将比较 Amazon Web Services (AWS) 和 Azure 提供的数据库服务。
了解 Azure 和 AWS 上的数据库技术
关系数据库在不同表中的数据行和静态架构之间强制实施严格的关系。 NoSQL 数据库不太严格,但可以更高效地存储数据,并且对某些应用程序更有效。 数据仓库是来自整个组织的数据库的合并,旨在提供深入见解和支持。 Azure 和 AWS 都为所有这些数据存储提供选项等。
让我们探讨 AWS 数据服务如何映射到 Azure 中的类似产品/服务:
关系数据库
在 AWS 中,RDS 是一种托管关系数据库服务,支持六个数据库引擎:Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle 数据库和 SQL Server。
在 Azure 中,有单独的服务,而不是具有六个引擎的单个关系数据库服务:
- Azure SQL 数据库:Microsoft行业领先的 SQL Server 数据库系统的完整基于云的实现。
- Azure Database for MySQL:Oracle MySQL 数据库服务器的完整基于云的实现。
- Azure Database for MariaDB:MariaDB 是 MySQL 的分支,在 Oracle 收购 MySQL 后保证保持自由和开放源代码。
- Azure Database for PostgreSQL:常用 PostgreSQL 数据库服务器的完整基于云的实现。
NoSQL 数据库
在 AWS 中,有三种 NoSQL 服务可供选择:
- DynamoDB SimpleDB
- Amazon DocumentDB
- Amazon Neptune(Graph)
在 Azure 中,Cosmos DB 服务具有半结构化的设计,并支持许多不同的数据 API,包括:
- NoSQL
- MongoDB
- PostgreSQL
- 卡珊德拉
- Gremlin (Graph)
- Azure 存储表 API
NoSQL 是本机 API,如果要从头开始构建解决方案,则应选择它。 但是,如果要从 MongoDB 数据库迁移系统,请使用 MongoDB API 减少必须完成的重新编码量。
数据仓库
在 AWS 中,Amazon Redshift 系统提供数据仓库功能。 Azure 等效项 Azure Synapse Analytics。
无服务器数据服务
在无服务器计算中,云服务会自动缩放计算资源以反映需求。 在某些使用方案中,此方法可以降低有时流量较低的服务的成本:
- Azure SQL 数据库:使用 无服务器 计算层来实现此功能。
- AWS Aurora:使用 AWS Aurora 无服务器 服务来实现此功能。
其他数据库服务
缓存数据库是优化云原生应用程序性能的常用方法,通常使用 Redis。 Azure Redis 缓存 是 Azure 云中 Redis 的实现。 AWS 中的等效服务 Amazon MemoryDB for Redis。 另一个非 Redis 缓存服务是 ElastiCache。
Azure 中有各种大数据、分析和 ETL/ELT 服务,包括:Azure Databricks、Azure HDInsight,以及 Azure 数据工厂。 AWS 中提供了类似的功能,Amazon Elastic MapReduce (EMR)。 Amazon Athena 还用于使用 SQL 查询 S3 中的数据。
数据库迁移
Azure 数据库迁移服务 是一种工具,可帮助将数据、架构和数据库对象移动到 Azure。 可以从 AWS 数据库迁移到 Microsoft SQL Server、MySQL、PostreSQL 和 MongoDB。
| 源 | 目标 | 脱机支持 | 联机支持 |
|---|---|---|---|
| Amazon RDS SQL | Azure SQL 数据库 | 是的 | 不 |
| Amazon RDS SQL | Azure SQL 数据库托管实例 | 是的 | 是的 |
| Amazon RDS SQL | Azure SQL 虚拟机(VM) | 是的 | 是的 |
| Amazon RDS SQL | Azure Database for MySQL - 单一服务器 | 是的 | 不 |
| Amazon RDS SQL | Azure Database for MySQL 灵活服务器 | 是的 | 是的 |
| Amazon RDS MySQL | Azure Database for MySQL 灵活服务器 | 是的 | 是的 |
| Amazon RDS PostgreSQL | Database for MySQL - 灵活服务器 | 不 | 是的 |
从 AWS 迁移数据库的脱机支持包括 Amazon RDS SQL Server、Amazon RDS MySQL 和 Amazon RDS PostgreSQL。 这种类型的迁移是从源平台到目标平台的一次性传输。 从迁移开始到完成时,数据库处于脱机状态。
从 AWS 迁移数据库的联机支持包括 Amazon RDS SQL、Amazon RDS MySQL 和 Amazon RDS PostgreSQL。 这种类型的迁移支持将数据库从源平台持续同步到目标平台。 联机迁移的停机时间最短。
有关 Azure 数据库迁移服务支持的源和目标数据库迁移的最新列表,请参阅 Azure 数据库迁移服务支持的方案。
了解更多信息
- 比较 Azure 和 AWS 上的关系数据库技术
- 探索 PostgreSQL 体系结构
- 探索 MySQL 体系结构
- Azure Cosmos DB 中的 MongoDB API 入门