程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB綜合知識 >> MongoDB系列教程(一):NoSQL起源

MongoDB系列教程(一):NoSQL起源

編輯: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簡介,以及實例操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved