让我们来比较一下AWS、Azure和GCP的数据库功能

我比较了AWS、Azure和GCP关于数据库方面的内容。

1. 新一代数据库

AWSAzureGCP新世代DBAuroraCosmos DBCloud SpannerDBの種類MySQL,
PostgresqlSQL (document DB),
MongoDB (document DB),
Gremlin (graph DB),
Azure Table(KVS),
CassandraオリジナルのリレーショナルDBサーバレスか否かサーバありサーバレスサーバレス高可用性構成 / 負荷分散Auroraレプリカ,
クロスリージョンレプリカ(MySQLのみ)リージョン間フェイルオーバー,
予約済みスループットリージョン内レプリケーション,
マルチリージョンレプリケーション地理的範囲リージョン(MySQLは別リージョンにレプリケーション可)グローバルグローバルマルチマスターシングルマスター,
マルチマスター*マスターになるリージョンは1個マルチマスター

预览

关于数据库类别,Aurora可靠地支持MySQL和Postgresql,Cosmos DB则提供多样化的选项,包括文档数据库、键值存储、图数据库和Cassandra,而Cloud Spanner则是一种原创的关系型数据库。Cloud Spanner提供了针对各种语言(C#、GO、Java、node.js、PHP、Python、Ruby)的客户端库,但ORM的兼容性仍需要关注。其中星号(**)代表该功能处于测试版阶段。

Cosmos DB和Cloud Spanner都是无服务器的,但Aurora则需要指定实例类型来构建实例。此外,作为一个独立的实体,也有一个无服务器类型的Aurora serverless*正在预览中。

关于高可用性构建和负载均衡方面,Aurora通过在同一地区内的读副本升级为主副本来应对故障情况。对于MySQL版本,可以采用跨地区复制结构,但没有在地区之间实现自动故障转移的机制。
此外,Aurora目前正在预览阶段的多主功能Aurora Multi-Master也宣布将来可以在地区间使用。一旦发布,将轻松实现全球范围内的高可用性和负载均衡。
Cosmos DB通过在地区之间故障转移的机制来实现高可用性,其中包括一个写入地区。
Cloud Spanner通过地区内复制和多地区复制的机制实现高可用性。在一个地区搭建时,保留3个读写副本。如果在多个地区搭建,则由两个读写地区(以及可能的只读地区)组成,并保留2个读写副本。

在Microsoft的文档中,将regional failover翻译为”区域内故障切换”,但实际上是指”区域间故障切换”,因此在这里我将其表述为”区域间故障切换”。

2. 关系型数据库

AWSAzureGCPMYSQL互換MySQL
/ MariaDBAzure Database for MySQL*Google Cloud SQL for MySQL高可用性構成Multi-AZ,
クロスリージョンリードレプリカ-フェイルオーバーレプリカ負荷分散リードレプリカ,
クロスリージョンリードレプリカ-リードレプリカ

PostgresqlPostgresqlAzure Database for PostgreSQL*Google Cloud SQL for PostgreSQL**高可用性構成Multi-AZ,
クロスリージョンリードレプリカ-リージョナルインスタンス**負荷分散リードレプリカ,
クロスリージョンリードレプリカ-リードレプリカ**

SQL ServerSQL ServerAzure SQL Database-高可用性構成Multi-AZアクティブgeoレプリケーション-負荷分散-アクティブgeoレプリケーション-

OracleOracle–高可用性構成Multi-AZ–負荷分散—

*预览
**测试版

・不同云服务间的区别-第1个

AWS的Multi-AZ和GCP的区域实例(PostgreSQL)都没有读取功能,因此无法用于负载均衡,但GCP的故障转移副本(MySQL)具有读取功能,可用于负载均衡。

3. 非关系型数据库

AWSAzureGCPKVS・ドキュメントElastiCache(Memcached, Redis),
DynamoDBRedis Cache,
Cosmos DB(Azure Table, SQL, MongoDB)Cloud Datastore,
Cloud BigtableグラフNeptune*Cosmos DB(Gremlin)-他-Cosmos DB(Cassandra)-

預覽

目前,Neptune的AWS管理控制台预览界面与Amazon RDS非常相似。据说它在幕后使用了与Aurora相同的机制,因此有可能像Cosmos DB一样作为Aurora的一个功能发布。

4. 总结 jié)

如果您想使用MySQL或Postgresql,现在可以考虑使用AWS的Aurora或RDS;如果想使用SQL Server,可以考虑使用Azure。

但是根据目前观察到的各个云供应商的预览和测试提供情况,功能差异似乎将逐渐消失。

广告
将在 10 秒后关闭
bannerAds