偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

NoSQL數(shù)據(jù)庫(kù)的分布式模型

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù) 分布式
在一個(gè)服務(wù)器完全能夠勝任工作時(shí)就沒(méi)必要考慮分布式,這樣部署簡(jiǎn)單,維護(hù)也方便很多。本文將介紹NoSQL數(shù)據(jù)庫(kù)的分布式模型。

單一服務(wù)器

在一個(gè)服務(wù)器完全能夠勝任工作時(shí)就沒(méi)必要考慮分布式,這樣部署簡(jiǎn)單,維護(hù)也方便很多;

分片

特點(diǎn)

數(shù)據(jù)的各個(gè)部分存放在集群的不同服務(wù)器中; 
比如按字母來(lái)劃分:以a-g開(kāi)頭的鍵值都存放到***臺(tái)服務(wù)器上,以h-n開(kāi)頭的存放到第二臺(tái)...

需要考慮的問(wèn)題

  • 如何存放數(shù)據(jù),讓用戶基本上只需從一臺(tái)服務(wù)器上獲取數(shù)據(jù) 
    如果經(jīng)常需要與多個(gè)結(jié)點(diǎn)交互才能取到需要數(shù)據(jù),可能分片策略不合適,或者該場(chǎng)景中分片不是一個(gè)理想的方案;

  • 數(shù)據(jù)節(jié)點(diǎn)的分布:地理位置與訪問(wèn)用戶的關(guān)系 
    數(shù)據(jù)結(jié)點(diǎn)分布在全球各地,讓北京的用戶只需要訪問(wèn)北京的結(jié)點(diǎn)就能取到所需數(shù)據(jù);

  • 保持負(fù)載均衡

優(yōu)點(diǎn)

  • 同時(shí)提升讀取和寫(xiě)入性能 
    由于分片是將數(shù)據(jù)分散到多個(gè)結(jié)點(diǎn)存儲(chǔ),這樣在寫(xiě)入時(shí),壓力同樣分散;

  • 橫向擴(kuò)展寫(xiě)入能力

缺點(diǎn)

降低數(shù)據(jù)庫(kù)的錯(cuò)誤恢復(fù)能力 
分片后,集群中結(jié)點(diǎn)的故障將導(dǎo)致部分?jǐn)?shù)據(jù)丟失; 
解決方案:每個(gè)分片數(shù)據(jù)不只存放在一個(gè)結(jié)點(diǎn)上,冗余存放,增加數(shù)據(jù)安全性(通過(guò)后面講到的與主從復(fù)制的結(jié)合使用,是常用的手段)

主從復(fù)制

特點(diǎn)

主節(jié)點(diǎn)存放權(quán)威數(shù)據(jù),負(fù)責(zé)數(shù)據(jù)更新操作; 
主節(jié)點(diǎn)將更新的數(shù)據(jù)復(fù)制到從節(jié)點(diǎn);

優(yōu)點(diǎn)

  • 有助于提升數(shù)據(jù)讀取性能 
    從結(jié)點(diǎn)只負(fù)責(zé)查詢,增加從結(jié)點(diǎn)提升數(shù)據(jù)讀取性能

  • 增強(qiáng)“讀取操作的故障恢復(fù)能力” 
    主節(jié)點(diǎn)損壞,依然可處理讀取請(qǐng)求; 
    從結(jié)點(diǎn)升級(jí)為主結(jié)點(diǎn)后可以處理更新請(qǐng)求;

  • “一拖一” 即時(shí)備份的單存儲(chǔ)方案 
    即使不需要分布式部署,主從復(fù)制也可以用來(lái)做為單機(jī)服務(wù)器備份的部署方案;

缺點(diǎn)

  • 數(shù)據(jù)的不一致性(未及時(shí)更新) 
    主節(jié)點(diǎn)更新后,同步到各個(gè)從結(jié)點(diǎn)的數(shù)據(jù)不能保證及時(shí),可能導(dǎo)致各個(gè)結(jié)點(diǎn)上查詢的數(shù)據(jù)不一致(只具有最終一致性)

  • 對(duì)提升寫(xiě)入操作性能幫助不大 
    所有的更新操作都通過(guò)主結(jié)點(diǎn)處理,對(duì)于更新頻繁的業(yè)務(wù),使用主從復(fù)制模型優(yōu)勢(shì)不大;

  • 主節(jié)點(diǎn)是系統(tǒng)的瓶頸和弱點(diǎn)

對(duì)等復(fù)制

特點(diǎn)

所有節(jié)點(diǎn)地位相同,都可接收查詢和寫(xiě)入請(qǐng)求; 
各節(jié)點(diǎn)將自己的更新的數(shù)據(jù)復(fù)制到其他節(jié)點(diǎn);

優(yōu)點(diǎn)

  • 從容處理出錯(cuò)節(jié)點(diǎn),不必?fù)?dān)心數(shù)據(jù)請(qǐng)求的丟失

  • 增加節(jié)點(diǎn),輕易提升查詢和寫(xiě)入性能

缺點(diǎn)

  • 數(shù)據(jù)不一致性 
    寫(xiě)入和讀取都有可能發(fā)生沖突;

結(jié)合使用

分片和主從復(fù)制中的一拖一方案結(jié)合使用; 
分片的作用在于數(shù)據(jù)的分布式存儲(chǔ);主從復(fù)制的作用在于為各個(gè)分片結(jié)點(diǎn)提供備份,增加數(shù)據(jù)安全;

注:新浪Redis集群的部署使用的是這種方案,關(guān)于新浪redis的使用詳見(jiàn)大CC之前的博客: 
Redis 在新浪微博中的應(yīng)用

附思維導(dǎo)圖

NoSQL:分布式模型

參考

《NoSQL精粹》

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2015-06-16 10:39:43

NoSQL分布式算法

2013-03-05 15:36:43

NoSQL分布式系統(tǒng)

2011-11-29 09:49:16

數(shù)據(jù)庫(kù)其他數(shù)據(jù)庫(kù)NoSQL

2015-06-30 12:49:27

HBaseNoSQL分布式

2021-11-08 10:52:02

數(shù)據(jù)庫(kù)分布式技術(shù)

2023-07-31 08:27:55

分布式數(shù)據(jù)庫(kù)架構(gòu)

2023-11-14 08:24:59

性能Scylla系統(tǒng)架構(gòu)

2023-07-28 07:56:45

分布式數(shù)據(jù)庫(kù)SQL

2023-09-11 15:40:43

鍵值存儲(chǔ)云服務(wù)

2023-03-26 12:43:31

數(shù)據(jù)庫(kù)KeyValue

2021-12-20 15:44:28

ShardingSph分布式數(shù)據(jù)庫(kù)開(kāi)源

2013-04-26 16:18:29

大數(shù)據(jù)全球技術(shù)峰會(huì)

2023-12-05 07:30:40

KlustronBa數(shù)據(jù)庫(kù)

2018-05-07 09:30:41

數(shù)據(jù)庫(kù)NoSQLNewSQL

2009-10-23 10:45:21

NoSQLMemcached關(guān)系數(shù)據(jù)庫(kù)

2022-12-08 08:13:11

分布式數(shù)據(jù)庫(kù)CAP

2020-08-03 07:00:00

SQL數(shù)據(jù)庫(kù)

2022-06-09 10:19:10

分布式數(shù)據(jù)庫(kù)

2019-08-19 10:24:33

分布式事務(wù)數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)