NoSQL學習筆記

什麼是Nosql
Nosql:Not only sql ,不只僅是 sql 。主要指那些非關係型的、分佈式的,且通常不保證ACID的數據存儲系統,主要表明MongoDB,Redis、CouchDB
Nosql: 泛指非關係型數據庫,常與關係型數據庫對比出現。
關係型數據庫:關係型數據庫是指採用了關係模型來組織數據的數據庫
關係型數據庫表明:SQL Server,Oracle,Mysql,PostgreSQL。
Nosql興起的緣由
當今的互聯網上諸多項目,因爲面向的用戶衆多,一般都會伴隨着大量的數據處理,而舊有的sql查詢方式,在面臨較大規模的數據操做的時候,就會顯得力不從心。在以下狀況下,關係型數據庫下的技術每每難以很好的解決:
High performance:對數據庫的高併發讀寫需求。例如實時統計在線人數,熱門帖子點擊次數,投票記錄等。
Huge Storage:對海量數據的高效存儲和訪問需求。例如在QQ,微信等用戶天天產生的巨大的信息量中如何極短期內精確的定位到須要的數據
High Scalability && High Avaiability:對數據庫的高擴展性和可用性需求。例如功能常常被拓展的各類項目。
主流Nosql產品
鍵值對存儲數據庫:
1.1 相關產品:Tokyo,Cabinet/Tyrant,Voldemort,Berkeley DB
1.2 應用方向:內容緩存,經常使用於處理大量數據的高訪問負載
1.3 數據模型:一系列鍵值對
1.4 優點 :快速查詢
1.5 缺點:數據存儲時候缺乏結構化
列表存儲數據庫:
2.1 相關產品:Cassandra,HBase,Riak
2.2 應用方向:分佈式的文件系統
2.3 數據模型:以列簇式存儲,將同一列數據存在一塊兒
2.3 優點:查找速度塊,可擴展性強,更容易進行分佈式擴展
2.5 缺點:功能相對侷限
文檔型數據庫:
3.1 相關產品:CouchDB,MongoDB
3.2 應用方向:Web應用(與 key-value 相似,value 是結構化的)
3.3 數據模型:一系列鍵值對
3.3 優點:數據結構要求不嚴格
3.5 缺點:查詢性能不高,並且缺少統一的查詢語法
圖形數據庫:
4.1 相關產品:Neo4J,InfoGrid,Infinite Graph
4.2 應用方向:社交網絡
4.3 數據模型:圖結構
4.3 優點:利用圖結構相關算法
4.5 缺點:須要對整個圖作計算才能得出結果,不容易作分佈式集羣方案
Nosql的特色
易擴展:不一樣於關係型數據庫,非關係型數據庫數據之間無關係,這樣就很是容易擴展。也爲結構層面上的擴展帶來了可能
大量數據,高性能:非關係型數據庫有很是高的讀寫性能,尤爲在大量的數據下。這得益於它的無關係性,數據庫的結構簡單
靈活的數據模型:Nosql無需事先爲存儲的數據創建字段,隨時能夠存儲自定義的數據格式。而在關係數據庫裏,增刪字段是一件很是麻煩的事情。若是i是很是大數據量的表,增長字段將尤其麻煩。算法

高可用性:Nosql在不太影響性能的狀況下,就能夠方便的實現高可用的架構。好比Cassandra,HBase模型,經過複製模型也能夠實現高可用

原文連接:https://blog.csdn.net/qq_3665...sql

相關文章
相關標籤/搜索