準備好從商業資料庫過渡到開源資料庫了嗎?想知道 2019 年哪些資料庫最受歡迎嗎?想知道內部雲、公有云和混合雲基礎設施是否最適合你的資料庫策略嗎?或者,考慮在應用程式中新增一個新資料庫,並想看看哪些組合最流行?

我們在上個月的 Percona Live 活動中找到了所有你需要的答案,並將獲得的見解分解為以下幾個免費的趨勢報告:

  • 使用最多的資料庫:開源 vs. 商業
  • 雲基礎設施分析:公共雲 vs. 內部雲 vs. 混合雲
  • 混合持久化趨勢:使用的資料庫數量 & 頂級組合
2019 年的頂級資料庫  

那麼,2019 年哪些資料庫最受歡迎?我們將資料庫分為開源資料庫和商業資料庫。

開源資料庫

開源資料庫是免費的社群資料庫,其原始碼可供公眾使用,可以在其原始設計中修改或使用。MySQL、PostgreSQL 和 MongoDB 等是流行開源資料庫的代表。

商業資料庫

商業資料庫是由商業企業開發和維護的,可以通過授權訂閱使用,並且不能修改。Oracle、SQL Server 和 DB2 等是流行商業資料庫的代表。

頂級開源資料庫    

MySQL 仍然是排名第一的免費開源資料庫,佔開源資料庫使用量的 30% 以上。這並不奇怪,因為根據 DB-Engines,MySQL 多年來一直保持在這個位置。

PostgreSQL 以 13.4% 的開源資料庫使用者比例位居第二,緊隨其後的是 MongoDB,佔 12.2%,位列第三。根據 DB-Engines 的流行趨勢排名,這也是可以預料到的,但是就在三個月前,我們看到,MongoDB 在“2019 年資料庫趨勢——SQL vs. NoSQL、頂級資料庫、單資料庫與多資料庫使用報告”中排名第二,佔 24.6%。

雖然開源資料庫的前 3 名使用者佔比超過 50%,但我們也看到了 Redis、MariaDB、Elasticsearch、Cassandra、SQLite 的良好表現。資料庫 Clickhouse、Galera、Memcached 和 HBase 等佔了最後的 2%。

頂級商業資料庫    

在下面這幅圖中,我們將看到一個獨特的報告,它同時表示了混合持久化和遷移趨勢:與開源資料庫一起使用的頂級商業資料庫。

我們已經看到了利用多種資料庫型別來滿足應用程式需求的增長趨勢,並希望比較下組織如何在單個應用程式中同時使用商業和開源資料庫。該報告還顯示了正在遷移到開源資料庫的商業資料庫使用者。例如,PostgreSQL 連續兩年是人氣增長最快的資料庫,其使用者群中有 11.5% 是目前正在遷移 PostgreSQL 的組織。

現在,我們已經解釋了這個報告所代表的內容,讓我們來看看與開源資料庫一起使用的頂級商業資料庫。

Oracle 是世界上排名第一的資料庫,它代表了超過 2/3 的商業和開源資料庫組合。在這份報告中,令人震驚的是 Oracle 和第二名的 Microsoft SQL Server 之間的巨大差距,因為根據 DB-Engines,它們之間的差距要小得多。IBM DB2 名列第三,佔商業資料庫與開源資料庫組合的 11.1%。

按資料庫劃分雲基礎設施 

現在,讓我們看看按資料庫管理系統劃分的雲基礎設施設定。

公有云 vs. 內部雲 vs. 混合雲    

我們詢問我們的開源資料庫使用者,他們如何託管他們的資料庫部署,以確定當前在內部雲、公有云和混合雲上部署的趨勢。

令人驚訝的是,49.5% 的開源資料庫部署是在本地執行的,排在第 1 位。雖然我們預料到了這個結果,但我們對本地部署的百分比感到驚訝。在我們最近的 2019 PostgreSQL 趨勢報告中,本地私有云部署佔 59.6%,比該報告高出 10% 以上。

公有云以 36.7% 的開源資料庫部署位居第二,與 PostgreSQL 報告中 34.8% 的部署一致。然而,從這份報告看,混合雲有了顯著的增長,開源資料庫的比例為 13.8%,而 PostgreSQL 部署的比例為 5.6%。

那麼,哪種雲基礎設施適合你呢?下面是一個公有云、內部雲與混合雲的快速比較。

公有云

公有云是一種雲端計算模型,其中的 IT 服務通過網際網路交付,通常通過訂閱使用模型購買。公有云非常容易設定,不需要大量的前期投資,並且可以隨著應用程式需求的變化快速擴充套件。

內部雲

內部或私有云部署是專用於在其自己的資料中心(外部第三方供應商)執行的單個組織的雲解決方案。在這種情況下,你有更多的機會定製你的基礎設施,但是需要在硬體和軟體計算資源上進行大量的前期投資,並且需要承擔起持續的維護職責。這些部署型別最適合具有高階安全需求的組織、受監管的行業或大型組織。

混合雲

混合雲是將公有云和私有云解決方案混合,整合到一個基礎設施環境中。這允許組織在公有云和私有云之間共享資源,以提高它們的效率、安全性和效能。這最適合需要內部基礎設施的高階安全性以及公有云的靈活性的部署。

現在,讓我們按開源資料庫型別看看哪種雲基礎設施最流行。

開源資料庫部署:內部雲   

在這副圖以及下面的公有云和混合雲圖中,我們按照利用這種雲基礎設施的部署百分比來分類每個單獨的開源資料庫。

