九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
2021年推薦使用的十大數(shù)據(jù)庫

MySQL,Oracle,PostgreSQL,Microsoft SQL Server,MongoDB,Redis,Elasticsearch,Cassandra,MariaDB,IBM Db2

> Image by Tumisu from Pixabay

數(shù)據(jù)庫是任何軟件應用程序的基石。您將需要一個或多個數(shù)據(jù)庫來開發(fā)幾乎所有類型的軟件應用程序:Web,企業(yè),嵌入式系統(tǒng),實時系統(tǒng),AI,ML,HPC,區(qū)塊鏈,IoT和許多其他應用程序。

二十年前,選擇數(shù)據(jù)庫要容易得多。在大多數(shù)情況下,您可能選擇了一個關系數(shù)據(jù)庫系統(tǒng),然后就完成了。但是在現(xiàn)代軟件開發(fā)中,選擇正確的數(shù)據(jù)庫是最具挑戰(zhàn)性的任務之一。

隨著微服務,云,分布式應用程序,全局擴展,半結(jié)構(gòu)化數(shù)據(jù),大數(shù)據(jù),快速數(shù)據(jù),低延遲數(shù)據(jù)的興起:現(xiàn)在,各種NoSQL都加入了傳統(tǒng)的SQL數(shù)據(jù)庫。NewSQL和Cloud數(shù)據(jù)庫。

目前有343個數(shù)據(jù)庫。在這里,我將根據(jù)以下標準從它們中選擇十個數(shù)據(jù)庫:

  • 主要特點
  • 人氣度
  • 趨向
  • 主流用途
  • 光明的未來

我將為每個數(shù)據(jù)庫討論以下內(nèi)容:

  • 概述,包括簡短的歷史記錄。
  • 5個主要功能。
  • 什么時候使用它們。
  • 什么時候不使用它們。
  • 人氣。
  • 趨勢。
  • 數(shù)據(jù)庫即服務(DBaaS)。
  • 備擇方案。

1. MySQL

1995年,兩位軟件工程師Michael Widenius和David Axmark創(chuàng)建了開源關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)MySQL。自成立以來,MySQL因其企業(yè)級功能,免費,靈活(GPL)社區(qū)許可證和升級的商業(yè)許可證而迅速在行業(yè)和社區(qū)中流行。在開源數(shù)據(jù)庫中,PostgreSQL專注于創(chuàng)新和高級功能,而MySQL則專注于健壯性,穩(wěn)定性和成熟度。

今天,MySQL是最流行和使用最廣泛的SQL數(shù)據(jù)庫之一。它也是Web應用程序中最常用的數(shù)據(jù)庫之一。世界上一些最大的Web規(guī)模應用程序(例如Facebook,Uber)使用MySQL。

5個主要功能

  • 具有兩種許可模式的開源RDBMS:免費的Community Server和專有的Enterprise Server。
  • 提供ACID交易保證(使用InnoDB引擎)。就CAP而言,它提供了即時的一致性。
  • 通過其Shared Nothing MySQL集群提供水平分區(qū)(分片)。結(jié)果,它提供了高可用性和高吞吐量,并具有低延遲和近乎線性的縮放比例。
  • 借助其MySQL群集,它可以提供多主ACID事務。
  • 多模型數(shù)據(jù)庫,同時支持結(jié)構(gòu)化數(shù)據(jù)(SQL)和半結(jié)構(gòu)化數(shù)據(jù)(JSON)。

何時使用MySQL

  • 具有ACID事務保證的結(jié)構(gòu)化數(shù)據(jù)(SQL)。
  • 水平可伸縮性是一項關鍵要求,尤其是在寫入大量數(shù)據(jù)時。
  • 多主ACID交易是基本要求。
  • 數(shù)據(jù)安全性是一項關鍵功能。
  • 需要一個聚合數(shù)據(jù)庫,即,一個用于OLTP和OLAP工作負載的數(shù)據(jù)庫。

什么時候不使用MySQL

  • 在全球分布式數(shù)據(jù)庫中應處理數(shù)百萬個事務的情況下,需要使用“分布式SQL”。
  • 數(shù)據(jù)是非常相關的(例如,社交媒體),即像圖表一樣的數(shù)據(jù)。
  • 數(shù)據(jù)是半結(jié)構(gòu)化的,即具有高級查詢功能的JSON數(shù)據(jù)。
  • 必須具有高級數(shù)據(jù)保護功能(例如,屏蔽,模糊處理,限制)。

MySQL即服務

  • MySQL數(shù)據(jù)庫服務(多云,OLTP和OLAP)
  • ScaleGrid(水平縮放)
  • Vitess(水平縮放)
  • 適用于MySQL的Aiven(多云)
  • 適用于MySQL的Amazon RDS
  • Oracle MySQL云服務(水平擴展)
  • Azure MySQL數(shù)據(jù)庫
  • 適用于MySQL的Google Cloud SQL

備擇方案

  • 甲骨文
  • PostgreSQL
  • Microsoft SQL服務器
  • Maria數(shù)據(jù)庫
  • IBM Db2
  • 亞馬遜Aurora
  • Google Cloud Spanner

人氣:

