ITPub博客

首页 > 数据库 > 数据库开发技术 > Top 10 Databases to Use in 2022

Top 10 Databases to Use in 2022

原创 数据库开发技术 作者:u_a9af4a561c3b 时间:2022-01-20 18:37:40 0 删除 编辑

前言

此篇文章对2021年十大主流数据库进行了一个简要的阐述和对比,以及趋势,还是十分具有参考性的。

虽然是针对2021年的,不过也适用于2022年,在DB-engines上,排名基本上没有大的变化。

因此,Top 10 Databases to Use in 2021(2022)。不过针对PostgreSQL的不适用场景,文中写的有失偏颇,PostgreSQL的NoSQL特性还是十分强大的,近几个版本的JSON已经十分好用了,还有XML/Hstore等。

Top 10 Databases to Use in 2021

数据库是任何软件应用的基石。你需要一个或多个数据库来开发几乎所有类型的软件应用程序:Web,Enterprise,嵌入式系统,实时系统,AI,ML,高性能计算,区块链,物联网,和许多其他的应用。

二十年前,选择一款数据库是很容易的。在大多数情况下,你可以选择其中一个关系数据库系统,这样就可以了。但是在现代软件开发中,选择正确的数据库是最具挑战性的任务之一。

随着微服务、云计算、分布式应用、全球扩展、半结构化数据、大数据、快速数据、低延时数据的兴起:传统的SQL数据库现在加入了各种NoSQL,NewSQL和云数据库。

目前有多达343个数据库。在这里,我将根据以下标准从它们中选出10个数据库:

1.主要特点2.流行度3.趋势4.主流用途5.未来向好

针对每个数据库,我会讨论如下内容:

1.简述,包括简要的历史2.5个关键特征3.何时使用它们4.何时不使用它们5.流行度6.趋势7.Database As a Service(DBaaS)8.替代方案

MySQL

在1995年,两名软件工程师,Michael Widenius 和 David Axmark 创建了开源关系数据库管理系统MySQL。从一开始,MySQL就因其企业级特性和免费、灵活的社区许可(GPL),以及进一步升级的商业许可证而迅速在业界和社区中流行起来。在开源数据库中,PostgreSQL专注于创新和高级特性,MySQL专注于健壮性、稳定性和成熟度。

目前,MySQL是最流行和使用最广泛的SQL数据库之一。它也是Web应用程序中最常用的数据库之一。世界上一些最大web规模的应用程序(如Facebook, Uber)都在使用MySQL。

5个核心特点

•开源的RDBMS,有两种许可模式:免费的社区版和专有的企业版。•提供ACID事务保证(使用InnoDB引擎)。就CAP而言,它提供了立即一致性(immediate consistency)。•通过其Shared Nothing MySQL Cluster提供水平分区的能力(分片)。因此,它提供了高可用性和高吞吐量,同时具备低延迟和近线性扩展的能力。•通过MySQL Cluster,它可以提供多master ACID事务。•多模数据库,同时支持结构化数据(SQL)和半结构化数据(JSON)。

什么时候使用MySQL

•结构化数据(SQL),同时有ACID事务保证。•水平扩展的能力是一个关键诉求,特别是在写入大量数据的时候。•多master ACID事务是一个基本要求。•数据的安全性。•需要一个融合的数据库,即一个数据库同时用于OLTP和OLAP工作负载。

什么时候不使用MySQL

•需要"分布式SQL",即在一个全球分布的数据库中处理数百万的事务。•数据之间的关系十分紧密(如社交媒体),比如图形数据。•数据是半结构化的,即具有高级查询功能的JSON数据。•卓越的数据保护能力(例如,数据脱敏、数据混淆(Obfuscating)、限流)。

MySQL As a Service

•MySQL Database Service (Multi-Cloud, OLTP, and OLAP)•ScaleGrid (Horizontal Scaling)•Vitess (Horizontal Scaling)•Aiven for MySQL (Multi-Cloud)•Amazon RDS for MySQL•Oracle MySQL Cloud Service (Horizontal Scaling)•Azure MySQL Database•Google Cloud SQL for MySQL

替代方案

