沒有SQL

NO SQL簡介

NO SQL簡介

NoSQL數據庫是一個不需要模式的非關係型數據管理係統。它不需要任何連接,並且易於擴展。NoSQL數據庫多用於分布式數據存儲,數據存儲需求大。NoSQL在大數據和實時web應用程序中都有應用。例如,像Twitter、Facebook和穀歌這樣的公司每天都在積累千兆字節的用戶數據。

非SQL的數據庫被稱為“not Only SQL”或“not SQL”。NoSQL已經變得流行起來,盡管事實上更好的術語應該是“NoREL”。1998年,Carl Strozz創造了“NoSQL”這個術語。

傳統的RDBMS使用SQL語法存儲和檢索數據以供進一步處理。另一方麵,NoSQL數據庫係統是指可以保存結構化、半結構化、非結構化和多態數據的數據庫係統的集合。在這個NoSQL數據庫教程中,我們將通過一個圖表來學習NoSQL:

在本教程中,您將學習NoSQL的一些基本概念:


為什麼NoSQL ?

NoSQL數據庫已經在穀歌、Facebook、亞馬遜和其他處理大量數據的互聯網巨頭中獲得了吸引力。當您使用RDBMS處理大量數據時,係統響應時間會變慢。

我們可以通過更新現有硬件來“擴大”我們的係統,以克服這一挑戰。這個過程很昂貴。

當數據庫負載增加時,可以選擇將其分散到多個主機上。向外擴展是這個過程的術語。

因為NoSQL數據庫不是關係型的,所以它們的可伸縮性比關係型數據庫更好,因為它們是為在線應用程序構建的。

NoSQL數據庫簡史:

雖然NoSQL最近獲得了很多關注和宣傳,但它並不是什麼新鮮事。我決定研究一下NoSQL的起源,看看我能找到什麼。Carlo Strozzi在1998年使用術語“NoSQL”來描述他正在研究的基於文件的數據庫。它是一個關係數據庫,但它沒有SQL接口。因此,從技術上講,它並不是當前NoSQL趨勢的一部分。Eric Evans在2009年使用這個術語來描述當前非關係數據庫的增長。無論是好是壞,這個詞似乎一直保留了下來。這篇文章不包括所有的項目。有關更全麵的列表,請參閱關於評估NoSQL前景的文章。

在1960年的:

  • TRW在1965年發明了多值(或PICK)數據庫。
  • 根據斯科特·瓊斯的說法,M[umps]是1966年在麻省總醫院創建的。它是一種內置了層次數據庫和B+樹存儲的編程語言。
  • 1966年,IBM與羅克韋爾(Rockwell)和卡特彼勒(Caterpillar)合作,為阿波羅(Apollo)太空計劃創建了分級數據庫IMS。

1970年:

  • InterSystems創建了ISM產品家族,隨後是Open M產品,它包含了所有的M[umps]實現。以下是斯科特·瓊斯的一份聲明。
  • 1977年,M[umps]被認可為ANSI標準語言。
  • Ken Thompson開發了DBM, AT&T於1979年發布了DBM。它的核心是一個基於文件的哈希。

1980年:

DBM的後繼者以幾種方式生機勃勃。

  • TDBM支持原子事務。
  • DBM的Berkeley版本NDBM允許同時打開多個數據庫。
  • SDBM是DBM的克隆,主要是為了許可目的而創建的。
  • GT.M是專為高速事務處理而設計的鍵值存儲的第一個迭代。在2000年,它成為了開源軟件。
  • BerkeleyDB是在伯克利從4.3BSD過渡到4.4BSD期間建立的。當網景公司要求BerkeleyDB提供新功能時,Sleepycat軟件公司於1996年成立。BerkeleyDB後來被甲骨文收購,甲骨文繼續銷售和運營該數據庫。
  • Lotus Notes,或者更具體地說,Lotus Domino是一個文檔數據庫,首次發布於1989年,目前由IBM提供。自早期迭代以來,它已經取得了顯著的進展,現在是一個完整的辦公和協作套件。

