在比較開源數(shù)據(jù)庫時,重要的是弄清楚企業(yè)想要從數(shù)據(jù)庫中獲取什么,以便做出正確的選擇。
在過去的五年中,具有商業(yè)許可證的數(shù)據(jù)庫系統(tǒng)開始變得沒那么流行,而開源數(shù)據(jù)庫的部署率總體有所上升。根據(jù)DB-Engines的數(shù)據(jù),到2021年,在企業(yè)部署方面,開源許可證數(shù)據(jù)庫管理系統(tǒng)已經(jīng)取代其商業(yè)對手。
與大多數(shù)技術(shù)一樣,選擇開源數(shù)據(jù)庫需要企業(yè)進(jìn)行自我評估,以便為數(shù)據(jù)選擇正確的選項。
什么是開源數(shù)據(jù)庫?
開源數(shù)據(jù)庫管理系統(tǒng)與商業(yè)數(shù)據(jù)庫管理系統(tǒng)之間的區(qū)別在于許可證。開源數(shù)據(jù)庫是開放的,并免費(fèi)提供使用,而專有產(chǎn)品則需要從供應(yīng)商處購買。
企業(yè)轉(zhuǎn)向開源數(shù)據(jù)庫管理系統(tǒng)可以降低與傳統(tǒng)系統(tǒng)許可相關(guān)的成本,但可能沒有供應(yīng)商支持或容量。而專有的DBMS選項通常會為客戶提供適當(dāng)?shù)闹С窒到y(tǒng)。
從功能上講,這兩種類型的數(shù)據(jù)庫大致相同。下面讓我們看看四個常見關(guān)系數(shù)據(jù)庫開源選項的對比。
MySQL
MySQL是由甲骨文支持的雙重許可軟件,它具有開源社區(qū)版和多個付費(fèi)選項。十多年來,它一直是最受歡迎的開源數(shù)據(jù)庫選項之一。這種受歡迎程度意味著有很多第三方工具和外部文檔,讓你可以盡可能輕松地使用此選項。
MySQL開發(fā)人員在創(chuàng)建該數(shù)據(jù)庫時優(yōu)先考慮速度,目前MySQL仍然被廣泛認(rèn)為是最快的數(shù)據(jù)庫選項之一。除速度外,MySQL還有腳本幫助提高用戶數(shù)據(jù)庫的安全性。受支持的編程語言包括C / C ++、Java、Python和Ruby等。
MySQL的缺點在于其雙重許可的性質(zhì)。某些功能和插件僅在專有版本中可用,對于尋求真正開源選項的企業(yè)而言,可能會感到沮喪。除此之外,MySQL仍然是數(shù)據(jù)管理的臨界標(biāo)準(zhǔn)。只要企業(yè)不需要100%兼容SQL,企業(yè)就可以使用此數(shù)據(jù)庫并期望獲得穩(wěn)定的結(jié)果。這個DBMS的設(shè)計者選擇以速度為重點來構(gòu)建MySQL,而不是遵循179個功能的完整SQL標(biāo)準(zhǔn)。
各行各業(yè)的企業(yè)都越來越多開始部署PostgreSQL,這個開源的對象關(guān)系數(shù)據(jù)庫系統(tǒng)已經(jīng)存在30多年。
PostgreSQL在可靠性和數(shù)據(jù)完整性方面享有盛譽(yù),并且自2001年以來,它一直符合ACID。該數(shù)據(jù)庫支持多種編程語言,例如.Net、C / C ++、Java、Python等。
對于熟悉MySQL的企業(yè),PostgreSQL提供類似的體驗。從技術(shù)上講,MySQL是開源數(shù)據(jù)庫,但現(xiàn)在它擁有專有云源模塊(在甲骨文管理下)。這使一些開源開發(fā)人員開始尋找新的選項,而最相似選項應(yīng)該是PostgreSQL。
該數(shù)據(jù)庫包含MySQL不具備的功能。例如,表繼承,該功能使表可存在于繼承為主的非循環(huán)圖中,以及函數(shù)重載,該功能使一個以上的函數(shù)可具有相同的SQL名稱,只要它們采用的參數(shù)不同。
不論其規(guī)模或所在行業(yè),任何企業(yè)都可以使用PostgreSQL,因為它能夠處理復(fù)雜的查詢和大數(shù)據(jù)集。如果你的企業(yè)希望將其部署用于復(fù)雜的分析過程,則非常適合使用PostgreSQL。而PostgreSQL的缺點在于,并行化和集群等高級工具將需要第三方插件。
MariaDB
另一個首選的開源選項是MariaDB,由MySQL的原始開發(fā)人員開發(fā)。該數(shù)據(jù)庫支持多種編程語言,包括C / C ++、Java、Perl和Python等。
當(dāng)你使用MariaDB時,你會看到頻繁的安全發(fā)布,以及開發(fā)人員對維護(hù)其DBMS安全的承諾。除了對安全性的一般承諾外,開發(fā)人員還保證MariaDB將保持開源。
與PostgreSQL相似,MariaDB可兼容從MySQL遷移,并可支持MySQL中常用的編程語言。這使尋求變更的企業(yè)更容易過渡。最重要的是,MariaDB可以運(yùn)行WordPress。
MariaDB的缺點在于,無法保證會很快發(fā)布進(jìn)一步的更新和版本,而且它缺乏內(nèi)置支持。
SQLite
SQLite可能是目前世界上使用最廣泛的數(shù)據(jù)庫引擎。SQLite廣泛應(yīng)用在手機(jī)、大多數(shù)計算機(jī)、以及無數(shù)的應(yīng)用程序中,它很常見,但它針對的問題與MySQL或PostgreSQL略有不同。該DBMS支持多種編程語言,包括C / C ++、Java和Python等。
對于在網(wǎng)絡(luò)邊緣擁有小型數(shù)據(jù)庫或設(shè)備的企業(yè),SQLite非常適合。SQLite可以跨系統(tǒng)部署,并為單個應(yīng)用程序和設(shè)備提供本地數(shù)據(jù)存儲。SQLite在企業(yè)級別的缺點在于,人們對其目的的誤解。它并不旨在與本文列出的較大選項的功能和特性相匹配,并且可能會使尋求高可擴(kuò)展性的用戶失望。如果你需要處理大量數(shù)據(jù),則SQLite不是你的最佳選擇。
那些需要多個用戶具有特殊訪問權(quán)限的應(yīng)用程序也不適合使用SQLite,因為SQLite可以在普通磁盤文件上讀寫,這意味著唯一適用的訪問權(quán)限是底層操作系統(tǒng)中包含的常見權(quán)限。
責(zé)編AJX
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3799瀏覽量
64389 -
開源
+關(guān)注
關(guān)注
3文章
3348瀏覽量
42499 -
MySQL
+關(guān)注
關(guān)注
1文章
809瀏覽量
26567
發(fā)布評論請先 登錄
相關(guān)推薦
評論