• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 億恩科技有限公司旗下門戶資訊平臺!
    服務器租用 4元建網站

    2013年最優秀的21款開源數據庫

    眾所周知,MySQL是目前使用最廣泛最好的免費開源數據庫,此外,還有一些你不知道或者沒用過但又非常出色的開源數據庫,例如PostgreSQL、MongoDB、HBase、Cassandra、Couchbase、Neo4j、Riak、Redis、Firebird等。在本文,筆者總共總結了21個最優秀的開源數據庫,不妨讓我們一起來看下吧。

    幾乎所有軟件項目的開發都需要數據庫的支持,目前,隨著開源技術的迅速發展,越來越多的數據供應商選擇開源數據庫,為開源事業添磚加瓦。作為一名軟件開發人員或DBA,其中一份必不可少的工作就是與數據庫打交道,比如MS SQL服務器、MySQL、Oracle、PostgreSQL、MongoDB等等。筆者總結了21個最優秀的開源數據庫與大家分享。

    1.PostgreSQL

    PostgreSQL可以簡稱為“postgres”,是一款對象-關系型數據庫管理系統,PostgreSQL采用的是比較 經典的C/S(client/server)結構,也就是一個客戶端對應一個服務器端守護進程的模式。PostgreSQL擁有非常完美的驅動,并支持標準的ANSI-SQL和擴展功能。

    PostgreSQL是全功能的自由軟件數據庫,很長時間以來,PostgreSQL是唯一支持事務、子查詢、多版本并行控制系統(MVCC)、數據完整性檢查等特性的唯一一種自由軟件的數據庫管理系統。許多云服務提供商比如Heroku等,都用PostgreSQL作為他們的RDBMS存儲。

    缺點方面,PostgreSQL還欠缺一些比較高端的數據庫管理系統需要的特性,比如數據庫集群,更優良的管理工具和更加自動化的系統優化功能等提高數據庫性能的機制等。

    2.MongoDB

    MongoDB是一款開源、面向文檔并且也是當下人氣最旺的NoSQL數據庫,它也是一款介于關系數據 庫和非關系數據庫之間的產品。Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。還具有高性能、易部署、易使用,存儲數據非常方便等特點。

    3.eXist-db

    eXist-db是使用XML技術構建的開源XML數據庫,它根據XML數據模型、功能、基于索引的XQuery進程來存儲XML數據。程序通過eXist綁定的HTTP服務器與eXist交互。eXist數據庫還提供了SOAP、XML-RPC 和RESTful接口,開發者可以通過這些接口向核心服務器提交XPath、XQuery和XUpdate請求。命令行和GUI客戶機也是可用的。

    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.Apache Cassandra

    Apache Cassandra是一套開源分布式NoSQL數據庫系統,類似于Google的BigTable。它最初由 Facebook開發,用于儲存收件箱等簡單格式數據,集Google BigTable的數據模型與Amazon Dynamo的完全分布式的架構于一身。在2008年,Facebook將其開源。

    Cassandra的主要特點就是它不是一個數據庫,而是由一堆數據庫節點共同構成的一個分布式網絡服務,對Cassandra 的一個寫操作,會被復制到其它節點上去,對Cassandra的讀操作,也會被路由到某個節點上面去讀取。對于一個Cassandra群集來說,擴展性能是比較簡單的事情,只管在群集里面添加節點就可以了。

    6.Couchbase

    Couchbase是一款基于JSON模型的文檔數據庫,它是CouchDB的一個fork,能夠實現水平伸縮、并且對于數據的讀寫都能提供低延遲訪問。Couchbase要比CouchDB功能更加全面,并且Couchbase產品包含了CouchDB的一個副本。Couchbase產品向CouchDB添加了緩存、集群等功能。此外,Couchbase還包含一些不錯的集成功能,對于數據存儲系統來說,Couchbase是一個不錯的選擇。 

    7.Neo4j

    Neo4j是一款開源的高性能NoSQL圖數據庫,它使用圖(graph)相關的概念來描述數據模型,把  數據保存為圖中的節點以及節點之間的關系。支持ACID事務(原子性、獨立性、持久性和一致性)。

    在現實中,很多數據都是用圖來表達的,比如社交網絡中人與人的關系、地圖數據、或是基因信息等等。Neo4j中最基本的概念是節點(node)和關系(relationship)。節點表示實體,在兩個節點之間,可以有不同的關系。

    8.Riak

    Riak是基于Erlang和C語言開發,Riak是Amazon的高可用性鍵值存儲庫,用Erlang編寫且基于 Dynamo,是一種高度可擴展的分布式數據存儲。Riak沒有主節點的概念,在處理故障方面更具靈活性。在開源版本中,不包含SNMP分布式模型。

    9.Redis

    Redis是一個開源、支持網絡、基于內存、鍵值對存儲數據庫。開發者無需存儲數字和字符串即可 dump整個哈希值、列表、集合以及其它復雜的結果存儲,此外,Redis還提供復制/同步和持久化等功能。

    Redis是一個高性能的鍵值對數據庫。Redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。

    10.Firebird

    Firebird是一個跨平臺的關系數據庫,用C和C++開發。目前能夠運行在Windows、linux和各種Unix操 作系統上,可以對存儲過程和觸發器提供高性能和強大的語言支持。

    Firebird既能作為多用戶環境下的數據庫服務器運行,也提供嵌入式數據庫的實現。

    11.Memcached

    Memcached是一套分布式的高速緩存系統,它能夠用來存儲各種格式的數據,包括圖像、視頻、文 件以及數據庫檢索結果等。簡單地說就是將數據調用到內存中,然后從內存中讀取,從而大大提高讀取速度。

    由于Memcached通常只是當作高速緩存系統使用,所以使用Memcached的應用程序在寫回較慢的系統時(像是后端的數據庫)需要額外的代碼更新Memcached內的數據。 

    12.Oracle Berkeley DB

    Oracle Berkeley DB是一個高效的嵌入式數據庫編程庫。Berkeley DB可以保存任意類型的鍵/值對(Key/Value Pair),而且可以為一個鍵保存多個數據。Berkeley DB支持讓數千的并發線程同時操作數據庫,支持最大256TB的數據,廣泛用于各種操作系統,其中包括大多數類Unix操作系統、Windows操作系統以及實時操作系統。 

    13.Hypertable

    Hypertable是一個高性能的分布式數據存儲系統,采用與Google的BigTable相似的模型。具有高性 能、可伸縮、可擴展,并且主要集中大規模數據集。

    Hypertable采用類似表的形式組織數據,但目前Hypertable并不支持關系數據庫中豐富的關系屬性。Hypertable將數據組織成一個多維稀疏矩陣。該矩陣中的所有行信息可以基于主鍵(Primary Key)進行排序。 

    14.Keyspace

    Keyspace是一款鍵值對數據庫存儲系統,Keyspace基于Master-Slave模式,所有的寫均由Master承擔,并通過paxos一致傳播到Slave,讀可以根據基本路由到Master或Slave。因此,當Master出現宕機或不可訪問時,會存在一套Master的選舉機制,在keysapce中成為PaxosLease算法。 

    15.4store

    4store是一個高效、可擴展的RDF數據庫,它采用ANSI C99開發,可以同時運行超過15GT的數據查 詢,使用它所開發的Web應用程序可同時支持上千人訪問。 

    16.MariaDB

    MariaDB數據庫管理系統是MySQL的一個分支,完全兼容MySQL,包括API和命令行,使之能輕松成 為MySQL的代替品。在存儲引擎方面,使用XtraDB來代替MySQL的InnoDB。另外又添加了一些功能,以支持本地的非阻塞操作和進度報告。這意味著,所有使用MySQL的連接器、庫和應用程序也將會在MariaDB下工作。

    MariaDB由MySQL的創始人麥克爾·維德紐斯主導開發,正如上文所提到的,由于擔心甲骨文存在將MySQL閉源的風險,目前已有許多公司將項目移到MariaDB上,比如維基百科、谷歌等。

    17.Drizzle

    Drizzle是一款免費/開源的關系型數據庫管理系統,基于C++開發,它是MySQL 6.0的一個分支。和 MySQL一樣,Drizzle也是采用經典的C/S(客戶端/服務端)架構模式,其主要專注于為云端應用提供一個可靠穩定的數據庫。

    18.HyperSQL

    HyperSQL是一款采用Java編寫的SQL關系型數據庫引擎,其核心是多線程,支持雙向鎖和MVCC, 并且為基于內存和磁盤的表提供小而快速的數據庫引擎,支持嵌入式/服務器模式。同時,它還擁有多種工具,比如命令行SQL工具、GUI查詢應用程序等。

    19.MonetDB

    MonetDB是一款開源的、面向列的數據庫管理系統,其專門為數據挖掘、OLAP、GIS、XML查詢、文本及多媒體檢索提供高性能應用。

    MonetDB數據庫管理系統包含MonetDB/SQL、MonetDB/GIS、MonetDB服務器。其還具有自動和自調優索引、運行時查詢優化以及模塊化軟件架構。

    20.Persevere

    Persevere是一款對象存儲引擎和應用服務器(基于Java/Rhino),它提供一個服務器JavaScript環境來實現動態JSON數據的持久化數據存儲。支持通過標準JSON HTTP/REST Web接口來創建、讀取、更新和刪除數據。

    Persevere引以為自豪的是它的“schema-free”,這一特點使得它與其它數據庫有很大的區別。Persevere可以讓你隨心所欲的增加schema。Persevere并非把分級結構的頂層稱為一個domain(SimpleDB這么稱呼),也不稱之為文檔(CouchDB這么稱呼),Persevere稱之為對象,它甚至可以讓你創建對象的子類。如果你想違背規則,你也能堅持某些字段使用某一類型,但是這是不推薦的。Schema規則是可選的。

    21.MySQL

    MySQL是一個開源的關系型數據庫管理系統,為甲骨文公司產品。支持多種存儲引擎、集群、全文 索引、支持多線程、充分利用CPU資源、支持多用戶等其它許多非常專業的功能。

    MySQL由于性能高、成本低、可靠性好已經成為最流行的開源數據庫,并且被廣泛應用在Web應用程序以及其它中小型項目上。從WordPress 到Movable Type都把MySQL作為默認的數據庫。此外,自甲骨文收購MySQL以后,有將MySQL閉源的潛在風險,因此社區采用分支的方式避開這種風險,開發并運營著完全兼容MySQL的MariaDB數據庫。

    河南億恩科技股份有限公司(www.vbseamall.com)始創于2000年,專注服務器托管租用,是國家工信部認定的綜合電信服務運營商。億恩為近五十萬的用戶提供服務器托管、服務器租用、機柜租用、云服務器、網站建設、網站托管等網絡基礎服務,另有網總管、名片俠網絡推廣服務,使得客戶不斷的獲得更大的收益。
    服務器/云主機 24小時售后服務電話:0371-60135900
    虛擬主機/智能建站 24小時售后服務電話:0371-55621053
    網絡版權侵權舉報電話:0371-60135995
    服務熱線:0371-60135900

    0
    0
    分享到:責任編輯:阿柳

    相關推介

    共有:0條評論網友評論:

    驗證碼 看不清換一張 換一張

    親,還沒評論呢!速度搶沙發吧!