•Oracle•PostgreSQL•Microsoft SQL Server•MariaDB•IBM Db2•Amazon Aurora•Google Cloud Spanner

流行度

MySQL社区版是业界使用最广泛的免费数据库。此外,它的商业版本在行业中也被广泛使用。

最著名的数据库排名网站DB-Engines将MySQL列为排名第二的数据库,仅次于Oracle

Stack Overflow 2020年进行了面向开发者的调查,将MySQL列为2020年最受欢迎的数据库

趋势

有着25年历史的MySQL并不是目前最流行的数据库。但与其他数据库不同的是,它仍然保持着很高的吸引力,如下所示:

此外,Google Trends显示了MySQL在过去几年相对稳定

Oracle

当Edgar F. Codd发表了关于关系数据库管理系统(RDBMS)的革命性论文A Relational Model of Data for Large Shared Data Banks时,它彻底改变了数据库系统的格局。这篇论文启发了一位年轻的软件工程师Larry Ellison(现任甲骨文公司首席技术官)。他后来在1979年创建了世界上第一个商业化的RDBMS系统Oracle。从那时起,甲骨文一直是领先的商业RDMBS系统,并主导了Unix和Linux系统。在过去的41年里,甲骨文随着时间的推移不断发展,为RDBMS和整个数据库系统的创新做出了贡献。

目前,Oracle是最大的商业支持数据库,也是广泛使用的RDBMS之一。它的最新版本(21.c)增加了许多创新功能,使得它在未来几年成为一个有吸引力的选择。

5个核心特点

•专有的RDBMS。•提供ACID事务保证。作为一个单一服务,在CAP方面,它提供了立即一致性(immediate consistency)。•先进的多模数据库,支持结构化数据(SQL)、半结构化数据(JSON、XML)、空间数据和RDF存储。根据具体的数据模型,提供多种访问模式。•提供区块链表(Blockchain)。•同时支持OLTP和OLAP工作负载。

什么时候使用Oracle

•如果一个公司想要一个超融合数据库(一个可以同时用于OLTP和OLAP的数据库)。•使用结构化(SQL)数据的传统事务工作负载,并且ACID事务保证是一个关键指标时。•需要区块链表。•数据仓库。•多模数据库,包括地理空间数据类型。

什么时候不使用Oracle

•如果公司想在数据库上面节约开支。•多master ACID事务保证是一个必须具备的特性。•数据是半结构化的,即带有高级查询功能的JSON数据。•数据之间的关系十分紧密(如社交媒体),比如图形数据。

Oracle As a Service

•Oracle Converged Database•Amazon RDS for Oracle

替代方案

•MySQL•PostgreSQL•Microsoft SQL Server•MariaDB•IBM Db2•Amazon Aurora•Google Cloud Spanner

流行度

四十年来,Oracle一直在为客户提供稳定、成熟的企业级数据库。尽管面临着来自开源SQL数据库和NoSQL数据库的激烈竞争,但在DB-Engines的排名中,它仍然是最受欢迎的数据库系统

然而,在Stack Overflow开发者调查中,它排在第8位,因为开源数据库占主导地位

趋势

Oracle最新的版本很可能是中了头彩。因此,在过去几年中,它获得了大量的关注。考虑到市场正在转向开源数据库,这是一个相当大的成就

此外,Google trend显示了Oracle奇怪的平滑曲线,这在商业数据库中是很罕见的

PostgreSQL

自1970年以来,UC Berkeley 一直致力于通过其开创性的数据库项目Ingres来塑造现代数据库管理系统。1986年,传奇人物Michael Stonebraker领导了POSTGRES (Post-Ingres)项目来解决现有数据库项目的问题。PostgreSQL诞生于POSTGRES项目,同样也是一个关系数据库管理系统。在过去的30年里,PostgreSQL引领了现代数据库开发,贡献了许多创新,Michael Stonebraker在2014年因为他在PostgreSQL中的工作而获得了图灵奖。

目前,PostgreSQL是使用最多的数据库之一,同时也是最先进的开源关系型数据库。

5个核心特点