MySQL Community Edition是業(yè)界使用最廣泛的免費數(shù)據(jù)庫。而且,其商業(yè)版本在行業(yè)中被廣泛使用。

最著名的數(shù)據(jù)庫排名網(wǎng)站DB-Engines將MySQL排名第二,僅次于Oracle:

> Image by Author (data: DB-Engines)

2020年Stack Overflow開發(fā)人員調(diào)查將MySQL列為2020年最受歡迎的數(shù)據(jù)庫:

> Source: Stack Overflow Developer Survey, 2020

趨勢

擁有25年歷史的MySQL并不是目前最流行的數(shù)據(jù)庫。但是與其他較舊的數(shù)據(jù)庫不同,它仍然保持較高的吸引力,如下所示:

> Source: DB-Engines

此外,Google趨勢在過去幾年中顯示出相對穩(wěn)定的圖表:

> Source: Google Trends

2.甲骨文

當埃德加·科德(Edgar F. Codd)在關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)上發(fā)表其革命性論文“大型共享數(shù)據(jù)庫的數(shù)據(jù)關系模型”(1970)時,它徹底改變了數(shù)據(jù)庫系統(tǒng)的面貌。該論文特別啟發(fā)了年輕的軟件工程師Larry Ellison(Oracle公司現(xiàn)任CTO)。后來,他在1979年創(chuàng)建了世界上第一個可商用的RDBMS系統(tǒng)Oracle。從那時起,Oracle一直是領先的商業(yè)RDMBS系統(tǒng),并在Unix和Linux系統(tǒng)中占據(jù)主導地位。在過去的41年中,Oracle隨著時間的推移不斷發(fā)展,并為RDBMS和整個數(shù)據(jù)庫系統(tǒng)的創(chuàng)新做出了貢獻。

目前,Oracle是商業(yè)支持的第一數(shù)據(jù)庫,也是整體上使用廣泛的RDBMS之一。它的最新版本(21.c)添加了許多創(chuàng)新功能,這些功能將使其在未來幾年成為有吸引力的選擇。

5個主要功能

  • 專有RDBMS。
  • 提供ACID交易保證。就CAP而言,它可以作為單個服務器提供即時的一致性。
  • 支持結(jié)構(gòu)化數(shù)據(jù)(SQL),半結(jié)構(gòu)化數(shù)據(jù)(JSON,XML),空間數(shù)據(jù)和RDF存儲的高級多模型數(shù)據(jù)庫。根據(jù)特定的數(shù)據(jù)模型提供多種訪問模式
  • 提供區(qū)塊鏈表。
  • 同時支持OLTP和OLAP工作負載。

何時使用Oracle

  • 如果公司想要擁有一個融合數(shù)據(jù)庫或主數(shù)據(jù)庫(一個用于OLTP和OLAP的數(shù)據(jù)庫)。
  • 傳統(tǒng)的事務性工作負載具有結(jié)構(gòu)化(SQL)數(shù)據(jù),并且ACID事務保證是關鍵條件。
  • 區(qū)塊鏈表是必需的。
  • 用于數(shù)據(jù)倉庫。
  • 包括地理空間數(shù)據(jù)類型的多模型數(shù)據(jù)庫是必不可少的要求。

何時不使用Oracle

  • 如果公司想在數(shù)據(jù)庫上省錢。
  • 多主設備ACID事務是必須具備的功能。
  • 數(shù)據(jù)是半結(jié)構(gòu)化的,即具有高級查詢功能的JSON數(shù)據(jù)。
  • 數(shù)據(jù)是非常相關的(例如,社交媒體),即像圖表一樣的數(shù)據(jù)。

Oracle即服務

  • Oracle融合數(shù)據(jù)庫
  • 適用于Oracle的Amazon RDS

備擇方案

  • MySQL
  • PostgreSQL
  • Microsoft SQL服務器
  • Maria數(shù)據(jù)庫
  • IBM Db2
  • 亞馬遜Aurora
  • Google Cloud Spanner

人氣度

四十年來,Oracle為客戶提供了穩(wěn)定,成熟的企業(yè)級數(shù)據(jù)庫。盡管它面臨來自開放源代碼SQL數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫的激烈競爭,但它仍然是DB-Engines排名最高的數(shù)據(jù)庫系統(tǒng):

> Image by Author (Data: DB-Engines)

但是,在Stack Overflow開發(fā)人員調(diào)查中,由于該列表受開源數(shù)據(jù)庫的支配,因此它排名第8位:

> Source: Stack Overflow Developer Survey, 2020

趨勢

Oracle可能以其最新版本贏得了大獎。結(jié)果,它在最近幾年中獲得了很大的吸引力??紤]到市場正在轉(zhuǎn)向開源數(shù)據(jù)庫,這是一個壯舉:

> Source: DB-Engines

此外,Google的趨勢還顯示出Oracle的曲線非常平坦,這在商業(yè)數(shù)據(jù)庫中很少見:

> Source: Google Trends

3. PostgreSQL