1990年:

DBM的Gnu項目克隆是GDBM。

  • 愛立信創建了Mnesia作為用於電信的軟實時數據庫。它是關係型的,但它不使用SQL作為查詢語言;而是使用Erlang。
  • InterSystems Caché是一個混合後關係數據庫,首次發布於1997年。它具有對象接口、SQL、PICK/MultiValue和直接數據結構操作。可以肯定的是,這是一個M[umps]實現。有關InterSystems曆史的更多信息,請參閱Scott Jones的評論。
  • Metakit創建於1997年,被廣泛認為是第一個麵向文檔的數據庫。支持比現在流行的數據集更小的數據集。

2000 - 2005:

  • 這是NoSQL列車真正開始加速的時候,許多事情開始發生。
  • Neo4j是一個圖形數據庫,創建於2000年。
  • 2000年,用於Java和。net的對象數據庫db4o誕生了。
  • Mikio Hirabayashi的QDBM是DBM的重新實現,性能有所提高。
  • Danga在2003年創建了Memcached來支持Livejournal。Memcached實際上並不是一個數據庫,因為它隻支持內存,但是不久將會有一個帶有文件存儲的Memcached版本。
  • 2005年,封閉源代碼的Infogrid圖形數據庫發布,2008年,它成為開源數據庫。
  • CouchDB是一個文檔數據庫,靈感來自於2005年創建的Lotus Notes。2008年,該項目被移交給Apache基金會。
  • 穀歌BigTable項目始於2004年,第一篇研究論文於2006年發表。

2006 - 2010:

  • JackRabbit開始於2006年,是JSR 170和283的實現。
  • 東京內閣成立於2006年,是(平林Mikio Hirabayashi) QDBM的繼任者。
  • 2007年,一篇關於Amazon Dynamo的研究論文發表。
  • MongoDB是一個文檔數據庫,在2007年首次作為開源雲計算堆棧的一部分發布,然後在2009年作為一個獨立的版本發布。
  • Facebook的開放數據2008年,Cassandra項目啟動。
  • 在伏地魔計劃中沒有單點故障,因為它是一個複製的數據庫。這一切都始於2008年。
  • Dynomite是一個基於erlang的Dynamo克隆。
  • Terrastore成立於2009年,是一種可伸縮的彈性文檔存儲係統。
  • Redis是一個持久的鍵值存儲,於2009年首次引入。
  • 2009年,另一個受發電機啟發的數據庫發布了。
  • HBase是BigTable的Hadoop克隆,而Hypertable是2009年的另一個類似BigTable的數據庫。
  • 2009年,一個新的圖形數據庫Vertexdb問世。
  • Rackspace的埃裏克·埃文斯(Eric Evans)是Cassandra項目的提交者之一,他創造了“NoSQL”這個短語,意思是“不僅僅是SQL”,用來描述新項目和新產品的爆發。

(對於其中一些日期,我們應該持保留態度,因為準確地確定項目的開始日期可能是一件棘手的事情。)此外,並非所有最近幾年開始的項目都被考慮在內。)

我們還看到了2009年和2010年的NoSQL會議,比如2010年在波士頓舉行的NoSQL live會議和2010年4月在倫敦舉行的NoSQL eu會議。去年,NoSQL東部會議也在亞特蘭大舉行。

  • Carlo Strozzi在1998年用“NoSQL”這個名字來描述他的開源關係數據庫。
  • Neo4j是一個圖形數據庫,發布於2000年。
  • 穀歌BigTable於2004年推出。
  • CouchDB於2005年推出。
  • 關於Amazon Dynamo的研究論文發表於2007年。
  • Facebook在2008年向公眾發布了Cassandra項目。
  • 短語NoSQL在2009年被重新引入。
Baidu
map