•一个有着十分宽松协议的开源RDMBS,PostgreSQL有许多具有各种高级特性的扩展。•提供ACID事务保证。作为一个单一服务,在CAP方面,它提供了立即一致性(immediate consistency)。•Citus Data,是PostgreSQL的一个扩展,它提供了许多令人垂涎的分布式SQL特性,例如,一个具有SQL数据库的事务保证和NoSQL数据库的水平扩展能力。•它提供更高级的索引,比如部分索引,布隆过滤器。另外,在PostgreSQL中创建索引是非阻塞的。•它是一个功能丰富的多模数据库,支持结构化数据(SQL),半结构化数据(JSON, XML),键值,空间数据。

什么时候使用PostgreSQL

•数据是结构化的(SQL),ACID事务保证是一个关键指标,具有严格的数据完整性。•当需要 "分布式SQL"时,需要在一个全球分布的数据库中处理数以百万计的事务。•需要一个复杂的查询优化器。•需要先进的可靠性和容灾能力,例如,PITR,Active Standbys。•多模数据库,并且期望包括地理空间数据类型。

什么时候不使用PostgreSQL

•多master ACID事务是一个必须具备的功能。•数据是半结构化的,即具有高级查询优化器的JSON数据。•需要一个超融合数据库(OLTP和OLAP)。•数据之间的关系十分紧密(如社交媒体),比如图形数据。

PostgreSQL As a Service

•EDB for PostgreSQL (Horizontal Scaling)•CitusData (Distributed SQL)•ScaleGrid (Horizontal Scaling)•Aiven for PostgreSQL (Multi-Cloud)•Amazon RDS for PostgreSQL•Azure PostgreSQL Database•Google Cloud SQL for PostgreSQL

替代方案

•MySQL•Oracle•Microsoft SQL Server•MariaDB•IBM Db2•Amazon Aurora•Google Cloud Spanner

流行度

PostgreSQL是历史最悠久的开源免费数据库之一。它有庞大的社区支持,同时也在社区和行业中使用。

根据DB-Engines,它是最流行的数据库之一

根据Stack Overflow面向开发者的调查,它是2020年第二大最受欢迎的数据库

趋势

由于其先进的特性和创新,PostgreSQL在推出30年后仍然得到了大量的宣传,如下图所示

Google trend也显示了近年来PostgreSQL的吸引力在增加,可以肯定,人们对PostgreSQL的兴趣越来越浓厚

Microsoft SQL Server

1988年,Microsoft与Ashton-Tate和Sybase联合创建了一个RDBMS作为Sybase SQL Server的变体。1989年,他们发布了第一个版本的Microsoft SQL Server。虽然没有像其他公司那样创新或先进,但多年来,微软SQL Server经历了重大的更新和检修。最初是为 IBM OS/2发布的,很快又为Windows系统发布。在过去的三十年里,它是Windows系统中占主导地位的商业数据库。

目前,它是领先的商业数据库系统之一,有着来自微软优秀的工具支持。

5个核心特点

•专有的RDBMS,有多种许可证:Developer and Express(免费)、标准版,企业版(商业)。•提供ACID事务性保证。作为一个单一服务,在CAP方面,它提供了立即一致性(immediate consistency)。•支持通过T-SQL、.NET语言、R、Python和Java的服务端脚本语言。•它是一个多模数据库,支持结构化数据(SQL)、半结构化数据(JSON)和空间数据。•对本地和云端都有出色的工具支持。此外,Azure还提供工具,可以轻松地将本地部署的SQL Server转移到云端。

什么时候使用SQLServer

•数据是结构化的(SQL),具有ACID事务保证。•开发平台与其他微软产品紧密结合。•Azure Cloud是首选的公共云技术,偏向于管理SQL数据库。•一家公司已经拥有MS-SQL数据库,并希望将其转移到云端。

什么时候不使用SQLServer

•对于数据库预算较低的公司来说并不理想。•多master ACID事务是一个必须具备的特性。•数据是半结构化的,即JSON数据,有高级查询的操作。•要求分布式SQL数据库。•需要一个超融合数据库。

SQL Server As a Service

•Azure SQL (horizontal scaling)•Amazon RDS for SQL Server•SQL Server on Google Cloud

替代方案

•MySQL•Oracle•PostgreSQL•MariaDB•IBM Db2•Amazon Aurora•Google Cloud Spanner

