linux下的開源資料庫有:1、MySQL,是一個開源的關係型資料庫管理系統;2、PostgreSQL,是一款「物件-關係」型資料庫管理系統;3、MongoDB,是一款開源、面向檔案的NoSQL資料庫;4、Hadoop,是一個開源的、基於列儲存模型的分散式資料庫;5、Couchbase,是一款基於JSON模型的檔案資料庫;6、Neo4j,是一款開源的高效能NoSQL圖資料庫。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux下的開源資料庫
1、MySQL
MySQL是一個開源的關係型資料庫管理系統,為甲骨文公司產品。支援多種儲存引擎、叢集、全文索引、支援多執行緒、充分利用CPU資源、支援多使用者等其它許多非常專業的功能。
MySQL由於效能高、成本低、可靠性好已經成為最流行的開源資料庫,並且被廣泛應用在Web應用程式以及其它中小型專案上。從WordPress 到Movable Type都把MySQL作為預設的資料庫。此外,自甲骨文收購MySQL以後,有將MySQL閉源的潛在風險,因此社群採用分支的方式避開這種風險,開發並運營著完全相容MySQL的MariaDB資料庫。
2、PostgreSQL
PostgreSQL可以簡稱為「postgres」,是一款物件-關係型資料庫管理系統,PostgreSQL採用的是比較經典的C/S(client/server)結構,也就是一個使用者端對應一個伺服器端守護行程的模式。PostgreSQL擁有非常完美的驅動,並支援標準的ANSI-SQL和擴充套件功能,在許多方面都要超過MySQL。
PostgreSQL是全功能的自由軟體資料庫,很長時間以來,PostgreSQL是唯一支援事務、子查詢、多版本並行控制系統(MVCC)、資料完整性檢查等特性的唯一一種自由軟體的資料庫管理系統。許多雲服務提供商比如Heroku等,都用PostgreSQL作為他們的RDBMS儲存。
缺點方面,PostgreSQL還欠缺一些比較高階的資料庫管理系統需要的特性,比如資料庫叢集,更優良的管理工具和更加自動化的系統優化功能等提高資料庫效能的機制等。
3、MongoDB
MongoDB是一款開源、面向檔案並且也是當下人氣最旺的NoSQL資料庫,它也是一款介於關聯式資料庫和非關聯式資料庫之間的產品。Mongo最大的特點是它支援的查詢語言非常強大,其語法有點類似於物件導向的查詢語言,幾乎可以實現類似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。還具有高效能、易部署、易使用,儲存資料非常方便等特點。
4、Hadoop (HBase)
Hadoop (HBase)是一個開源的、基於列儲存模型的分散式資料庫,它是Apache Hadoop專案的一部分,開發語言為Java。
HBase不同於一般的關聯式資料庫,它是一個適合於非結構化資料儲存的資料庫。另一個不同的是HBase基於列的而不是基於行的模式。且具有高可靠性、高效能、可伸縮、並建立在關係模型基礎上的分散式資料庫。
HBase是Google Bigtable的開源實現,類似Google Bigtable利用GFS作為其檔案儲存系統,用以儲存大規模結構化資料。HBase利用Hadoop HDFS作為其檔案儲存系統;Google執行MapReduce來處理Bigtable中的海量資料,HBase同樣利用Hadoop MapReduce來處理HBase中的海量資料;Google Bigtable利用 Chubby作為協同服務,HBase利用Zookeeper作為對應。
5、Couchbase
Couchbase是一款基於JSON模型的檔案資料庫,它是CouchDB的一個fork,能夠實現水平伸縮、並且對於資料的讀寫都能提供低延遲存取。Couchbase要比CouchDB功能更加全面,並且Couchbase產品包含了CouchDB的一個副本。Couchbase產品向CouchDB新增了快取、叢集等功能。此外,Couchbase還包含一些不錯的整合功能,對於資料儲存系統來說,Couchbase是一個不錯的選擇。
6、Neo4j
Neo4j是一款開源的高效能NoSQL圖資料庫,它使用圖(graph)相關的概念來描述資料模型,把 資料儲存為圖中的節點以及節點之間的關係。支援ACID事務(原子性、獨立性、永續性和一致性)。
在現實中,很多資料都是用圖來表達的,比如社群網路中人與人的關係、地圖資料、或是基因資訊等等。Neo4j中最基本的概念是節點(node)和關係(relationship)。節點表示實體,在兩個節點之間,可以有不同的關係。
7、Redis
Redis是一個開源、支援網路、基於記憶體、鍵值對儲存資料庫。開發者無需儲存數位和字串即可dump整個雜湊值、列表、集合以及其它複雜的結果儲存,此外,Redis還提供複製/同步和持久化等功能。
Redis是一個高效能的鍵值對資料庫。Redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部分場合可以對關聯式資料庫起到很好的補充作用。
8、Firebird
Firebird是一個跨平臺的關聯式資料庫,用C和C++開發,提供可在Linux,Windows,MacOS和各種Unix平臺上執行的許多ANSI SQL標準功能。目前能夠執行在Windows、linux和各種Unix作業系統上,可以對儲存過程和觸發器提供高效能和強大的語言支援。
Firebird既能作為多使用者環境下的資料庫伺服器執行,也提供嵌入式資料庫的實現。
9、Memcached
Memcached是一套分散式的快取記憶體系統,它能夠用來儲存各種格式的資料,包括影象、視訊、檔案以及資料庫檢索結果等。簡單地說就是將資料呼叫到記憶體中,然後從記憶體中讀取,從而大大提高讀取速度。
Memcached 支援許多平臺:Linux、FreeBSD、Solaris、Mac OS,也可以安裝在Windows上。
Linux系統安裝memcached,首先要先安裝libevent庫。
由於Memcached通常只是當作快取記憶體系統使用,所以使用Memcached的應用程式在寫回較慢的系統時(像是後端的資料庫)需要額外的程式碼更新Memcached內的資料。
10、MariaDB
MariaDB資料庫管理系統是MySQL的一個分支,完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。在儲存引擎方面,使用XtraDB來代替MySQL的InnoDB。另外又新增了一些功能,以支援原生的非阻塞操作和進度報告。這意味著,所有使用MySQL的聯結器、庫和應用程式也將會在MariaDB下工作。
MariaDB由MySQL的創始人麥克爾·維德紐斯主導開發,正如上文所提到的,由於擔心甲骨文存在將MySQL閉源的風險,目前已有許多公司將專案移到MariaDB上,比如維基百科、谷歌等。
11、MonetDB
MonetDB是一款開源的、面向列的資料庫管理系統,其專門為資料探勘、OLAP、GIS、XML查詢、文字及多媒體檢索提供高效能應用。
MonetDB資料庫管理系統包含MonetDB/SQL、MonetDB/GIS、MonetDB伺服器。其還具有自動和自調優索引、執行時查詢優化以及模組化軟體架構。
相關推薦:《Linux視訊教學》
以上就是linux下的開源資料庫有哪些的詳細內容,更多請關注TW511.COM其它相關文章!