那麼,哪些開源資料庫是最經常部署內部雲上呢?PostgreSQL 以 55.8% 的內部雲部署率排名第一,緊隨其後的是 MongoDB(52.2%)、Cassandra(51.9%)和 MySQL(50%)。

根據報告,內部雲部署不到一半的開源資料庫包括 MariaDB(47.2%)、SQLite(43.8%)和 Redis(42.9%)。最不經常部署在內部雲上的資料庫是 Elasticsearch,只有 34.5%。

開源資料庫部署:公有云   

現在,讓我們看看在公有云上部署的開源資料庫的劃分。

SQLite 是公有云基礎設施中部署最頻繁的開源資料庫,部署佔比的 43.8%,緊隨其後的是 Redis,佔 42.9%。MariaDB 的公有云部署為 38.9%,MySQL 為 36.7%,Elasticsearch 為 34.5%。

有三個資料庫的公有云部署不到三分之一,其中 MongoDB 佔 30.4%,PostgreSQL 佔 27.9%,而 Cassandra 的公有云部署最少,僅佔 25.9%。

開源資料庫部署:混合雲   

既然我們已經知道了開源資料庫是在內部雲和公有云之間的劃分,那麼讓我們來看看利用這兩種計算環境的部署。

排名第一的利用混合雲的開源資料庫是 Elasticsearch,佔 31%。與之最接近的混合雲資料庫是 Cassandra,只有 22.2%。

MongoDB 在混合雲中的部署比例排名第三,為 17.4%,然後是 PostgreSQL 的 16.3%、Redis 的 14.3%、MariaDB 的 13.9%、MySQL 的 13.3%,最後是 SQLite 的 12.5%。

開源資料庫部署:多雲   

平均而言,20% 的公有云和混合雲部署使用了多雲策略。多雲是使用兩個或多個雲端計算服務。我們還檢視了使用的雲的數量,發現一些部署在一個組織中使用了多達 5 個不同的雲提供商:

最受歡迎的開源資料庫託管雲提供商    

在我們上次分析雲基礎設施劃分時,我們分析了哪些雲提供商最受開源資料庫託管歡迎:

AWS 是開源資料庫託管的頭號雲提供商,佔本次調查中所有云部署的 56.9%。谷歌雲平臺(GCP)排名第二,為 26.2%,出人意料地領先於 Azure,後者為 10.8%。然後是 Rackspace,佔部署總量的 3.1%,DigitalOcean 和 Softlayer 緊隨其後,佔雲端計算中開源部署總量的 3%。

混合持久化趨勢  

混合持久化(Polyglot persistence)的概念是單個軟體應用程式中針對不同的需求使用不同但最適合的資料庫來實現最終目標。這是一個很好的解決方案,可以確保應用程式正確地處理資料,而不是試圖用一個資料庫型別滿足所有需求。一個明顯的例子是擅長處理結構化資料的 SQL 與最適合非結構化資料的 NoSQL。

讓我們來看幾個混合持久化的分析。

資料庫型別的平均使用數量    

平均而言,我們發現,在單個組織中,公司在應用程式中使用 3.1 個資料庫型別。略多於四分之一的組織使用單一的資料庫型別,有些則使用了多達 9 種不同的資料庫型別:

按基礎設施劃分的資料庫型別的平均使用數量   

那麼,這個數值在不同的基礎設施型別之間是如何劃分的呢?我們發現,混合雲部署最有可能利用多種資料庫型別,平均每次使用 4.33 種資料庫型別。

內部雲部署通常使用 3.26 種不同的資料庫型別,而公有云在其組織中使用的資料庫型別最少,平均為 3.05 種。

最常一起使用的資料庫型別   

現在,讓我們仔細研究一下在單個應用程式中最常用的資料庫型別。

在下面的圖表中,左邊列中的資料庫表示該資料庫型別的樣本量,上面列出的資料庫表示與該資料庫型別組合的百分比。藍色顯示的單元格表示 100% 的部署組合,而黃色表示 0% 的組合。

因此,如下面的資料庫組合熱圖所示,MySQL 是我們與其他資料庫型別結合最頻繁的資料庫。但是,雖然其他資料庫型別經常與 MySQL 一起使用,但這並不意味著 MySQL 部署總是使用另一種資料庫型別。這可以在 MySQL 的第一行看到,其顏色為淺藍到黃色,相比之下,MySQL 第一列的顏色要和表示 100% 組合的藍色的匹配度高許多。

用黑色邊框突出顯示的單元格表示僅利用這一種資料庫型別的部署,其中僅使用 MySQL 的單元格佔部署總數的 23%。

對於 DB2,我們也看到了類似的趨勢,最後一行 DB2 表明它經常與 MySQL、PostgreSQL、Cassandra、Oracle 和 SQL Server 一起部署,但是,除了 SQL Server 在其部署中有 50% 使用了 DB2 之外,其他資料庫部署利用 DB2 的比例很低。

SQL 和 NoSQL 開源資料庫流行度比較   

最後但同樣重要的是,我們在開源資料庫報告中比較 SQL 和 NoSQL。在開源資料庫中,SQL 資料庫的使用率超過 3/5,為 60.6%,相比之下,NoSQL 為 39.4%。

我們希望這些資料庫趨勢是富有洞察力的,並引發一些新的想法或驗證你當前的資料庫策略。請在下面的評論中告訴我們你的想法,讓我們知道,你是否有一項特定的資料庫分析想在我們的下一份趨勢報告中看到!

原文連結:

http://highscalability.com/blog/2019/6/27/2019-open-source-database-report-top-databases-public-cloud.html

作者 | High Scalability
譯者 | 平川
來自:InfoQ