流行度

MS SQL是Windows平台上最流行的商业数据库,也是Azure Cloud中首选的SQL数据库。基于这些事实,它仍然是根据DB-Engines排名的第三大最受欢迎的数据库

根据Stack Overflow面向开发者的调查,它依然是第三大最受欢迎的数据库

趋势

MS SQL是这个列表中历史最悠久的数据库之一。虽然它是一个坚实而稳定的数据库,但它并不是最具创新性或最先进的数据库,而且从DB-Engines的趋势中可以看出,它有下降的趋势

Google Trends显示,MS SQL在过去几年里呈下降趋势,2021年也不会改变

MongoDB

当我们需要在数据库中保存半结构化数据(如JSON、XML)时,有很多用例。此外,使用面向对象的编程语言向RDBMS加载和访问数据需要额外的应用级映射(Object-Relational Impedance Mismatch)。为了解决这些问题,特别是处理文档数据,10gen公司(目前是MongoDB公司)在2009年发布了MongoDB,作为第一个文档数据库。在接下来的十年里,MongoDB经历了重大改进。它解决了许多缺点(如安全性),并创新和开创了许多功能。

目前,它是最重要的文档数据库和领先的NoSQL数据库。

5个核心特点

•开放核心的NoSQL文档数据库(BSON),有多种许可证:社区版服务(免费)、企业版服务(商业)、Atlas(云端管理)。•通过自动分片提供横向扩展,并通过primary-secondary节点进行内置复制。在CAP方面,它是CP(一致性和分区容忍性)。•具有快照隔离的分布式多文档ACID事务。•丰富而强大的查询语言,使用聚合管道进行复杂查询。它还支持Map-Reduce查询、文本搜索、图形搜索和地理搜索。•MongoDB公司还提供基于MongoDB的全文搜索引擎(Atlas Search)和数据湖(Atlas Data Lake)。

什么时候使用MongoDB

•数据是文档或半结构化的(如JSON,XML),具有高级查询功能。•快速应用开发,模式schema不断地变化。•大型结构化数据被规范化为多个SQL表,在性能和复杂性方面体验不佳。•数据是无模式的。•对于半结构化数据,一致性比可用性更重要。

什么时候不使用MongoDB

•数据是结构化数据。•数据之间的关系十分紧密(如社交媒体),比如图形数据。•用于数据仓库(OLAP数据库)。•需要多master,用于写负载较高的场景。•高可靠性是首选,而不是一致性。

MongoDB As a Service

•MongoDB Atlas (Global Scaling)•ScaleGrid MongoDB (Managed MongoDB)•ApsaraDB for MongoDB

替代方案

•Amazon DynamoDB•Azure Cosmos DB•Amazon DocumentDB•Couchbase•CouchDB•Google Cloud Firestore

流行度

作为最重要的文档数据库,MongoDB近年来人气飙升,根据DB-Engines,MongoDB是第五大最受欢迎的数据库

根据Stack Overflow面向开发者的调查,也把MongoDB放在了第五名的位置

趋势

近年来,MongoDB的发展势头越来越猛,从DB-Engines就可以看出

Google Trends也显示了MongoDB逐渐上升的趋势

Redis

2009年,意大利开发人员Salvatore Sanfilippo试图提高他的初创公司的可扩展性,并想开发一个实时日志分析器。在使用传统数据库系统时,他遇到了严重的伸缩性问题,于是创建了Redis,分布式内存键值存储数据库。Redis很快得到了社区的关注,并发展成为一个高度可伸缩的内存数据结构存储数据库,在业界广泛使用。

5个核心特点

•开放核心的分布式内存NoSQL数据结构存储,采用BSD 3条款许可。•作为一个分布式的、内存键值数据库。也可作为分布式缓存(带或不带数据库)或作为一个具有持久性的消息代理。•支持广泛的数据结构:strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyper-logs, geospatial indexes和streams•通过Redis Cluster的内置复制、自动故障转移和分片,具有高度的可扩展性。在CAP方面,它是CP(一致性和分区容忍性)。•先进的缓存功能(LRU的逐出策略,键值可以指定TTL)。

什么时候使用Redis

