<noscript id="fyakh"><blockquote id="fyakh"><rt id="fyakh"></rt></blockquote></noscript>
    <strong id="fyakh"><tr id="fyakh"><wbr id="fyakh"></wbr></tr></strong>
    <strong id="fyakh"><samp id="fyakh"><source id="fyakh"></source></samp></strong>
    <li id="fyakh"></li>

        NoSQL存儲

         NoSQL不僅僅是No SQL,還是Not only SQL,SQL代表傳統關系數據庫,NoSQL顯然是針對傳統關系數據庫的補充和升級。

        NoSQL分類:

        (1)Key-value stores鍵值存儲, 保存keys+BLOBs (二進制大對象Binary Large OBjects)
        (2)Table-oriented 面向表列, 主要有Google的BigTable和Cassandra.
        (3)Document-oriented面向文檔, 文本是一種類似XML文檔,MongoDB 和 CouchDB
        (4)Graph-oriented 面向圖論. 如Neo4J

          面向文檔與面向表列或鍵值存儲的區別:面向列族或鍵值存儲需要定義數據結構(半結構化),面向文檔無需結構(非結構化)。

          NoSQL與關系數據庫的區別:NoSQL絕對不支持Join。noSQL其實否定了關系數據庫的第二索引和join。joins導致數據庫切分sharding無法實施。見CAP定理。

        Nosql Cap

          NoSQL具體產品種類有:
        Google: Bigtable Amazon: Dynamo Amazon: SimpleDB Yahoo: HBase Microsoft: Dynomite Facebook: Cassandra LinkedIn: Voldemort

          NoSQL內部模式

        1. Distributed Hash Tables (DHT)分布式哈希
        2. Scalable 可伸縮
        3. Partitioned 分區
        4. Fault-tolerant 容錯
        5. Decentralized 非集中式
        6. Peer to peer 點對點
        7. Popularized
        8. Node ring 節點環
        9. Consistent Hashing 一致性哈希

        幾個主要NoSQL特點介紹:

        Redis
          關鍵點:超快Blazing fast ,IM data structure engine,支持五種,Key-value最簡單。只有Redis有事務機制 。
          適合: 不支持第二索引,在可以控制的數據庫大小情況下(放得下整個內存),快速改變數據,快速寫數據。
          案例:股票價格系統 分析,實時數據收集,聯系等等。
          Redis Cluster可以進行復制和手工failover.

        Redis安裝

        使用Spring Data + Redis實現緩存

        基于Spring+redis實現pub/sub

        apache camel和 redis

        Redis Cluster快速安裝指南

        介紹Redis數據結構set

        介紹Redis數據結構hash

        使用Redis創建分布式Java應用程序

        Redis概率數據結構之計數器HyperLogLog

        Redis概率數據結構之布隆過濾器

         

        Riak
          關鍵點: 容錯性Fault tolerance 失敗恢復  內置全文本搜索
          適合: 如果你希望有類似Cassandra-like (Dynamo-like)風格, 但是你不想處理器復雜性和膨脹性。單服務器有良好可伸縮性scalability, 可用性availability 和容錯性 fault-tolerance, 采取是昂貴的多站點復制multi-site replication.
          案例:銷售點數據收集,工廠控制系統,那些不能允許幾秒當機的場合。

          Uber的Ringpop和Riak?

        HBase
          關鍵點: 十億級別的行 X 百萬級別的列 大容量
          大表模型(高一致性)。
          Map/reduce with Hadoop 能夠實時獲得基于查詢的優化性能的節約型網關適合:
          適合:隨機 實時的讀寫操作,高吞吐量寫,隨機訪問大數據集。
          案例: Facebook 消息數據庫

        NOSQL之旅---HBase

        Cassandra
          鍵點: 繼承BigTable的列結構、Dynamo的最終一致性。
          按列查詢 寫快于讀 Map/reduce possible with Apache Hadoop
          適合: 當寫操作多于讀操作 (如logging).
          案例:: 銀行Banking, 金融系統,寫必須快于都的場合,實時的數據分析等.

        HBase和Cassandra 比較

          Hbase更加適合于數據倉庫、大型數據的處理和分析(如進行Web頁面的索引等)慢活。高一致性CP。

          Cassandra 則更適合于實時事務處理和提供交互型數據 ,快活,最終一致性AP。Cossip 完全對稱

        Cassandra專題

        HBase和Cassandra的擴展性

        CouchDB
          關鍵點: 最終一致性, 易用。
          寫操作不會阻塞讀操作。
          內部嵌入Hadoop之類map/reduce算法。
          實時更新。
          累計計算, 偶爾改變數據, 預先定義的查詢. 非常注重版本控制的場合. 舉例:: CRM, CMS系統.   主-主復制是其特別亮點,可以易于多個站點部署。

          Couch 適合實時性要求不高,易于使用。文本數據庫
          MVCC 模型:copy-on-modified?
          任何修改都會引起一個拷貝,這引起索引修改,再引起一個索引拷貝,以此類推:

          CouchDB 的長處正是Redis的短處
          Redis提供了簡單的索引機制和復雜的數據結構,而CouchDB提供的是復雜的索引和簡單的數據結構
          CouchDB:存儲大量的不易變但會被經常查詢的大量的文檔型數據。
          Redis :存儲小量的常變數據,存儲實時數據 。

        CouchDB的安裝使用教程

        CouchDB和MongoDB的擴展性

         

        Couchbase 
          Couchbase基于Membase與CouchDB開發了一款個面向文檔的數據庫,Membase是個鍵/值、持久化、可伸縮的解決方案,使用了memcached wire協議。因此,對于數據的讀寫來說都能提供低延遲的訪問。

          與CouchDB區別:Couchbase產品包含了CouchDB的一個副本。Couchbase產品向CouchDB添加了緩存、集群等功能,

          Couchbase在內部數據中心使用Membase風格的復制,在數據中心之間使用CouchDB風格的復制,支持碰撞檢測和決議。

        Couchbase + Angular + Node.js教程


        MongoDB
          關鍵點: 強迫性一致;類SQL,容易上手 , 內置分片碎片
          適合: 需要動態查詢. 愿意事先定義索引indexes, 需要巨大的數據庫有良好性能。
          案例:適合90%所有MySQL等RDBM場合。
          問題:數據集大于內存很慢。
          MongoDB 使用MapReduce替代SQL的聚合功能進行分析,但是當前是單線程,并不可伸縮。

        MongoDB安裝和Java使用教程

        MongoDB的優化鎖

        MongoDB + Morphia使用

        MongoDB專題與教程



        NEO4J
          圖數據庫,適合社會網絡應用 LinkedIn Facebook 文件系統 角色關系
          由nodes, relationships and properties.組成
          內存中的節點圖,自動持久。

         

        相關參考:

        可擴展伸縮架構中的狀態

        Nosql概述介紹

        NoSQL數據建模

        為什么大部分NoSQL不提供分布式事務?

        最終一致性其實比MVCC簡單

        2009年柏林的NoSQL(非關系數據庫) 大會

        Cassandra HBase和MongoDb性能比較

        選擇NoSQL的幾種理由

        NoSQL數據庫大比拼: Cassandra, HBase, MongoDB, Riak

        數據庫緩存

        Scalable可伸縮性詳細設計

        淘寶數據魔方的系統架構

        CAP原理和BASE思想

        數據庫已死

        NoDBA(干掉數據庫管理員)

        事務機制

        NoSQL專題

        關系數據庫專題

        可伸縮性

        大數據

        分布式系統

        一级黄色录像影片 夫妻性生活影片 免费在线观看 一级a做爰片