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

華為正式宣布開源數(shù)據(jù)庫(kù)能力,開放openGauss數(shù)據(jù)庫(kù)源代碼
簡(jiǎn)單易用的數(shù)據(jù)庫(kù)開源客戶端DBeaver

用docker啟動(dòng) postgres 數(shù)據(jù)庫(kù)
MongoDB開源文檔數(shù)據(jù)庫(kù)的安裝
開源數(shù)據(jù)庫(kù)迎來技術(shù)創(chuàng)新拐點(diǎn)|2023開放原子全球開源峰會(huì)開源數(shù)據(jù)庫(kù)分論壇即將啟幕

開源數(shù)據(jù)庫(kù)迎來技術(shù)創(chuàng)新拐點(diǎn)|2023 開放原子全球開源峰會(huì)開源數(shù)據(jù)庫(kù)分論壇即將啟幕

開源數(shù)據(jù)庫(kù)迎來拐點(diǎn)|2023開放原子全球開源峰會(huì)數(shù)據(jù)庫(kù)分論壇成功召開

開源數(shù)據(jù)庫(kù)迎來拐點(diǎn)|2023開放原子全球開源峰會(huì)數(shù)據(jù)庫(kù)分論壇成功召開

評(píng)論