自1970年代初以來,加州大學伯克利分校就致力于通過其開創(chuàng)性的數(shù)據(jù)庫項目Ingres來塑造現(xiàn)代數(shù)據(jù)庫管理系統(tǒng)。1986年,傳奇人物Michael Stonebraker領導了POSTGRES(Post-Ingres)項目,以解決現(xiàn)有數(shù)據(jù)庫項目的問題。PostgreSQL誕生于POSTGRES項目的一部分,該項目是一個關系數(shù)據(jù)庫管理系統(tǒng)。在過去的30年中,PostgreSQL在現(xiàn)代數(shù)據(jù)庫開發(fā)方面處于領先地位,做出了許多創(chuàng)新,邁克爾·斯通布雷克(Michael Stonebraker)于2014年獲得圖靈獎,主要是因為他在PostgreSQL中的工作。

如今,PostgreSQL是最常用的數(shù)據(jù)庫之一。它也是最先進的開源關系數(shù)據(jù)庫。

5個主要功能

  • 具有非常允許的PostgreSQL許可證的開源RDMBS。PostgreSQL有許多擴展,具有各種高級功能。
  • 提供ACID交易保證。就CAP而言,它可以作為單個服務器提供即時的一致性。
  • Citus Data是PostgreSQL的擴展,提供了令人垂涎的分布式SQL功能,即具有SQL數(shù)據(jù)庫的事務保證和NoSQL數(shù)據(jù)庫的水平擴展的數(shù)據(jù)庫。
  • 它提供了更多的高級索引,如部分索引,布隆過濾器。同樣,在PostgreSQL中創(chuàng)建索引也是非阻塞的。
  • 它是功能豐富的多模型數(shù)據(jù)庫,支持結(jié)構(gòu)化數(shù)據(jù)(SQL),半結(jié)構(gòu)化數(shù)據(jù)(JSON,XML),鍵值,空間數(shù)據(jù)。

何時使用PostgreSQL

  • 數(shù)據(jù)是結(jié)構(gòu)化(SQL),并且ACID事務保證是具有嚴格數(shù)據(jù)完整性的關鍵條件。
  • 當需要“分布式SQL”時,應在全球分布式數(shù)據(jù)庫中處理數(shù)百萬個事務。
  • 需要一個復雜的查詢計劃器。
  • 需要高級可靠性和災難恢復,例如PITR,活動待機。
  • 期望包含地理空間數(shù)據(jù)類型的多模型數(shù)據(jù)庫。

何時不使用PostgreSQL

  • 多主設備ACID事務是必須具備的功能。
  • 數(shù)據(jù)是半結(jié)構(gòu)化的,即具有高級查詢計劃器的JSON數(shù)據(jù)。
  • 需要一個融合數(shù)據(jù)庫(OLTP和OLAP)。
  • 數(shù)據(jù)是非常相關的(例如,社交媒體),即像圖一樣的數(shù)據(jù)。

PostgreSQL即服務

  • PostgreSQL的EDB(水平擴展)
  • CitusData(分布式SQL)
  • ScaleGrid(水平縮放)
  • PostgreSQL的Aiven(多云)
  • 適用于PostgreSQL的Amazon RDS
  • Azure PostgreSQL數(shù)據(jù)庫
  • PostgreSQL的Google Cloud SQL

備擇方案

  • MySQL
  • 甲骨文
  • Microsoft SQL服務器
  • Maria數(shù)據(jù)庫
  • IBM Db2
  • 亞馬遜Aurora
  • Google Cloud Spanner

人氣度

PostgreSQL是最古老的開源和免費數(shù)據(jù)庫之一。它具有巨大的社區(qū)支持,并在社區(qū)和行業(yè)中得到使用。

根據(jù)數(shù)據(jù)庫引擎,它是最受歡迎的數(shù)據(jù)庫之一:

> Image by Author (Data: DB-Engines)

根據(jù)Stack Overflow開發(fā)人員調(diào)查,它是2020年第二受歡迎的數(shù)據(jù)庫:

> Source: Stack Overflow Developer Survey, 2020

趨勢

由于其先進的功能和創(chuàng)新,即使在PostgreSQL引入30年后,它也獲得了很多宣傳,如下所示:

> Source: DB-Engines

Google趨勢在最近幾年也顯示出對PostgreSQL的吸引力增加,這表明對PostgreSQL的興趣日益增加:

> Source: Google Trends

4. Microsoft SQL Server

1988年,Microsoft與Ashton-Tate和Sybase一起創(chuàng)建了RDBMS作為Sybase SQL Server變體。1989年,他們發(fā)布了Microsoft SQL Server的第一個版本。盡管不像其他產(chǎn)品那么創(chuàng)新或先進,但是Microsoft SQL Server多年來經(jīng)歷了重大更新和大修。最初針對IBM OS / 2發(fā)行,不久又針對Windows系統(tǒng)發(fā)行。在過去的三十年中,它是Windows系統(tǒng)中占主導地位的商業(yè)中型數(shù)據(jù)庫。

當前,它是領先的商業(yè)數(shù)據(jù)庫系統(tǒng)之一,Microsoft提供了出色的工具支持。