•需要分布式内存数据结构。•需要分布式和企业级的缓存,例如,提高数据库访问性能。•用于会话管理。•实时用例,例如,库存系统。•大量的数据集。

什么时候不使用Redis

•单一服务器的内存数据结构存储需要少量的数据集。•主要数据存储是(OLTP数据库),具有ACID事务性保证。•对于一小部分数据集,需要单独服务器缓存。•数据之间的关系十分紧密(如社交媒体),比如图形数据。•当需要一个OLAP数据库时。

Redis As a Service

•Redis Enterprise Cloud (Multi-Cloud)•ScaleGrid Redis (Managed Redis)•Aiven for Redis (Multi-Cloud)•Amazon ElastiCache•Azure Cache for Redis•Google Memorystore

替代方案

•Memcached•Hazelcast•etcd•Ehcache•Riak KV

流行度

分布式内存数据存储和分布式缓存几乎在所有企业中都有用到。因此,Redis在行业中非常受欢迎,如下图所示

根据Stack Overflow面向开发者的调查,也把MongoDB放在了第六名的位置

趋势

随着云计算和微服务的兴起,Redis近年来获得了显著的发展,如下图所示

Google Trend也显示了自成立以来,Redis线性上升的趋势

Elasticsearch

无论是小型初创公司还是电子商务公司,都需要全文搜索。Doug Cutting在1999年开发了用于全文搜索的Java库Lucene。从那时起,Lucene就成为了全文搜索的行业标准。Elasticsearch是一个基于Lucene的全文搜索引擎,最初由Shay Banon开发,于2010年发布。它是一个提供REST API的分布式、支持多租户的全文搜索引擎。

5个核心特点

•开放核心,分布式搜索引擎•通过自动分片提供水平扩展的能力。它是最具扩展性的搜索引擎。对于CAP,它是AP(可用性和分区容忍性)。•提供REST API,支持结构化和无模式数据(JSON)。因此,它特别适合于分析日志或监控数据。•支持自动复制和CCR (Cross-cluster replication)。•强大的Elastic Stack的一部分(Elasticsearch, Kibana, Logstash, Beats)。在可观察性领域,大量使用。

什么时候使用Elasticsearch

•需要中高级的全文搜索功能。•需要具有高级机器学习功能(如欺诈检测)的近实时全文搜索。•具有高级工具支持的搜索引擎(Kibana、Logstash、Beats)。•大量的数据集。•使用半结构化数据(如JSON、日志数据)。

什么时候不使用Elasticsearch

•只需要基本的全文搜索功能。•需要符合ACID标准的数据库(OLTP数据库)。•数据集很小,只有结构化数据。•只需要全文搜索,不需要复杂的工具(Kibana, Logstash)。•当先进的机器学习等尖端但昂贵的功能不是关键需求时。

Elasticsearch As a Service

•Elastic Cloud (Multi-Cloud)•Aiven for Elasticsearch (Multi-Cloud)•Amazon Elasticsearch Service

替代方案

•Apache Solr•Splunk•Algolia

流行度

最近,Elasticsearch被大量用作搜索引擎和获取应用程序的可观察性。因此,它在最受欢迎的数据库中排名第八,在最受欢迎的搜索引擎中排名第一

在Stack Overflow2020年面向开发者的调查中,Elasticsearch排名第十,这对于一个全文搜索引擎来说是一个巨大的成就

趋势

近年来,由于云计算和微服务的兴起,可观察性越来越受到人们的关注。作为现代可观测性技术栈的基石,Elasticsearch近年来受到了极大的关注

Google Trends的数据也显示,近年来人们对Elasticsearch的兴趣显著上升

Cassandra

在2000年代中期,Facebook迅速增长,需要一个大规模的数据库。不幸的是,市场上没有能够满足Facebook规模需求的数据库。受谷歌的Big Table论文(2006年)和亚马逊的Dynamo论文(2007年)的影响,Facebook的两位工程师Avinash Lakshman(亚马逊Dynamo论文的共同作者)和Prashant Malik在2008年开发了分布式的Wide Column Store数据库Cassandra。它是一个高度可伸缩的数据库,在行业中广泛用于处理海量数据。

5个核心特点

