<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • 數據庫軟件哪個好用(目前最靠譜的10個數據庫軟件)


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

    2021年推薦使用的十大數據庫

    > 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:

    2021年推薦使用的十大數據庫

    > Image by Author (data: DB-Engines)

    2020年Stack Overflow開發人員調查將MySQL列為2020年最受歡迎的數據庫:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    2021年推薦使用的十大數據庫

    > 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排名最高的數據庫系統:

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

    但是,在Stack Overflow開發人員調查中,由于該列表受開源數據庫的支配,因此它排名第8位:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

    Oracle可能以其最新版本贏得了大獎。結果,它在最近幾年中獲得了很大的吸引力。考慮到市場正在轉向開源數據庫,這是一個壯舉:

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    2021年推薦使用的十大數據庫

    > 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是最古老的開源和免費數據庫之一。它具有巨大的社區支持,并在社區和行業中得到使用。

    根據數據庫引擎,它是最受歡迎的數據庫之一:

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

    根據Stack Overflow開發人員調查,它是2020年第二受歡迎的數據庫:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    2021年推薦使用的十大數據庫

    > 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排名,它仍然是第三受歡迎的數據庫:

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

    它也是Stack Overflow Developer調查中第三大最受歡迎的數據庫:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    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近年來正迅速普及,并且在數據庫引擎排名中排名第五。

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

    2020年Stack Overflow開發人員調查還使MongoDB排名第五:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨向

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    2021年推薦使用的十大數據庫

    > 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在行業中非常受歡迎,如下所示:

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

    Stack Overflow開發人員調查還將Redis列為整體排名第六的最受歡迎的數據庫:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    2021年推薦使用的十大數據庫

    > 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)。
    • 強大的“彈性堆?!钡囊徊糠郑‥lasticsearch,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,成為最受歡迎的數據庫和最受歡迎的搜索引擎:

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

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

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    2021年推薦使用的十大數據庫

    > 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個最受歡迎的數據庫,如下所示:

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

    Stack Overflow開發人員調查還將Cassandra排名為2020年的第12位:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

    長期以來,Google趨勢對Cassandra也表現出穩定的興趣:

    2021年推薦使用的十大數據庫

    > 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做得很好,并且已經是最受歡迎的數據庫之一,如下所示:

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

    根據2020年Stack Overflow開發人員調查,它已經超過了許多成熟的數據庫,例如Oracle和IBM DB2:

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨向

    憑借眾多創新和分布式SQL功能,MariaDB是最流行的SQL數據庫之一,如下所示:

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

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

    2021年推薦使用的十大數據庫

    > 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曾經是市場的領導者,但由于數據庫格局競爭現在是多方面的,因此在最近幾年已經失去了知名度。

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

    2021年推薦使用的十大數據庫

    > Image by Author (Data: DB-Engines)

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

    2021年推薦使用的十大數據庫

    > Source: Stack Overflow Developer Survey, 2020

    趨勢

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

    2021年推薦使用的十大數據庫

    > Source: DB-Engines

    Google趨勢還證實了其持續下降的趨勢:

    2021年推薦使用的十大數據庫

    > Source: Google Trends

    結論

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

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

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

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

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费