5個主要功能

  • 具有各種許可證的專有RDBMS:Developer和Express(免費),Standard和Enterprise(商業(yè))。
  • 提供ACID交易保證。就CAP而言,它可以作為單個服務器提供即時的一致性。
  • 通過T-SQL,.NET語言,R,Python和Java支持服務器端腳本。
  • 它是一個多模型數(shù)據(jù)庫,支持結(jié)構(gòu)化數(shù)據(jù)(SQL),半結(jié)構(gòu)化數(shù)據(jù)(JSON)和空間數(shù)據(jù)。
  • 對本地和云的出色工具支持。此外,Azure提供了輕松將本地SQL Server遷移到云的工具。

何時使用SQL Server

  • 具有ACID事務保證的數(shù)據(jù)結(jié)構(gòu)化(SQL)。
  • 該開發(fā)平臺與其他Microsoft產(chǎn)品緊密結(jié)合在一起。
  • Azure云是首選的公共云技術(shù),首選托管SQL數(shù)據(jù)庫。
  • 一家公司已經(jīng)擁有MS-SQL數(shù)據(jù)庫,并希望在Cloud中對其進行遷移。

何時不使用SQL Server

  • 對于數(shù)據(jù)庫預算較低的公司而言并不理想。
  • 多主設備ACID事務是必須具備的功能。
  • 數(shù)據(jù)是半結(jié)構(gòu)化的,即JSON數(shù)據(jù),并且需要高級查詢操作。
  • 需要分布式SQL數(shù)據(jù)庫。
  • 需要聚合數(shù)據(jù)庫。

SQL Server即服務

  • Azure SQL(水平擴展)
  • 適用于SQL Server的Amazon RDS
  • Google Cloud上的SQL Server

備擇方案

  • MySQL
  • 甲骨文
  • PostgreSQL的
  • Maria數(shù)據(jù)庫
  • IBM Db2
  • 亞馬遜Aurora
  • Google Cloud Spanner

人氣:

MS SQL是Windows平臺中最受歡迎的商業(yè)數(shù)據(jù)庫,也是Azure Cloud中首選的SQL數(shù)據(jù)庫。由于這些事實,根據(jù)DB-Engines排名,它仍然是第三受歡迎的數(shù)據(jù)庫:

> Image by Author (Data: DB-Engines)

它也是Stack Overflow Developer調(diào)查中第三大最受歡迎的數(shù)據(jù)庫:

> Source: Stack Overflow Developer Survey, 2020

趨勢

MS SQL是此列表中最古老的數(shù)據(jù)庫之一。盡管它是一個穩(wěn)定可靠的數(shù)據(jù)庫,但它并不是最具創(chuàng)新性或先進性的數(shù)據(jù)庫,并且呈下降趨勢,如DB-Engines趨勢所示:

> Source: DB-Engines

多年來,Google趨勢顯示MS SQL呈下降趨勢,并且在2021年也不會改變:

> Source: Google Trends

5. MongoDB

當我們需要在數(shù)據(jù)庫中保存半結(jié)構(gòu)化數(shù)據(jù)(例如JSON,XML)時,有很多用例。此外,使用面向?qū)ο蟮木幊陶Z言向RDBMS加載和訪問數(shù)據(jù)需要附加的應用程序級映射(對象關系阻抗不匹配)。為了解決這些問題,尤其是處理文檔數(shù)據(jù)時,公司10gen(現(xiàn)為MongoDB Inc.)在2009年發(fā)布了MongoDB作為第一個文檔數(shù)據(jù)庫。在接下來的十年中,MongoDB進行了重大改進。它解決了許多缺點(例如安全性),并創(chuàng)新并開創(chuàng)了許多功能。

當前,它是主要的文檔數(shù)據(jù)庫和主要的NoSQL數(shù)據(jù)庫。

5個主要功能

  • 具有各種許可證的開放式NoSQL文檔數(shù)據(jù)庫(BSON):社區(qū)服務器(免費),企業(yè)服務器(商業(yè)),Atlas(在云中管理)。
  • 通過自動共享提供水平縮放,并通過主從節(jié)點進行內(nèi)置復制。就CAP而言,它是CP(一致性和分區(qū)容忍)。
  • 具有快照隔離功能的分布式多文檔ACID事務。
  • 豐富而強大的查詢語言,使用聚合管道進行復雜的查詢。它還支持Map-Reduce查詢,文本搜索,圖形搜索和地理搜索。
  • MongoDB Inc.還提供了基于MongoDB構(gòu)建的全文本搜索引擎(Atlas Search)和數(shù)據(jù)湖(Atlas Data Lake)。

何時使用MongoDB

  • 數(shù)據(jù)是具有高級查詢功能的文檔或半結(jié)構(gòu)化數(shù)據(jù)(例如JSON,XML)。
  • 模式不斷變化的快速應用程序開發(fā)。
  • 大型結(jié)構(gòu)化數(shù)據(jù)被規(guī)范化為多個SQL表,并且在性能和復雜性方面受到影響。
  • 數(shù)據(jù)是無架構(gòu)的。
  • 對于半結(jié)構(gòu)化數(shù)據(jù),一致性優(yōu)于可用性。

何時不使用MongoDB

  • 數(shù)據(jù)是結(jié)構(gòu)化數(shù)據(jù)。
  • 數(shù)據(jù)是非常相關的(例如,社交媒體),即像圖表一樣的數(shù)據(jù)。
  • 對于數(shù)據(jù)倉庫(OLAP數(shù)據(jù)庫)。
  • 多主寫入對于繁重的寫入操作是必需的。
  • 高可用性比一致性優(yōu)先。

