泉源:盘算机天下
在上周的微信《云数据库选型必读:该选什么样的云数据库?》中介绍了集群式和分布式数据库,今天继续分享干货:
主要云数据库产品
我最近查看的DB-Engines排名中有373个体系,不外此中许多产品不是明确的云数据库。我选择了有代表性的12家云服务和云数据库供应商,按首字母排序来介绍。请留意,本文提及的并非建议利用,未提及的也并非欠好。
亚马逊网络服务(AWS)在其云端提供至少15种数据库,不外此中几种是数据仓库。Aurora是高性能、高可用性的关系数据库服务,同时支持MySQL和PostgreSQL。RDS是其尺度性能的关系数据库服务,支持5种引擎:MariaDB、MySQL、Oracle Database、PostgreSQL 和Microsoft SQL Server。DynamoDB是高流量键值数据库服务。ElastiCache是内存中服务,与Memcached和Redis兼容。DocumentDB是一种与MongoDB兼容的文档数据库服务。Keyspaces是一种与Cassandra兼容的宽列数据库服务。Neptune是一种图数据库服务,支持属性图和RDF模子。Timestream是一种时间序列数据库服务。QLDB是一种分类账数据库服务。
CockroachDB是一种分布式、可横向扩展、动态分片的关系多模子数据库,它在键值存储数据库上实现了PostgreSQL;它拥有强一致性和非常出色的存活本领。CockroachDB Core是免费开源的;CockroachDB Enterprise是拥有附加功能的商业版;CockroachCloud是供应商管理的多云数据库即服务,基于CockroachDB Enterprise和Kubernetes;CockroachCloud Free是CockroachCloud的永久免费版,功能简化,每个免费集群最多只能利用1个vCPU和5 GB存储。CockroachDB在 2020年年底增加了空间数据存储和索引功能。
Couchbase Server是一种内存优先、分布式、灵活的JSON文档数据库,在本地集群中高度一致。Couchbase Lite是移动版本,可以在本地运行,也可以在毗连后同步到服务器。Couchbase Cloud是一种完全托管的NoSQL数据库服务,面向关键任务型应用,可在AWS或Microsoft Azure的云环境中自动部署和管理Couchbase Server。
DataStax Enterprise 是开源宽列数据库Apache Cassandra的增强型云原生版本。DataStax Astra是一种基于Apache Cassandra/DataStax Enterprise构建的云原生多云、无服务器、可扩展的多区域DBaaS。存储附加索引机制为Astra提供了针对非主键的查询功能,其他任何版本的Cassandra还没有这项功能。
谷歌云托管10多种数据库。关系数据库包括Bare Metal Solution for Oracle Database、Cloud SQL forMySQL/PostgreSQL/Microsoft SQL Server以及Google Cloud Spanner,后者是云原生体系,支持无限制的规模、一致性和99.999%的可用性。Google Cloud Bigtable是类似Cassandra或HBase的宽列存储数据库。Firestore和Firebase Realtime Database是文档数据库。Memorystore支持Redis API和Memcached API。谷歌云合作伙伴服务支持来自MongoDB、DataStax、Redis Labs和Neo4j的托管产品。
IBM 在其云端提供约莫10种数据库。关系数据库服务包括PostgreSQL、EnterpriseDB(PostgreSQL 的商业扩展)和IBM Db2。NoSQL数据库服务包括IBM Cloudant(文档数据库)、MongoDB(也是文档数据库)、DataStax(宽列Cassandra的商业扩展)以及Redis。IBM 在超级保护的环境中托管PostgreSQL和MongoDB,实现了端到端加密。
Microsoft Azure支持8种事务云数据库。Azure SQL是SQL Server的云原生版本,是一种关系多模子数据库;Azure SQL实例类似,但提供与最新SQL Server引擎的最大兼容性。你还可以在假造机中运行SQL Server。Azure Database支持MariaDB、MySQL和PostgreSQL。Cosmos DB是一种高可用性、多模子、多区域的数据库服务,提供文档、宽列、键值和图模子,不外每个实例支持一个模子。Azure Cache与Redis兼容。Azure Managed Instance for Cassandra是一种托管宽列数据库,可以与本地Cassandra集群同步。
MongoDB Atlas是一种可在AWS、谷歌云和Microsoft Azure上利用的多云文档数据库服务。MongoDB本身可作为托管服务来利用,或在几乎每家云服务提供商的假造机中利用。
MySQL、MariaDB、Vitess、PlanetScale和SkySQL是从MySQL派生而来的数据库,可作为云服务来利用。MySQL是一种开源多模子关系数据库,可在AWS、谷歌云、Microsoft Azure和Oracle Cloud以及几乎每家云服务提供商的假造机中作为一项托管服务来利用。MariaDB是早期开发人员开发的MySQL的一个分支。Vitess是一种用于横向扩展MySQL的数据库集群体系,有自动分片功能。PlanetScale是一种与MySQL兼容的无服务器数据库平台,由Vitess提供支持。SkySQL则是可在AWS和谷歌云中利用的MariaDB服务。
Neo4j是一种符合ACID的属性图数据库,有许多集群功能。Neo4j Aura是一种快速、可靠、可扩展且完全自动化的Neo4j图数据库,作为云服务来提供。Aura的免费版和专业版仅在谷歌云上可用。企业版在AWS和谷歌云上都可用。
Oracle Database是一种商业关系数据库,也是领先的关系多模子数据库。它在 Oracle Cloud中以多种形式和巨细的服务来利用;MySQL作为一项服务可在Oracle Cloud中利用。Oracle Database也可用于 AWS和谷歌云的本地部署环境中。
Redis是一种NoSQL内存中的数据结构存储,可以持久保存在磁盘上。它可以充当数据库、缓存和消息署理。它通过Redis Sentinel提供高可用性,并通过Redis Cluster实现自动分区。Redis Enterprise增加了提高速度、可靠性和灵活性的功能,可以作为云数据库即服务来利用。Redis on Flash是Redis Enterprise的一项功能,可显著低落Redis的硬件成本。Redis Enterprise Cloud实例可在AWS、谷歌云和Microsoft Azure上利用;你可以选择自己的一个或多个区域,还可以在云假造机、Kubernetes或容器中运行Redis。
无论你为自己的应用选择什么数据库,都别忘了在投入资源之前运行概念验证,并在进入到生产环境之前举行负载测试。许多云数据库可以根据需要纵向扩展和横向扩展,但并非全部云数据库都可以在无须将数据传输到新实例然后关闭旧实例的情况下举行扩展。
一旦你的数据库进入到生产环境,就要设置持续监控机制,能够针对非常情况发出警报,而且预备好应对紧急情况。请留意,一些数据库需要在负载变化时对索引举行调整和更改,另一些数据库会自动调整自己。
本文来自【盘算机天下】,仅代表作者观点。天下党媒信息公共平台提供信息发布传播服务。
ID:jrtt |