標籤:mongodb mongodb執行個體
為什麼出現NoSQL?
隨著互連網的發展,當我們把一台伺服器一台伺服器變成兩台伺服器,當我們開始建立資料備份,當我們需要加一個緩衝層,來調整所有的查詢,投入更多的硬體。
最後,需要將資料切分多個叢集上,並重構大量的應用邏輯以適應這種切分。不久之後,你就會發現被自己數月前的設計資料結構限制住了。
隨著web2.0的興起,關係型資料庫本身無法克服的缺陷越來越明顯,主要表現為如下幾點。
1、對資料高並發讀寫的需求
2、對海量資料的高效率儲存和訪問的需求。
3、對資料庫的高可擴充性和高可用性的需求。
4、資料庫事務一致性需求。
5、資料庫寫實性和讀寫時性需求。
6、對複雜SQL的查詢,特別是對關聯查詢的需求。
NoSQL是Notonly SQL的縮寫,NoSQL不使用SQL作為查詢語言。其資料存放區可以不需要固定的表格模式,也經常避免使用SQL的join操作,一般有水平可擴充性的特徵。
NoSQL曆史?
1、NoSQL一詞最早出現在1998年,是Carlo Strozzi開發的一個輕量、開源、不提供SQL功能的關聯式資料庫。
2、2009年,Last.fm的Johan Oskarsson發起了一次關於分布式開來源資料庫的討論,來自Rackspace的Eric Evans再次提出了NoSQL概念,這時的NoSQL主要是指非關係型、分布式、不提供資料庫設計模式。
3、2009年趨勢高漲,被定為“非關係型的”資料存放區,相對於關係型資料庫運用,這一概念無疑是一種全新思維的注入。
SQL和NoSql的區別?
NoSQL具有如下幾點
優點:
1、高並發讀寫
2、海量資料存放區
3、高可擴充性
4、高可用性
缺點:
5、缺乏事務一致性
6、缺乏讀寫即時性
7、不支援複雜查詢
NoSQL資料庫類型
Key-value:key指Value的鍵值對,通常用hash table來實現
列式資料庫:同一列資料存在一起
文檔型資料庫:Key-Value對應的鍵值對,Value為結構化資料產品:MongoDB
圖結構資料庫:以“圖”為基本存放裝置模型,產品:Neo4j,InfoGrid,InfiniteGraph
NoSQL資料庫開源軟體
1、Membase軟體
2、Hypertable
3、ApacheCassandra
4、MongoDB
在這裡我們用的是MongoDB,下篇著重說明MongoDB,以及執行個體操作。
深入淺出MongoDB(一)NoSQL起源