MongoDB即服務

  • MongoDB Atlas(全局擴展)
  • ScaleGrid MongoDB(托管MongoDB)
  • 云數(shù)據(jù)庫MongoDB版

備擇方案

  • 亞馬遜DynamoDB
  • Azure Cosmos數(shù)據(jù)庫
  • 亞馬遜文件數(shù)據(jù)庫
  • Couchbase
  • CouchDB
  • Google Cloud Firestore

人氣度

作為著名的文檔數(shù)據(jù)庫,MongoDB近年來正迅速普及,并且在數(shù)據(jù)庫引擎排名中排名第五。

> Image by Author (Data: DB-Engines)

2020年Stack Overflow開發(fā)人員調(diào)查還使MongoDB排名第五:

> Source: Stack Overflow Developer Survey, 2020

趨向

如數(shù)據(jù)庫引擎所示,MongoDB近年來正逐漸受到青睞:

> Source: DB-Engines

Google趨勢還顯示了MongoDB的上升趨勢:

> Source: Google Trends

6. Redis

2009年,意大利開發(fā)人員Salvatore Sanfilippo試圖改善其創(chuàng)業(yè)公司的可擴展性,并希望開發(fā)一個實時日志分析器。他在使用傳統(tǒng)數(shù)據(jù)庫系統(tǒng)時遇到了嚴重的擴展問題,并將Redis創(chuàng)建為分布式內(nèi)存中鍵值存儲。Redis很快就受到社區(qū)的歡迎,并發(fā)展成為高度可擴展的內(nèi)存中數(shù)據(jù)結(jié)構(gòu)存儲,已在業(yè)界廣泛使用。

5個主要功能

  • 具有BSD 3子句許可證的Open Core分布式內(nèi)存中NoSQL數(shù)據(jù)結(jié)構(gòu)存儲。
  • 用作內(nèi)存中的分布式鍵值數(shù)據(jù)庫。也可用作分布式緩存(有或沒有數(shù)據(jù)庫)或具有可選持久性的消息代理。
  • 支持多種數(shù)據(jù)結(jié)構(gòu):字符串,哈希,列表,集合,帶范圍查詢的排序集合,位圖,超日志,地理空間索引和流。
  • 通過Redis Cluster的內(nèi)置復制,自動故障轉(zhuǎn)移和分片功能,具有高度可擴展性。就CAP而言,它是CP(一致性和分區(qū)容忍)。
  • 高級緩存功能(LRU逐出策略,TTL受限的密鑰)。

何時使用Redis

  • 需要分布式的內(nèi)存中數(shù)據(jù)結(jié)構(gòu)。
  • 需要分布式和企業(yè)級緩存,例如,以提高數(shù)據(jù)庫訪問性能。
  • 用于會話管理。
  • 實時用例,例如庫存系統(tǒng)。
  • 對于大量的數(shù)據(jù)集。

什么時候不使用Redis

  • 一小部分數(shù)據(jù)需要單服務器內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲。
  • 具有ACID事務保證的主數(shù)據(jù)存儲(OLTP數(shù)據(jù)庫)。
  • 一小部分數(shù)據(jù)需要單服務器緩存。
  • 數(shù)據(jù)是非常相關的(例如,社交媒體),即像圖表一樣的數(shù)據(jù)。
  • 需要OLAP數(shù)據(jù)庫時。

Redis即服務

  • Redis企業(yè)云(多云)
  • ScaleGrid Redis(托管Redis)
  • 針對Redis的Aiven(多云)
  • 亞馬遜ElastiCache
  • Redis的Azure緩存
  • Google Memorystore

備擇方案

  • Memcached
  • Hazelcast
  • etcd
  • Ehcache
  • Riak KV

人氣:

幾乎所有企業(yè)都使用分布式內(nèi)存數(shù)據(jù)存儲和分布式緩存。因此,Redis在行業(yè)中非常受歡迎,如下所示:

> Image by Author (Data: DB-Engines)

Stack Overflow開發(fā)人員調(diào)查還將Redis列為整體排名第六的最受歡迎的數(shù)據(jù)庫:

> Source: Stack Overflow Developer Survey, 2020

趨勢

隨著云和微服務的興起,Redis在最近幾年受到了極大的關注,如下所示:

> Source: DB-Engines

自成立以來,Google趨勢也顯示了Redis趨勢的直線上升:

> Source: Google Trends

7. Elasticsearch

無論是小型創(chuàng)業(yè)公司還是Web規(guī)模的電子商務公司,都需要全文搜索。Doug Cutting在1999年出于全文搜索目的開發(fā)了Java庫Lucene。從那時起,Lucene成為全文搜索的行業(yè)標準。Elasticsearch是基于Lucene的全文本搜索引擎,最初由Shay Banon開發(fā)并于2010年發(fā)布。它是一個分布式,多租戶的全文本搜索引擎,提供REST API。