•开放核心、分布式、宽列存储数据库,具有Apache许可证2.0。•用作OLAP数据库(如数据仓库)来处理巨大的数据量。也可作为时序数据库使用。•提供线性水平扩展的能力,是具有自动分片功能的最可扩展的数据库之一。在CAP方面,它是AP(可用性和分区容忍性)。•无中心化数据库(Leaderless),具有自动复制和多数据中心复制功能。因此,它具有容错的能力,没有单点故障。•拥有用户友好和类似SQL的查询语言。Cassandra Query Language(CQL)。

什么时候使用Cassandra

•作为典型的OLAP数据库,例如,作为数据仓库。•作为一个有大量写操作的时序数据库。•Web-Scale应用需要处理大量的写和读操作,并具有线性可扩展性。•在数据丢失可以接受的情况下,保证强持久性。

什么时候不使用Cassandra

•作为一个主要的数据库(OLTP),需要ACID事务保证。•如果不需要线性扩展性或不需要高可用性。•如果数据经常被删除,那么它的性能就会下降("tombstone")。•它是基于JVM的,需要更多的Node,并导致高额的云费用。基于Cassandra的ScyllaDB是一个更好的选择,可以节省云计算费用。

Cassandra As a Service

•DataStax Astra (Multi-Cloud)•Aiven for Apache Cassandra (Multi-Cloud)•Amazon Managed Apache Cassandra Service

替代方案

•HBase•ScyllaDB•Azure Cosmos DB•Google Cloud Bigtable•Amazon Keyspaces

流行度

Cassandra是最流行的NoSQL数据库和最流行的宽列存储数据库之一。它在最受欢迎的数据库中排名第九

Stack Overflow 2020面向开发者的调查也将Cassandra排在了第12位

趋势

适用于大规模OLAP工作负载的Cassandra,Cassandra在2016年获得了巨大的吸引力,并仍保持着这一水平

Google Trend也显示出对Cassandra保持着浓厚的兴趣

当Oracle收购了Sun Microsystems时,由于Sun Microsystems拥有MySQL,因此MySQL的未来并不明确。MySQL的共同创造者Michael Widenius分叉了MySQL并创造了MariaDB。MariaDB是一个关系型数据库管理系统,与MySQL协议和MySQL客户端兼容。MySQL可以毫不费力地被MariaDB取代,不需要改代码。与MySQL相比,MariaDB偏向社区驱动。

5个核心特点

•具有GPL v2许可证的开源RDBMS。它有两种许可模式:免费社区版和商业企业版。•提供ACID事务性保证(使用InnoDB引擎)。在CAP方面,它作为一个单一服务,提供立即一致性(immediate Consistency)。•通过其存储引擎 "ColumnStore",MariaDB提供了具有大规模并行分布式数据架构的列式存储。它还通过其MaxScale和Spider引擎提供水平分区(分片)。因此,MariaDB也适合作为一个OLAP数据库。•通过其图形计算引擎 "OQGRAPH",它支持分层和复杂的图形数据类型。•通过其Xpand智能存储,它提供了开箱即用的 "分布式SQL"功能。因此,它可以提供每秒数百万次的交易能力。

什么时候使用MariaDB

•数据是结构化的(SQL),ACID事务保证是一个关键标准。•需要 "分布式SQL",在一个全球分布数据库中处理数以百万计的事务。•需要多master集群和多节点数据仓库(OLAP)。•需要一个多模数据库,即用一个数据库来处理结构化、半结构化、图数据和列存数据。•需要一个超融合数据库,即一个数据库处理OLTP、OLAP和图数据工作负载。

什么时候不使用MariaDB

•多master ACID事务是一个必须具备的功能。•数据是半结构化的,即JSON数据,需要高级查询功能。•希望有高级索引,如倒叙索引、函数索引和不可见索引。•希望有高级的认证和授权方式(例如,密码重用策略,部分权限回收)。

MariaDB As a Service

•SkySQL (Distributed SQL)•Amazon RDS for MariaDB•Azure Database for MariaDB

替代方案

•MySQL•Oracle•PostgreSQL•Microsoft SQL Server•IBM Db2•Amazon Aurora•Google Cloud Spanner

流行度

