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上,像是維基百科、Google等。
11、MonetDB
MonetDB是一款開源的、面向列的資料庫管理系統,其專門為資料探勘、OLAP、GIS、XML查詢、文字及多媒體檢索提供高效能應用。
MonetDB資料庫管理系統包含MonetDB/SQL、MonetDB/GIS、MonetDB伺服器。其還具有自動和自調優索引、運行時查詢最佳化以及模組化軟體架構。
相關推薦:《Linux影片教學》
以上是linux下的開源資料庫有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!