5個主要功能

  • 開放核心,分布式搜索引擎。
  • 通過自動分片提供水平縮放。它是最可擴展的搜索引擎。就CAP而言,它是AP(可用和分區(qū)容忍)。
  • 提供REST API,并支持結(jié)構(gòu)化和無模式數(shù)據(jù)(JSON)。因此,它特別適合分析記錄或監(jiān)視數(shù)據(jù)。
  • 支持自動復制和跨集群復制(CCR)。
  • 強大的“彈性堆棧”的一部分(Elasticsearch,Kibana,Logstash,Beats)。組織在可觀察性領域中大量使用它。

何時使用Elasticsearch

  • 需要中等到高級的全文搜索。
  • 先進的機器學習功能(例如欺詐檢測)需要近乎實時的全文搜索。
  • 具有高級工具支持(Kibana,Logstash,Beats)的搜索引擎。
  • 適用于大量數(shù)據(jù)集。
  • 使用半結(jié)構(gòu)化數(shù)據(jù)(例如JSON,日志數(shù)據(jù))。

何時不使用Elasticsearch

  • 僅需要基本的全文本搜索功能。
  • 需要符合ACID的主數(shù)據(jù)庫(OLTP數(shù)據(jù)庫)。
  • 數(shù)據(jù)集很小,只有結(jié)構(gòu)化數(shù)據(jù)。
  • 無需復雜工具(Kibana,Logstash),僅需要全文搜索。
  • 當尖端但昂貴的功能(例如高級機器學習)不是關鍵要求時。

Elasticsearch即服務

  • 彈性云(多云)
  • 針對Elasticsearch的Aiven(多云)
  • Amazon Elasticsearch服務

備擇方案

  • Apache Solr
  • Splunk
  • Algolia

人氣:

近來,Elasticsearch被廣泛用作搜索引擎和應用程序的可觀察性。結(jié)果,它在DB-Engines排名中排名第8,成為最受歡迎的數(shù)據(jù)庫和最受歡迎的搜索引擎:

> Image by Author (Data: DB-Engines)

在2020年Stack Overflow開發(fā)人員調(diào)查中,Elasticsearch排名第10位,這是全文搜索引擎的一項壯舉:

> Source: Stack Overflow Developer Survey, 2020

趨勢

近年來,由于云計算和微服務的興起,可觀察性引起了人們的極大興趣。作為現(xiàn)代可觀察性堆棧的基石,Elasticsearch近年來獲得了巨大的關注:

> Source: DB-Engines

Google趨勢提供的數(shù)據(jù)還顯示,近年來Elasticsearch的興趣顯著上升:

> Source: Google Trends

8.Cassandra

在2000年代中期,F(xiàn)acebook迅速發(fā)展,需要大規(guī)模擴展的數(shù)據(jù)庫。不幸的是,市場上沒有可以滿足Facebook擴展需求的數(shù)據(jù)庫。受Google的Big Table論文(2006年)和Amazon的Dynamo論文(2007年)的影響,兩位Facebook工程師Avinash Lakshman(Amazon Dynamo論文的合著者)和Prashant Malik于2008年將Cassandra開發(fā)為分布式Wide Column Store數(shù)據(jù)庫。一個高度可擴展的數(shù)據(jù)庫,在行業(yè)中廣泛用于處理海量數(shù)據(jù)。

5個主要功能

  • 帶有Apache License 2.0的開放式核心,分布式,寬列存儲數(shù)據(jù)庫。
  • 用作OLAP數(shù)據(jù)庫(例如,數(shù)據(jù)倉庫)來處理龐大的數(shù)據(jù)量。也用作時間序列數(shù)據(jù)庫。
  • 提供線性水平縮放和具有自動分片功能的最具擴展性的數(shù)據(jù)庫之一。就CAP而言,它是AP(可用和分區(qū)容忍)。
  • 具有自動復制和多數(shù)據(jù)中心復制的分散式數(shù)據(jù)庫(無鉛)。結(jié)果,它是容錯的,沒有單點故障。
  • 具有用戶友好型和類似SQL的查詢語言:Cassandra查詢語言(CQL)。

何時使用Cassandra

  • 作為典型的OLAP數(shù)據(jù)庫,例如,數(shù)據(jù)倉庫。
  • 作為具有大量寫操作的時間序列數(shù)據(jù)庫。
  • Web Scale應用程序需要以線性可伸縮性處理大量的寫入和讀取操作。
  • 對于數(shù)據(jù)丟失可以接受的高耐用性使用案例。

何時不使用Cassandra

  • 作為需要ACID交易保證的主數(shù)據(jù)庫(OLTP)。
  • 如果不需要線性可伸縮性或不需要高可用性。
  • 如果頻繁刪除數(shù)據(jù),則其性能會下降(“墓碑”)。
  • 它基于JVM,并且需要更多的Node,并導致大量的Cloud費用。基于C 的Cassandra兼容ScyllaDB是節(jié)省Cloud賬單的更好選擇。

卡桑德拉即服務

  • DataStax Astra(多云)
  • Apache Cassandra的Aiven(多云)
  • Amazon Managed Apache Cassandra服務

備擇方案

  • HBase
  • ScyllaDB
  • Azure Cosmos數(shù)據(jù)庫
  • Google Cloud Bigtable
  • 亞馬遜Keyspaces

人氣:

Cassandra是最流行的NoSQL數(shù)據(jù)庫和最流行的Wide Column Store數(shù)據(jù)庫之一。它是第9個最受歡迎的數(shù)據(jù)庫,如下所示:

> Image by Author (Data: DB-Engines)

Stack Overflow開發(fā)人員調(diào)查還將Cassandra排名為2020年的第12位:

> Source: Stack Overflow Developer Survey, 2020

趨勢

作為處理大量OLAP工作負載的領先數(shù)據(jù)庫,Cassandra在2016年獲得了巨大的關注,并且仍保持這一水平:

> Source: DB-Engines

長期以來,Google趨勢對Cassandra也表現(xiàn)出穩(wěn)定的興趣:

> Source: Google Trends

9. MariaDB

當Oracle收購Sun Microsystems時,由于Sun Microsystems擁有MySQL,MySQL的未來尚不清楚。MySQL的共同創(chuàng)建者Michael Widenius派生了MySQL并創(chuàng)建了MariaDB。MariaDB是一個關系數(shù)據(jù)庫管理系統(tǒng),與MySQL協(xié)議和MySQL客戶端兼容。無需更改代碼即可輕松地用MariaDB服務器替換MySQL服務器。與MySQL相比,MariaDB更受社區(qū)驅(qū)動。

5個主要功能

  • 具有GPL v2許可證的開源RDBMS。它具有兩種許可模式:免費的社區(qū)服務器和商業(yè)企業(yè)服務器。
  • 提供ACID交易保證(使用InnoDB引擎)。就CAP而言,它可以作為單個服務器提供即時的一致性。
  • 借助其存儲引擎“ ColumnStore”,MariaDB提供具有大規(guī)模并行分布式數(shù)據(jù)架構(gòu)的列式存儲。它還通過其MaxScale和Spider Engine提供水平分區(qū)(分片)。因此,MariaDB也適合作為OLAP數(shù)據(jù)庫。
  • 借助其圖形計算引擎“ OQGRAPH”,它支持分層和復雜的圖形數(shù)據(jù)類型。
  • 借助Xpand智能存儲,它可以立即提供“分布式SQL”功能。結(jié)果,它每秒提供數(shù)百萬個事務。

何時使用MariaDB

  • 數(shù)據(jù)是結(jié)構(gòu)化(SQL),并且ACID事務保證是關鍵條件。
  • 在全球分布式數(shù)據(jù)庫中應處理數(shù)百萬個事務的情況下,需要使用“分布式SQL”。
  • 需要多主群集和多節(jié)點數(shù)據(jù)倉庫(OLAP)。
  • 需要一個多模型數(shù)據(jù)庫,即一個數(shù)據(jù)庫來處理結(jié)構(gòu)化,半結(jié)構(gòu)化,圖形和柱狀數(shù)據(jù)。
  • 需要聚合數(shù)據(jù)庫,即,一個用于OLTP,OLAP和Graph工作負載的數(shù)據(jù)庫。

何時不使用MariaDB

  • 多主設備ACID事務是必須具備的功能。
  • 數(shù)據(jù)是半結(jié)構(gòu)化的,即需要JSON數(shù)據(jù)和高度高級的查詢功能。
  • 希望使用高級索引,例如降序,功能性和不可見性。
  • 需要高級身份驗證和授權(quán)(例如密碼重用策略,部分撤銷)。

MariaDB即服務

  • SkySQL(分布式SQL)
  • 適用于MariaDB的Amazon RDS
  • 適用于MariaDB的Azure數(shù)據(jù)庫

備擇方案

  • 的MySQL
  • 甲骨文
  • PostgreSQL的
  • Microsoft SQL服務器
  • IBM Db2
  • 亞馬遜Aurora
  • Google Cloud Spanner

人氣:

四大SQL數(shù)據(jù)庫主導著SQL數(shù)據(jù)庫域。作為該列表中最年輕的SQL數(shù)據(jù)庫,MariaDB很難獲得普及。

但是MariaDB做得很好,并且已經(jīng)是最受歡迎的數(shù)據(jù)庫之一,如下所示:

> Image by Author (Data: DB-Engines)

根據(jù)2020年Stack Overflow開發(fā)人員調(diào)查,它已經(jīng)超過了許多成熟的數(shù)據(jù)庫,例如Oracle和IBM DB2:

> Source: Stack Overflow Developer Survey, 2020

趨向

憑借眾多創(chuàng)新和分布式SQL功能,MariaDB是最流行的SQL數(shù)據(jù)庫之一,如下所示:

> Source: DB-Engines

此外,如Google趨勢所示,近年來它越來越受到關注:

> Source: Google Trends

10. IBM Db2

1966年,IBM為Apollo程序開發(fā)了首批數(shù)據(jù)庫管理系統(tǒng)IMS(分層數(shù)據(jù)庫)之一。當IBM工程師Edgar F. Codd發(fā)表有關關系數(shù)據(jù)庫的開創(chuàng)性論文時,IBM不愿放棄他們的IMS數(shù)據(jù)庫。甲骨文發(fā)布了第一個關系數(shù)據(jù)庫后,IBM迅速改正了發(fā)展道路,并于1983年發(fā)布了Db2作為商業(yè)支持的RDBMS。最初,IBM發(fā)行了用于IBM大型機的Db2。1987年,IBM發(fā)行了適用于Windows,Linux和Unix系統(tǒng)的Db2 LUW。在這里,我將討論Db2 LUW,因為Db2家族還有其他數(shù)據(jù)庫。

