NoSQL資料庫的分布式模型,nosql資料庫

來源:互聯網
上載者:User

NoSQL資料庫的分布式模型,nosql資料庫
NoSQL資料庫的分布式模型單一伺服器

在一個伺服器完全能夠勝任工作時就沒必要考慮分布式,這樣部署簡單,維護也方便很多;

分區特點

資料的各個部分存放在叢集的不同伺服器中; 
比如按字母來劃分:以a-g開頭的鍵值都存放到第一台伺服器上,以h-n開頭的存放到第二台…

需要考慮的問題
  • 如何存放資料,讓使用者基本上只需從一台伺服器上擷取資料 
    如果經常需要與多個結點互動才能取到需要資料,可能分區策略不合適,或者該情境中分區不是一個理想的方案;

  • 資料節點的分布:地理位置與訪問使用者的關係 
    資料結點分布在全球各地,讓北京的使用者只需要訪問北京的結點就能取到所需資料;

  • 保持負載平衡

優點
  • 同時提升讀取和寫入效能 
    由於分區是將資料分散到多個結點儲存,這樣在寫入時,壓力同樣分散;

  • 橫向擴充寫入能力

缺點

降低資料庫的錯誤恢複能力 
分區後,叢集中結點的故障將導致部分資料丟失; 
解決方案:每個分區資料不只存放在一個結點上,冗餘存放,增加資料安全性(通過後面講到的與主從複製的結合使用,是常用的手段)

主從複製特點

主節點存放權威資料,負責資料更新操作; 
主節點將更新的資料複製到從節點;

優點
  • 有助於提升資料讀取效能 
    從結點只負責查詢,增加從結點提升資料讀取效能

  • 增強“讀取操作的故障恢複能力” 
    主節點損壞,依然可處理讀取請求; 
    從結點升級為主結點後可以處理更新要求;

  • “一拖一” 即時備份的單儲存方案 
    即使不需要分布式部署,主從複製也可以用來做為單機伺服器備份的部署方案;

缺點
  • 資料的不一致性(未及時更新) 
    主節點更新後,同步到各個從結點的資料不能保證及時,可能導致各個結點上查詢的資料不一致(只具有最終一致性)

  • 對提升寫入操作效能協助不大 
    所有的更新操作都通過主結點處理,對於更新頻繁的業務,使用主從複製模型優勢不大;

  • 主節點是系統的瓶頸和弱點

點對點複寫特點

所有節點地位相同,都可接收查詢和寫入請求; 
各節點將自己的更新的資料複製到其他節點;

優點
  • 從容處理出錯節點,不必擔心資料請求的丟失
  • 增加節點,輕易提升查詢和寫入效能
缺點
  • 資料不一致性 
    寫入和讀取都有可能發生衝突;
結合使用

分區和主從複製中的一拖一方案結合使用; 
分區的作用在於資料的分布式儲存;主從複製的作用在於為各個分區結點提供備份,增加資料安全;

註:新浪Redis叢集的部署使用的是這種方案,關於新浪redis的使用詳見大CC之前的部落格: 
Redis 在新浪微博中的應用

附思維導圖

參考

《NoSQL精粹》

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.