创意电子
标题:
2021年推荐使用的十大数据库
[打印本页]
作者:
闻数起舞
时间:
2021-1-29 23:40
标题:
2021年推荐使用的十大数据库
MySQL,Oracle,PostgreSQL,Microsoft SQL Server,MongoDB,Redis,Elasticsearch,Cassandra,MariaDB,IBM Db2
登录/注册后可看大图
> Image by Tumisu from Pixabay
数据库是任何软件应用程序的基石。您将必要一个或多个数据库来开发几乎全部范例的软件应用程序:Web,企业,嵌入式体系,实时体系,AI,ML,HPC,区块链,IoT和很多其他应用程序。
二十年前,选择数据库要轻易得多。在大多数环境下,您大概选择了一个关系数据库体系,然后就完成了。但是在现代软件开发中,选择正确的数据库是最具挑战性的任务之一。
随着微服务,云,分布式应用程序,全局扩展,半结构化数据,大数据,快速数据,低延迟数据的兴起:现在,各种NoSQL都加入了传统的SQL数据库。NewSQL和Cloud数据库。
目前有343个数据库。在这里,我将根据以下标准从它们中选择十个数据库:
重要特点
人气度
趋向
主流用途
光明的未来
我将为每个数据库讨论以下内容:
概述,包括简短的历史记录。
5个重要功能。
什么时间使用它们。
什么时间不使用它们。
人气。
趋势。
数据库即服务(DBaaS)。
备择方案。
1. MySQL
1995年,两位软件工程师Michael Widenius和David Axmark创建了开源关系数据库管理体系(RDBMS)MySQL。自成立以来,MySQL因其企业级功能,免费,机动(GPL)社区允许证和升级的贸易允许证而迅速在行业和社区中盛行。在开源数据库中,PostgreSQL专注于创新和高级功能,而MySQL则专注于健壮性,稳固性和成熟度。
今天,MySQL是最盛行和使用最广泛的SQL数据库之一。它也是Web应用程序中最常用的数据库之一。世界上一些最大的Web规模应用程序(例如Facebook,Uber)使用MySQL。
5个重要功能
具有两种允许模式的开源RDBMS:免费的Community Server和专有的Enterprise Server。
提供ACID交易保证(使用InnoDB引擎)。就CAP而言,它提供了即时的同等性。
通过其Shared Nothing MySQL集群提供程度分区(分片)。结果,它提供了高可用性和高吞吐量,并具有低延迟和近乎线性的缩放比例。
借助其MySQL群集,它可以提供多主ACID事务。
多模型数据库,同时支持结构化数据(SQL)和半结构化数据(JSON)。
何时使用MySQL
具有ACID事务保证的结构化数据(SQL)。
程度可伸缩性是一项关键要求,尤其是在写入大量数据时。
多主ACID交易是基本要求。
数据安全性是一项关键功能。
必要一个聚合数据库,即,一个用于OLTP和OLAP工作负载的数据库。
什么时间不使用MySQL
在全球分布式数据库中应处置惩罚数百万个事务的环境下,必要使用“分布式SQL”。
数据是非常相干的(例如,交际媒体),即像图表一样的数据。
数据是半结构化的,即具有高级查询功能的JSON数据。
必须具有高级数据保护功能(例如,屏蔽,模糊处置惩罚,限制)。
MySQL即服务
MySQL数据库服务(多云,OLTP和OLAP)
ScaleGrid(程度缩放)
Vitess(程度缩放)
适用于MySQL的Aiven(多云)
适用于MySQL的Amazon RDS
Oracle MySQL云服务(程度扩展)
Azure MySQL数据库
适用于MySQL的Google Cloud SQL
备择方案
甲骨文
PostgreSQL
Microsoft SQL服务器
Maria数据库
IBM Db2
亚马逊Aurora
Google Cloud Spanner
人气:
MySQL Community Edition是业界使用最广泛的免费数据库。而且,其贸易版本在行业中被广泛使用。
最闻名的数据库排名网站DB-Engines将MySQL排名第二,仅次于Oracle:
登录/注册后可看大图
> Image by Author (data: DB-Engines)
2020年Stack Overflow开发人员调查将MySQL列为2020年最受欢迎的数据库:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
拥有25年历史的MySQL并不是目前最盛行的数据库。但是与其他较旧的数据库差别,它仍然保持较高的吸引力,如下所示:
登录/注册后可看大图
> Source: DB-Engines
此外,Google趋势在已往几年中显示出相对稳固的图表:
登录/注册后可看大图
> Source: Google Trends
2.甲骨文
当埃德加·科德(Edgar F. Codd)在关系数据库管理体系(RDBMS)上发表其革命性论文“大型共享数据库的数据关系模型”(1970)时,它彻底改变了数据库体系的面貌。该论文特别启发了年轻的软件工程师Larry Ellison(Oracle公司现任CTO)。厥后,他在1979年创建了世界上第一个可商用的RDBMS体系Oracle。从那时起,Oracle不停是领先的贸易RDMBS体系,并在Unix和Linux体系中占据主导地位。在已往的41年中,Oracle随着时间的推移不断发展,并为RDBMS和整个数据库体系的创新做出了贡献。
目前,Oracle是贸易支持的第一数据库,也是整体上使用广泛的RDBMS之一。它的最新版本(21.c)添加了很多创新功能,这些功能将使其在未来几年成为有吸引力的选择。
5个重要功能
专有RDBMS。
提供ACID交易保证。就CAP而言,它可以作为单个服务器提供即时的同等性。
支持结构化数据(SQL),半结构化数据(JSON,XML),空间数据和RDF存储的高级多模型数据库。根据特定的数据模型提供多种访问模式
提供区块链表。
同时支持OLTP和OLAP工作负载。
何时使用Oracle
如果公司想要拥有一个融合数据库或主数据库(一个用于OLTP和OLAP的数据库)。
传统的事务性工作负载具有结构化(SQL)数据,而且ACID事务保证是关键条件。
区块链表是必须的。
用于数据仓库。
包括地理空间数据范例的多模型数据库是必不可少的要求。
何时不使用Oracle
如果公司想在数据库上省钱。
多主设备ACID事务是必须具备的功能。
数据是半结构化的,即具有高级查询功能的JSON数据。
数据是非常相干的(例如,交际媒体),即像图表一样的数据。
Oracle即服务
Oracle融合数据库
适用于Oracle的Amazon RDS
备择方案
MySQL
PostgreSQL
Microsoft SQL服务器
Maria数据库
IBM Db2
亚马逊Aurora
Google Cloud Spanner
人气度
四十年来,Oracle为客户提供了稳固,成熟的企业级数据库。尽管它面对来自开放源代码SQL数据库和NoSQL数据库的激烈竞争,但它仍然是DB-Engines排名最高的数据库体系:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
但是,在Stack Overflow开发人员调查中,由于该列表受开源数据库的支配,因此它排名第8位:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
Oracle大概以其最新版本赢得了大奖。结果,它在最近几年中获得了很大的吸引力。思量到市场正在转向开源数据库,这是一个壮举:
登录/注册后可看大图
> Source: DB-Engines
此外,Google的趋势还显示出Oracle的曲线非常平展,这在贸易数据库中很少见:
登录/注册后可看大图
> Source: Google Trends
3. PostgreSQL
自1970年代初以来,加州大学伯克利分校就致力于通过其开创性的数据库项目Ingres来塑造现代数据库管理体系。1986年,传怪杰物Michael Stonebraker向导了POSTGRES(Post-Ingres)项目,以解决现有数据库项目标问题。PostgreSQL诞生于POSTGRES项目标一部分,该项目是一个关系数据库管理体系。在已往的30年中,PostgreSQL在现代数据库开发方面处于领先地位,做出了很多创新,迈克尔·斯通布雷克(Michael Stonebraker)于2014年获得图灵奖,重要是因为他在PostgreSQL中的工作。
现在,PostgreSQL是最常用的数据库之一。它也是最先进的开源关系数据库。
5个重要功能
具有非常允许的PostgreSQL允许证的开源RDMBS。PostgreSQL有很多扩展,具有各种高级功能。
提供ACID交易保证。就CAP而言,它可以作为单个服务器提供即时的同等性。
Citus Data是PostgreSQL的扩展,提供了令人垂涎的分布式SQL功能,即具有SQL数据库的事务保证和NoSQL数据库的程度扩展的数据库。
它提供了更多的高级索引,如部分索引,布隆过滤器。同样,在PostgreSQL中创建索引也是非阻塞的。
它是功能丰富的多模型数据库,支持结构化数据(SQL),半结构化数据(JSON,XML),键值,空间数据。
何时使用PostgreSQL
数据是结构化(SQL),而且ACID事务保证是具有严酷数据完整性的关键条件。
当必要“分布式SQL”时,应在全球分布式数据库中处置惩罚数百万个事务。
必要一个复杂的查询计划器。
必要高级可靠性和灾难规复,例如PITR,活动待机。
盼望包含地理空间数据范例的多模型数据库。
何时不使用PostgreSQL
多主设备ACID事务是必须具备的功能。
数据是半结构化的,即具有高级查询计划器的JSON数据。
必要一个融合数据库(OLTP和OLAP)。
数据是非常相干的(例如,交际媒体),即像图一样的数据。
PostgreSQL即服务
PostgreSQL的EDB(程度扩展)
CitusData(分布式SQL)
ScaleGrid(程度缩放)
PostgreSQL的Aiven(多云)
适用于PostgreSQL的Amazon RDS
Azure PostgreSQL数据库
PostgreSQL的Google Cloud SQL
备择方案
MySQL
甲骨文
Microsoft SQL服务器
Maria数据库
IBM Db2
亚马逊Aurora
Google Cloud Spanner
人气度
PostgreSQL是最古老的开源和免费数据库之一。它具有巨大的社区支持,并在社区和行业中得到使用。
根据数据库引擎,它是最受欢迎的数据库之一:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
根据Stack Overflow开发人员调查,它是2020年第二受欢迎的数据库:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
由于其先进的功能和创新,即使在PostgreSQL引入30年后,它也获得了很多宣传,如下所示:
登录/注册后可看大图
> Source: DB-Engines
Google趋势在最近几年也显示出对PostgreSQL的吸引力增加,这表明对PostgreSQL的兴趣日益增加:
登录/注册后可看大图
> Source: Google Trends
4. Microsoft SQL Server
1988年,Microsoft与Ashton-Tate和Sybase一起创建了RDBMS作为Sybase SQL Server变体。1989年,他们发布了Microsoft SQL Server的第一个版本。尽管不像其他产品那么创新或先进,但是Microsoft SQL Server多年来经历了重大更新和大修。最初针对IBM OS / 2发行,不久又针对Windows体系发行。在已往的三十年中,它是Windows体系中占主导地位的贸易中型数据库。
当前,它是领先的贸易数据库体系之一,Microsoft提供了出色的工具支持。
5个重要功能
具有各种允许证的专有RDBMS:Developer和Express(免费),Standard和Enterprise(贸易)。
提供ACID交易保证。就CAP而言,它可以作为单个服务器提供即时的同等性。
通过T-SQL,.NET语言,R,Python和Java支持服务器端脚本。
它是一个多模型数据库,支持结构化数据(SQL),半结构化数据(JSON)和空间数据。
对本地和云的出色工具支持。此外,Azure提供了轻松将本地SQL Server迁徙到云的工具。
何时使用SQL Server
具有ACID事务保证的数据结构化(SQL)。
该开发平台与其他Microsoft产品紧密结合在一起。
Azure云是首选的公共云技术,首选托管SQL数据库。
一家公司已经拥有MS-SQL数据库,并希望在Cloud中对其进行迁徙。
何时不使用SQL Server
对于数据库预算较低的公司而言并不理想。
多主设备ACID事务是必须具备的功能。
数据是半结构化的,即JSON数据,而且必要高级查询操作。
必要分布式SQL数据库。
必要聚合数据库。
SQL Server即服务
Azure SQL(程度扩展)
适用于SQL Server的Amazon RDS
Google Cloud上的SQL Server
备择方案
MySQL
甲骨文
PostgreSQL的
Maria数据库
IBM Db2
亚马逊Aurora
Google Cloud Spanner
人气:
MS SQL是Windows平台中最受欢迎的贸易数据库,也是Azure Cloud中首选的SQL数据库。由于这些究竟,根据DB-Engines排名,它仍然是第三受欢迎的数据库:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
它也是Stack Overflow Developer调查中第三大最受欢迎的数据库:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
MS SQL是此列表中最古老的数据库之一。尽管它是一个稳固可靠的数据库,但它并不是最具创新性或先进性的数据库,而且呈下降趋势,如DB-Engines趋势所示:
登录/注册后可看大图
> Source: DB-Engines
多年来,Google趋势显示MS SQL呈下降趋势,而且在2021年也不会改变:
登录/注册后可看大图
> Source: Google Trends
5. MongoDB
当我们必要在数据库中生存半结构化数据(例如JSON,XML)时,有很多用例。此外,使用面向对象的编程语言向RDBMS加载和访问数据必要附加的应用程序级映射(对象关系阻抗不匹配)。为相识决这些问题,尤其是处置惩罚文档数据时,公司10gen(现为MongoDB Inc.)在2009年发布了MongoDB作为第一个文档数据库。在接下来的十年中,MongoDB进行了重大改进。它解决了很多缺点(例如安全性),并创新并开创了很多功能。
当前,它是重要的文档数据库和重要的NoSQL数据库。
5个重要功能
具有各种允许证的开放式NoSQL文档数据库(BSON):社区服务器(免费),企业服务器(贸易),Atlas(在云中管理)。
通过自动共享提供程度缩放,并通过主从节点进行内置复制。就CAP而言,它是CP(同等性和分区容忍)。
具有快照隔离功能的分布式多文档ACID事务。
丰富而强盛的查询语言,使用聚合管道进行复杂的查询。它还支持Map-Reduce查询,文本搜索,图形搜索和地理搜索。
MongoDB Inc.还提供了基于MongoDB构建的全文本搜索引擎(Atlas Search)和数据湖(Atlas Data Lake)。
何时使用MongoDB
数据是具有高级查询功能的文档或半结构化数据(例如JSON,XML)。
模式不断变革的快速应用程序开发。
大型结构化数据被规范化为多个SQL表,而且在性能和复杂性方面受到影响。
数据是无架构的。
对于半结构化数据,同等性优于可用性。
何时不使用MongoDB
数据是结构化数据。
数据是非常相干的(例如,交际媒体),即像图表一样的数据。
对于数据仓库(OLAP数据库)。
多主写入对于繁重的写入操作是必须的。
高可用性比同等性优先。
MongoDB即服务
MongoDB Atlas(全局扩展)
ScaleGrid MongoDB(托管MongoDB)
云数据库MongoDB版
备择方案
亚马逊DynamoDB
Azure Cosmos数据库
亚马逊文件数据库
Couchbase
CouchDB
Google Cloud Firestore
人气度
作为闻名的文档数据库,MongoDB比年来正迅速普及,而且在数据库引擎排名中排名第五。
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
2020年Stack Overflow开发人员调查还使MongoDB排名第五:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋向
如数据库引擎所示,MongoDB比年来正渐渐受到青睐:
登录/注册后可看大图
> Source: DB-Engines
Google趋势还显示了MongoDB的上升趋势:
登录/注册后可看大图
> Source: Google Trends
6. Redis
2009年,意大利开发人员Salvatore Sanfilippo试图改善其创业公司的可扩展性,并希望开发一个实时日志分析器。他在使用传统数据库体系时遇到了严重的扩展问题,并将Redis创建为分布式内存中键值存储。Redis很快就受到社区的欢迎,并发展成为高度可扩展的内存中数据结构存储,已在业界广泛使用。
5个重要功能
具有BSD 3子句允许证的Open Core分布式内存中NoSQL数据结构存储。
用作内存中的分布式键值数据库。也可用作分布式缓存(有或没有数据库)或具有可选长期性的消息代理。
支持多种数据结构:字符串,哈希,列表,聚集,带范围查询的排序聚集,位图,超日志,地理空间索引和流。
通过Redis Cluster的内置复制,自动故障转移和分片功能,具有高度可扩展性。就CAP而言,它是CP(同等性和分区容忍)。
高级缓存功能(LRU逐出策略,TTL受限的密钥)。
何时使用Redis
必要分布式的内存中数据结构。
必要分布式和企业级缓存,例如,以提高数据库访问性能。
用于会话管理。
实时用例,例如库存体系。
对于大量的数据集。
什么时间不使用Redis
一小部分数据必要单服务器内存数据结构存储。
具有ACID事务保证的主数据存储(OLTP数据库)。
一小部分数据必要单服务器缓存。
数据是非常相干的(例如,交际媒体),即像图表一样的数据。
必要OLAP数据库时。
Redis即服务
Redis企业云(多云)
ScaleGrid Redis(托管Redis)
针对Redis的Aiven(多云)
亚马逊ElastiCache
Redis的Azure缓存
Google Memorystore
备择方案
Memcached
Hazelcast
etcd
Ehcache
Riak KV
人气:
几乎全部企业都使用分布式内存数据存储和分布式缓存。因此,Redis在行业中非常受欢迎,如下所示:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
Stack Overflow开发人员调查还将Redis列为整体排名第六的最受欢迎的数据库:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
随着云和微服务的兴起,Redis在最近几年受到了极大的关注,如下所示:
登录/注册后可看大图
> Source: DB-Engines
自成立以来,Google趋势也显示了Redis趋势的直线上升:
登录/注册后可看大图
> Source: Google Trends
7. Elasticsearch
无论是小型创业公司还是Web规模的电子商务公司,都必要全文搜索。Doug Cutting在1999年出于全文搜索目标开发了Java库Lucene。从那时起,Lucene成为全文搜索的行业标准。Elasticsearch是基于Lucene的全文本搜索引擎,最初由Shay Banon开发并于2010年发布。它是一个分布式,多租户的全文本搜索引擎,提供REST API。
5个重要功能
开放核心,分布式搜索引擎。
通过自动分片提供程度缩放。它是最可扩展的搜索引擎。就CAP而言,它是AP(可用和分区容忍)。
提供REST API,并支持结构化和无模式数据(JSON)。因此,它特别适合分析记录或监督数据。
支持自动复制和跨集群复制(CCR)。
强盛的“弹性堆栈”的一部分(Elasticsearch,Kibana,Logstash,Beats)。构造在可观察性领域中大量使用它。
何时使用Elasticsearch
必要中比及高级的全文搜索。
先进的机器学习功能(例如敲诈检测)必要近乎实时的全文搜索。
具有高级工具支持(Kibana,Logstash,Beats)的搜索引擎。
适用于大量数据集。
使用半结构化数据(例如JSON,日志数据)。
何时不使用Elasticsearch
仅必要基本的全文本搜索功能。
必要符合ACID的主数据库(OLTP数据库)。
数据集很小,只有结构化数据。
无需复杂工具(Kibana,Logstash),仅必要全文搜索。
当尖端但昂贵的功能(例如高级机器学习)不是关键要求时。
Elasticsearch即服务
弹性云(多云)
针对Elasticsearch的Aiven(多云)
Amazon Elasticsearch服务
备择方案
Apache Solr
Splunk
Algolia
人气:
迩来,Elasticsearch被广泛用作搜索引擎和应用程序的可观察性。结果,它在DB-Engines排名中排名第8,成为最受欢迎的数据库和最受欢迎的搜索引擎:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
在2020年Stack Overflow开发人员调查中,Elasticsearch排名第10位,这是全文搜索引擎的一项壮举:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
比年来,由于云计算和微服务的兴起,可观察性引起了人们的极大兴趣。作为现代可观察性堆栈的基石,Elasticsearch比年来获得了巨大的关注:
登录/注册后可看大图
> Source: DB-Engines
Google趋势提供的数据还显示,比年来Elasticsearch的兴趣显着上升:
登录/注册后可看大图
> Source: Google Trends
8.Cassandra
在2000年代中期,Facebook迅速发展,必要大规模扩展的数据库。不幸的是,市场上没有可以满足Facebook扩展需求的数据库。受Google的Big Table论文(2006年)和Amazon的Dynamo论文(2007年)的影响,两位Facebook工程师Avinash Lakshman(Amazon Dynamo论文的合著者)和Prashant Malik于2008年将Cassandra开发为分布式Wide Column Store数据库。一个高度可扩展的数据库,在行业中广泛用于处置惩罚海量数据。
5个重要功能
带有Apache License 2.0的开放式核心,分布式,宽列存储数据库。
用作OLAP数据库(例如,数据仓库)来处置惩罚巨大的数据量。也用作时间序列数据库。
提供线性程度缩放和具有自动分片功能的最具扩展性的数据库之一。就CAP而言,它是AP(可用和分区容忍)。
具有自动复制和多数据中央复制的分散式数据库(无铅)。结果,它是容错的,没有单点故障。
具有用户友好型和雷同SQL的查询语言:Cassandra查询语言(CQL)。
何时使用Cassandra
作为典范的OLAP数据库,例如,数据仓库。
作为具有大量写操作的时间序列数据库。
Web Scale应用程序必要以线性可伸缩性处置惩罚大量的写入和读取操作。
对于数据丢失可以接受的高耐用性使用案例。
何时不使用Cassandra
作为必要ACID交易保证的主数据库(OLTP)。
如果不必要线性可伸缩性或不必要高可用性。
如果频仍删除数据,则其性能会下降(“墓碑”)。
它基于JVM,而且必要更多的Node,并导致大量的Cloud费用。基于C ++的Cassandra兼容ScyllaDB是节省Cloud账单的更好选择。
卡桑德拉即服务
DataStax Astra(多云)
Apache Cassandra的Aiven(多云)
Amazon Managed Apache Cassandra服务
备择方案
HBase
ScyllaDB
Azure Cosmos数据库
Google Cloud Bigtable
亚马逊Keyspaces
人气:
Cassandra是最盛行的NoSQL数据库和最盛行的Wide Column Store数据库之一。它是第9个最受欢迎的数据库,如下所示:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
Stack Overflow开发人员调查还将Cassandra排名为2020年的第12位:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
作为处置惩罚大量OLAP工作负载的领先数据库,Cassandra在2016年获得了巨大的关注,而且仍保持这一程度:
登录/注册后可看大图
> Source: DB-Engines
长期以来,Google趋势对Cassandra也表现出稳固的兴趣:
登录/注册后可看大图
> Source: Google Trends
9. MariaDB
当Oracle收购Sun Microsystems时,由于Sun Microsystems拥有MySQL,MySQL的未来尚不清晰。MySQL的共同创建者Michael Widenius派生了MySQL并创建了MariaDB。MariaDB是一个关系数据库管理体系,与MySQL协议和MySQL客户端兼容。无需更改代码即可轻松地用MariaDB服务器替换MySQL服务器。与MySQL相比,MariaDB更受社区驱动。
5个重要功能
具有GPL v2允许证的开源RDBMS。它具有两种允许模式:免费的社区服务器和贸易企业服务器。
提供ACID交易保证(使用InnoDB引擎)。就CAP而言,它可以作为单个服务器提供即时的同等性。
借助其存储引擎“ ColumnStore”,MariaDB提供具有大规模并行分布式数据架构的列式存储。它还通过其MaxScale和Spider Engine提供程度分区(分片)。因此,MariaDB也适互助为OLAP数据库。
借助其图形计算引擎“ OQGRAPH”,它支持分层和复杂的图形数据范例。
借助Xpand智能存储,它可以立即提供“分布式SQL”功能。结果,它每秒提供数百万个事务。
何时使用MariaDB
数据是结构化(SQL),而且ACID事务保证是关键条件。
在全球分布式数据库中应处置惩罚数百万个事务的环境下,必要使用“分布式SQL”。
必要多主群集和多节点数据仓库(OLAP)。
必要一个多模型数据库,即一个数据库来处置惩罚结构化,半结构化,图形和柱状数据。
必要聚合数据库,即,一个用于OLTP,OLAP和Graph工作负载的数据库。
何时不使用MariaDB
多主设备ACID事务是必须具备的功能。
数据是半结构化的,即必要JSON数据和高度高级的查询功能。
希望使用高级索引,例如降序,功能性和不可见性。
必要高级身份验证和授权(例如密码重用策略,部分撤销)。
MariaDB即服务
SkySQL(分布式SQL)
适用于MariaDB的Amazon RDS
适用于MariaDB的Azure数据库
备择方案
的MySQL
甲骨文
PostgreSQL的
Microsoft SQL服务器
IBM Db2
亚马逊Aurora
Google Cloud Spanner
人气:
四大SQL数据库主导着SQL数据库域。作为该列表中最年轻的SQL数据库,MariaDB很难获得普及。
但是MariaDB做得很好,而且已经是最受欢迎的数据库之一,如下所示:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
根据2020年Stack Overflow开发人员调查,它已经超过了很多成熟的数据库,例如Oracle和IBM DB2:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋向
凭借众多创新和分布式SQL功能,MariaDB是最盛行的SQL数据库之一,如下所示:
登录/注册后可看大图
> Source: DB-Engines
此外,如Google趋势所示,比年来它越来越受到关注:
登录/注册后可看大图
> Source: Google Trends
10. IBM Db2
1966年,IBM为Apollo程序开发了首批数据库管理体系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是具有ACID交易保证的专有RDBMS。它具有差别的允许证:社区(免费),标准和高级(贸易)。
支持结构化数据(SQL),半结构化数据(JSON)和图形数据的最先进的多模型数据库之一。
它也是一个聚合数据库(或主数据库),而且通过IBM BLU Acceleration(内存中计算,大规模并行计算,基于列的Db2影子表)具有出色的OLAP支持。
对AI的本地支持。
通过Db2 pureScale提供程度缩放。
何时使用Db2
是融合数据库还是主数据库(一个通用数据库)是关键要求。
作为具有ACID事务保证的主数据库(OLTP数据库)。
数据库中的AI功能是竞争上风所必须的。
作为OLAP数据库(例如,数据仓库)。
该公司已经在使用IBM Cloud或IBM Cloud Pack for Data。
何时不使用Db2
如果公司想省钱或节省预算。
多主设备ACID事务是必须具备的功能。
数据是半结构化的,即具有高级查询功能的JSON数据。
没有AI功能的纯SQL数据库是必须的。
仅将Azure或Google Cloud用作云提供程序时。
Db2即服务
IBM Db2 on Cloud
AWS Marketplace上的Db2工作组
备择方案
MySQL
甲骨文
PostgreSQL的
Microsoft SQL服务器
Maria数据库
亚马逊Aurora
Google Cloud Spanner
人气:
Db2曾经是市场的向导者,但由于数据库格局竞争现在是多方面的,因此在最近几年已经失去了知名度。
但是,它仍然是大中型企业中最常用的数据库之一,而且在盛行度中享有突出的地位:
登录/注册后可看大图
> Image by Author (Data: DB-Engines)
在具有新近度偏差的Stack Overflow Developer调查中,其排名很低:
登录/注册后可看大图
> Source: Stack Overflow Developer Survey, 2020
趋势
比年来,Db2也没有受到太多关注,如下所示:
登录/注册后可看大图
> Source: DB-Engines
Google趋势还证实了其持续下降的趋势:
登录/注册后可看大图
> Source: Google Trends
结论
在此列表中,我显示了2021年要使用的十个数据库。RDBMS体系在该列表中占主导地位。MySQL和PostgreSQL是开源和免费数据库的向导者,紧随其后的是MS SQL。与MySQL兼容的MariaDB越来越受欢迎。
在贸易数据库中,Oracle在其最新版本中增加了很多增值功能,并朝着未来迈出了巨大的一步。尽管IBM Db2仍在大型构造中使用,但它会渐渐下降。
在NoSQL数据库中,MongoDB(文档数据库),Redis(内存中键值存储),Cassandra(宽列数据库)和Elasticsearch(全文搜索引擎)是它们领域的向导者。
该列表并不包含全部内容,而且很多紧张的数据库范例也无法像NewSQL数据库,Cloud Native Databases那样进入前十名。但这将对2021年的顶级数据库进行高层概述。
(本文由闻数起舞翻译自Maximilian Beckers的文章《Top 10 Databases to Use in 2021》,转载请注明出处,原文链接:https://towardsdatascience.com/top-10-databases-to-use-in-2021-d7e6a85402ba)
作者:
风笑了无痕
时间:
2021-1-30 08:51
转发了
作者:
码农老杨
时间:
2021-1-30 09:06
hbase,sqlite应该入选
作者:
流星飞雨640
时间:
2021-1-30 10:04
都不能存储图片和pdf等附件吧?
作者:
peterpeng8927
时间:
2021-1-30 12:06
其实图形数据库neo4j在关联数据处理方面有很大优势
作者:
卧室以外都沉没
时间:
2021-1-30 17:31
转发了
作者:
用户Tel
时间:
2021-1-30 19:00
转发了
作者:
用户2065347402239
时间:
2021-1-30 20:12
转发了
作者:
柠檬20160930
时间:
2021-1-31 11:13
转发了
作者:
用户4760757955919
时间:
2021-1-31 21:08
MySQL最受欢迎?其实就是开源,他的性能不是最好的。
作者:
用户1864062426249
时间:
2021-1-31 21:57
有没有觉得Db2不好用的[捂脸]
作者:
QinglongYanyue
时间:
2021-2-1 01:00
转发了
作者:
用户9527522155072
时间:
2021-2-1 02:30
level db应该入选
作者:
君主不是他
时间:
2021-2-1 03:43
转发了
作者:
吴老师在关注
时间:
2021-2-1 06:20
转发了
作者:
星之斋
时间:
2021-2-1 06:56
转发了
作者:
90後小玩家
时间:
2021-2-1 12:45
转发了
作者:
米克罗斯
时间:
2021-2-1 19:20
转发了
欢迎光临 创意电子 (https://wxcydz.cc/)
Powered by Discuz! X3.4