多年以來,IBM Db2經(jīng)歷了許多重大變化,并且像Oracle一樣發(fā)展了很多。

5個主要功能

  • Db2是具有ACID交易保證的專有RDBMS。它具有不同的許可證:社區(qū)(免費),標準和高級(商業(yè))。
  • 支持結(jié)構(gòu)化數(shù)據(jù)(SQL),半結(jié)構(gòu)化數(shù)據(jù)(JSON)和圖形數(shù)據(jù)的最先進的多模型數(shù)據(jù)庫之一。
  • 它也是一個聚合數(shù)據(jù)庫(或主數(shù)據(jù)庫),并且通過IBM BLU Acceleration(內(nèi)存中計算,大規(guī)模并行計算,基于列的Db2影子表)具有出色的OLAP支持。
  • 對AI的本地支持。
  • 通過Db2 pureScale提供水平縮放。

何時使用Db2

  • 是融合數(shù)據(jù)庫還是主數(shù)據(jù)庫(一個通用數(shù)據(jù)庫)是關鍵要求。
  • 作為具有ACID事務保證的主數(shù)據(jù)庫(OLTP數(shù)據(jù)庫)。
  • 數(shù)據(jù)庫中的AI功能是競爭優(yōu)勢所必需的。
  • 作為OLAP數(shù)據(jù)庫(例如,數(shù)據(jù)倉庫)。
  • 該公司已經(jīng)在使用IBM Cloud或IBM Cloud Pack for Data。

何時不使用Db2

  • 如果公司想省錢或節(jié)省預算。
  • 多主設備ACID事務是必須具備的功能。
  • 數(shù)據(jù)是半結(jié)構(gòu)化的,即具有高級查詢功能的JSON數(shù)據(jù)。
  • 沒有AI功能的純SQL數(shù)據(jù)庫是必需的。
  • 僅將Azure或Google Cloud用作云提供程序時。

Db2即服務

  • IBM Db2 on Cloud
  • AWS Marketplace上的Db2工作組

備擇方案

  • MySQL
  • 甲骨文
  • PostgreSQL的
  • Microsoft SQL服務器
  • Maria數(shù)據(jù)庫
  • 亞馬遜Aurora
  • Google Cloud Spanner

人氣:

Db2曾經(jīng)是市場的領導者,但由于數(shù)據(jù)庫格局競爭現(xiàn)在是多方面的,因此在最近幾年已經(jīng)失去了知名度。

但是,它仍然是大中型企業(yè)中最常用的數(shù)據(jù)庫之一,并且在流行度中享有突出的地位:

> Image by Author (Data: DB-Engines)

在具有新近度偏差的Stack Overflow Developer調(diào)查中,其排名很低:

> Source: Stack Overflow Developer Survey, 2020

趨勢

近年來,Db2也沒有受到太多關注,如下所示:

> Source: DB-Engines

Google趨勢還證實了其持續(xù)下降的趨勢:

> Source: Google Trends

結(jié)論

在此列表中,我顯示了2021年要使用的十個數(shù)據(jù)庫。RDBMS系統(tǒng)在該列表中占主導地位。MySQL和PostgreSQL是開源和免費數(shù)據(jù)庫的領導者,緊隨其后的是MS SQL。與MySQL兼容的MariaDB越來越受歡迎。

在商業(yè)數(shù)據(jù)庫中,Oracle在其最新版本中增加了許多增值功能,并朝著未來邁出了巨大的一步。盡管IBM Db2仍在大型組織中使用,但它會逐漸下降。

在NoSQL數(shù)據(jù)庫中,MongoDB(文檔數(shù)據(jù)庫),Redis(內(nèi)存中鍵值存儲),Cassandra(寬列數(shù)據(jù)庫)和Elasticsearch(全文搜索引擎)是它們領域的領導者。

該列表并不包含所有內(nèi)容,并且許多重要的數(shù)據(jù)庫類型也無法像NewSQL數(shù)據(jù)庫,Cloud Native Databases那樣進入前十名。但這將對2021年的頂級數(shù)據(jù)庫進行高層概述。


(本文由聞數(shù)起舞翻譯自Maximilian Beckers的文章《Top 10 Databases to Use in 2021》,轉(zhuǎn)載請注明出處,原文鏈接:https://towardsdatascience.com/top-10-databases-to-use-in-2021-d7e6a85402ba)

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
全面!2016全球最強數(shù)據(jù)庫大盤點
從SQL Server到MySQL,近百億數(shù)據(jù)量遷移實戰(zhàn)
國產(chǎn)數(shù)據(jù)庫:目前最火的五款國產(chǎn)數(shù)據(jù)介紹
數(shù)據(jù)庫相關中間件
數(shù)據(jù)庫“揀屎”(三)之 四大金剛 我們不一樣
2018數(shù)據(jù)架構(gòu)選型必讀:3月數(shù)據(jù)庫產(chǎn)品技術(shù)解析
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服