主要云數(shù)據(jù)庫產(chǎn)品
我最近查看的DB-Engines排名中有373個系統(tǒng),不過其中許多產(chǎn)品不是明確的云數(shù)據(jù)庫。我選擇了有代表性的12家云服務和云數(shù)據(jù)庫供應商,按首字母排序來介紹。請注意,本文提及的并非建議使用,未提及的也并非不好。
亞馬遜網(wǎng)絡服務(AWS)在其云端提供至少15種數(shù)據(jù)庫,不過其中幾種是數(shù)據(jù)倉庫。Aurora是高性能、高可用性的關系數(shù)據(jù)庫服務,同時支持MySQL和PostgreSQL。RDS是其標準性能的關系數(shù)據(jù)庫服務,支持5種引擎:MariaDB、MySQL、Oracle Database、PostgreSQL 和Microsoft SQL Server。DynamoDB是高流量鍵值數(shù)據(jù)庫服務。ElastiCache是內(nèi)存中服務,與Memcached和Redis兼容。DocumentDB是一種與MongoDB兼容的文檔數(shù)據(jù)庫服務。Keyspaces是一種與Cassandra兼容的寬列數(shù)據(jù)庫服務。Neptune是一種圖數(shù)據(jù)庫服務,支持屬性圖和RDF模型。Timestream是一種時間序列數(shù)據(jù)庫服務。QLDB是一種分類賬數(shù)據(jù)庫服務。
CockroachDB是一種分布式、可橫向擴展、動態(tài)分片的關系多模型數(shù)據(jù)庫,它在鍵值存儲數(shù)據(jù)庫上實現(xiàn)了PostgreSQL;它擁有強一致性和異常出色的存活能力。CockroachDB Core是免費開源的;CockroachDB Enterprise是擁有附加功能的商業(yè)版;CockroachCloud是供應商管理的多云數(shù)據(jù)庫即服務,基于CockroachDB Enterprise和Kubernetes;CockroachCloud Free是CockroachCloud的永久免費版,功能簡化,每個免費集群最多只能使用1個vCPU和5 GB存儲。CockroachDB在 2020年年底增加了空間數(shù)據(jù)存儲和索引功能。
Couchbase Server是一種內(nèi)存優(yōu)先、分布式、靈活的JSON文檔數(shù)據(jù)庫,在本地集群中高度一致。Couchbase Lite是移動版本,可以在本地運行,也可以在連接后同步到服務器。Couchbase Cloud是一種完全托管的NoSQL數(shù)據(jù)庫服務,面向關鍵任務型應用,美國服務器租用,可在AWS或Microsoft Azure的云環(huán)境中自動部署和管理Couchbase Server。
DataStax Enterprise 是開源寬列數(shù)據(jù)庫Apache Cassandra的增強型云原生版本。DataStax Astra是一種基于Apache Cassandra/DataStax Enterprise構建的云原生多云、無服務器、可擴展的多區(qū)域DBaaS。存儲附加索引機制為Astra提供了針對非主鍵的查詢功能,其他任何版本的Cassandra還沒有這項功能。
谷歌云托管10多種數(shù)據(jù)庫。關系數(shù)據(jù)庫包括Bare Metal Solution for Oracle Database、Cloud SQL for MySQL/PostgreSQL/Microsoft SQL Server以及Google Cloud Spanner,后者是云原生系統(tǒng),支持無限制的規(guī)模、一致性和99.999%的可用性。Google Cloud Bigtable是類似Cassandra或HBase的寬列存儲數(shù)據(jù)庫。Firestore和Firebase Realtime Database是文檔數(shù)據(jù)庫。Memorystore支持Redis API和Memcached API。谷歌云合作伙伴服務支持來自MongoDB、DataStax、Redis Labs和Neo4j的托管產(chǎn)品。
IBM 在其云端提供大約10種數(shù)據(jù)庫。關系數(shù)據(jù)庫服務包括PostgreSQL、EnterpriseDB(PostgreSQL 的商業(yè)擴展)和IBM Db2。NoSQL數(shù)據(jù)庫服務包括IBM Cloudant(文檔數(shù)據(jù)庫)、MongoDB(也是文檔數(shù)據(jù)庫)、DataStax(寬列Cassandra的商業(yè)擴展)以及Redis。IBM 在超級保護的環(huán)境中托管PostgreSQL和MongoDB,實現(xiàn)了端到端加密。
Microsoft Azure支持8種事務云數(shù)據(jù)庫。Azure SQL是SQL Server的云原生版本,是一種關系多模型數(shù)據(jù)庫;Azure SQL實例類似,但提供與最新SQL Server引擎的最大兼容性。你還可以在虛擬機中運行SQL Server。Azure Database支持MariaDB、MySQL和PostgreSQL。Cosmos DB是一種高可用性、多模型、多區(qū)域的數(shù)據(jù)庫服務,提供文檔、寬列、鍵值和圖模型,不過每個實例支持一個模型。Azure Cache與Redis兼容。Azure Managed Instance for Cassandra是一種托管寬列數(shù)據(jù)庫,可以與本地Cassandra集群同步。
MongoDB Atlas是一種可在AWS、谷歌云和Microsoft Azure上使用的多云文檔數(shù)據(jù)庫服務。MongoDB本身可作為托管服務來使用,或在幾乎每家云服務提供商的虛擬機中使用。
MySQL、MariaDB、Vitess、PlanetScale和SkySQL是從MySQL派生而來的數(shù)據(jù)庫,可作為云服務來使用。MySQL是一種開源多模型關系數(shù)據(jù)庫,可在AWS、谷歌云、Microsoft Azure和Oracle Cloud以及幾乎每家云服務提供商的虛擬機中作為一項托管服務來使用。MariaDB是早期開發(fā)人員開發(fā)的MySQL的一個分支。Vitess是一種用于橫向擴展MySQL的數(shù)據(jù)庫集群系統(tǒng),有自動分片功能。PlanetScale是一種與MySQL兼容的無服務器數(shù)據(jù)庫平臺,由Vitess提供支持。SkySQL則是可在AWS和谷歌云中使用的MariaDB服務。
Neo4j是一種符合ACID的屬性圖數(shù)據(jù)庫,有許多集群功能。Neo4j Aura是一種快速、可靠、可擴展且完全自動化的Neo4j圖數(shù)據(jù)庫,作為云服務來提供。Aura的免費版和專業(yè)版僅在谷歌云上可用。企業(yè)版在AWS和谷歌云上都可用。
Oracle Database是一種商業(yè)關系數(shù)據(jù)庫,香港服務器租用,也是領先的關系多模型數(shù)據(jù)庫。它在 Oracle Cloud中以多種形式和大小的服務來使用;MySQL作為一項服務可在Oracle Cloud中使用。Oracle Database也可用于 AWS和谷歌云的本地部署環(huán)境中。