四大SQL数据库在SQL数据库领域占主导地位。作为这个名单中最年轻的SQL数据库,MariaDB要想获得普及并不容易。

但MariaDB做得相当好,已经是最受欢迎的数据库之一了,如下图所示。

根据Stack Overflow2020年面向开发者的调查,它已经超过了许多知名数据库,如Oracle和IBM DB2

趋势

MariaDB有许多创新和分布式SQL特性,是最流行的SQL数据库之一,如下所示

此外,正如Google Trends所显示的那样,近年来它的吸引力越来越大

IBM Db2

1966年,IBM为Apollo program开发了第一个数据库管理系统IMS(一个分层数据库)。当IBM的工程师Edgar F. Codd发表了他关于关系型数据库的开创性论文时,IBM不愿意放弃他们的IMS数据库。当甲骨文公司发布了第一个关系型数据库,IBM迅速纠正了自己的道路,并在1983年发布了Db2作为商业支持的RDBMS。最初,IBM为IBM的大型机发布了Db2。在1987年,IBM为Windows、Linux、Unix系统也发布了Db2 LUW。这里我将讨论Db2 LUW,因为Db2家族还有其他数据库。

多年来,IBM Db2经历了许多重大变化,并像Oracle一样不断发展。

5个核心特点

•Db2是一个专有的RDBMS,具有ACID事务保证。它有不同的许可证。社区版(免费),标准版,和高级版(商业)。•最先进的多模数据库之一,支持结构化数据(SQL)、半结构化数据(JSON)和图数据。•它也是一个融合数据库,并通过IBM BLU加速(内存计算、大规模并行计算、基于列的Db2影子表)提供出色的OLAP支持。•对人工智能的原生支持。•通过Db2 pureScale提供水平扩展。

什么时候使用Db2

•如果超融合数据库(一个数据库用于所有目的)是一个关键要求。•作为一个主要的数据库(OLTP数据库),具有ACID交易保证。•数据库中的AI功能是竞争优势•作为OLAP数据库(例如,数据仓库)。•公司已经在使用IBM云或IBM Cloud Pack for Data

什么时候不使用Db2

•如果公司想省钱或在预算上减少开支。•多master ACID事务是一个必须具备的功能。•数据是半结构化的,即具有高级查询功能的JSON数据。•需要一个没有AI功能的纯SQL数据库。•当只使用Azure或谷歌云作为云供应商。

Db2 As a Service

•IBM Db2 on Cloud•Db2 Workgroup on AWS Marketplace

替代方案

•MySQL•Oracle•PostgreSQL•Microsoft SQL Server•MariaDB•Amazon Aurora•Google Cloud Spanner

流行度

Db2曾经是市场的领先者,但由于数据库领域的竞争现在是多方面的,它近年来已经失去了它的受欢迎程度。尽管如此,它仍然是大中型企业使用最多的数据库之一,在流行度上占据着显眼的地位

在Stack Overflow Developer的调查中(Recency Bias),它的排名相当低

趋势

Db2近年来也没有得到太多的关注,如下所示

Google Trends也证实了其持续下降的趋势

小结

在这个列表中,我展示了2021年要使用的十个数据库。RDBMS系统在列表中占主导地位。MySQL和PostgreSQL是开源和免费数据库的领导者,紧随其后的是MS SQL。与MySQL兼容的MariaDB也越来越受欢迎。

在商业数据库中,Oracle在其最新版本中增加了许多增值功能,并向未来迈出了一大步。尽管IBM Db2仍在大型组织中使用,但它将慢慢衰落。

在NoSQL数据库中,MongoDB(文档数据库)、Redis(内存键值存储)、Cassandra(宽列数据库)和Elasticsearch(全文搜索引擎)是其领域的领导者。

这份名单并不包罗万象,许多重要的数据库类型无法进入前十名,如NewSQL数据库、云原生数据库。但它将对2021年的顶级数据库给出一个全局的概述。


原文作者:PostgreSQL学徒;如有侵权,请联系管理员删除。

上一篇: 锁拾遗
下一篇: 子事务及其性能
请登录后发表评论 登录
全部评论

注册时间:2020-07-14

  • 博文量
    306
  • 访问量
    139308