• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種關(guān)于存儲(chǔ)分片擴(kuò)展的方案

      2014-04-29 00:44:03白帆
      電腦迷 2014年3期
      關(guān)鍵詞:擴(kuò)展存儲(chǔ)分片

      白帆

      摘 要 數(shù)據(jù)庫(kù)的擴(kuò)展是分布式存儲(chǔ)的關(guān)鍵技術(shù),本文對(duì)sharding技術(shù)的適用環(huán)境進(jìn)行了研究,介紹了一種基于存儲(chǔ)分片技術(shù)對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)擴(kuò)展能力的提升方法。

      關(guān)鍵詞 分布式 存儲(chǔ) 分片 擴(kuò)展

      中圖分類(lèi)號(hào):TP311.13 文獻(xiàn)標(biāo)識(shí)碼:A

      0引言

      如何提升數(shù)據(jù)庫(kù)的擴(kuò)展能力一直是數(shù)據(jù)庫(kù)技術(shù)的核心問(wèn)題,隨著互聯(lián)網(wǎng)高速發(fā)展,商業(yè)數(shù)據(jù)庫(kù)軟件對(duì)數(shù)據(jù)庫(kù)的自動(dòng)擴(kuò)展能力顯示出不適應(yīng)的情況,暴露出一些不足之處,本文結(jié)合sharding碎片技術(shù),對(duì)該技術(shù)適合的應(yīng)用領(lǐng)域進(jìn)行分析研究,提出了一種存儲(chǔ)分片擴(kuò)展的新方案,改進(jìn)分布式數(shù)據(jù)庫(kù)存儲(chǔ)管理,提升擴(kuò)展能力。

      1 分片技術(shù)介紹

      1.1 sharding 的定義

      shard即“碎片”,sharding也稱作數(shù)據(jù)切分或分區(qū)。是指通過(guò)某種條件,把同一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)分散到多個(gè)數(shù)據(jù)庫(kù)或多臺(tái)機(jī)器上,以減小單臺(tái)機(jī)器壓力。

      1.2 常見(jiàn)的sharding切分算法

      hash切分

      hash放置是以每條數(shù)據(jù)的一個(gè)域或者多個(gè)域(一般都選擇主鍵或者unique鍵)作為劃分鍵K,假設(shè)總共的節(jié)點(diǎn)數(shù)量為N (1-N), 那么數(shù)據(jù)被分配到的節(jié)點(diǎn)編號(hào)為:

      n = hash(k) mod N

      hash劃分實(shí)現(xiàn)非常簡(jiǎn)單,只要所采用的哈希函數(shù)能把值算的足夠均勻,那么數(shù)據(jù)將會(huì)很均勻的被切分到各個(gè)節(jié)點(diǎn),而且?guī)缀醪恍枰獢?shù)據(jù)就可以進(jìn)行查詢的路由。但是,hash切分也存在很明顯的兩個(gè)缺點(diǎn):

      (1)實(shí)用性較差,由于劃分鍵的值被hash化,生成一個(gè)與輸入分布無(wú)關(guān)、輸出均勻的值,所以每個(gè)節(jié)點(diǎn)內(nèi)數(shù)據(jù)之間并沒(méi)有什么邏輯相關(guān)性,關(guān)聯(lián)數(shù)據(jù)集中性差,這樣不能高效的支持一些具有范圍性或分類(lèi)性的服務(wù),比如區(qū)域性服務(wù)、以時(shí)間范圍為約束的服務(wù)等。

      (2)擴(kuò)展能力差 ,由于最終位置n是依賴N(節(jié)點(diǎn)總數(shù))的值,因此一旦N發(fā)生變化,將導(dǎo)致n的數(shù)值變化,也就是說(shuō)一旦加入新的機(jī)器,老節(jié)點(diǎn)里的數(shù)據(jù)可能大部分都要進(jìn)行遷移,這樣的開(kāi)銷(xiāo)太大。

      2 分片存儲(chǔ)的新方案

      區(qū)間劃分(Range-based Partitioning)首先會(huì)把數(shù)據(jù)按某種數(shù)值(時(shí)間,區(qū)域等)分為多個(gè)區(qū)間,然后再將這些區(qū)間分配到系統(tǒng)的各個(gè)節(jié)點(diǎn)上面。最簡(jiǎn)單的區(qū)間劃分是一個(gè)節(jié)點(diǎn)只持有一個(gè)區(qū)間,在有n個(gè)節(jié)點(diǎn)的情況下,將劃分鍵的取值區(qū)間均勻劃分(這里的均勻是指劃分后的每個(gè)partition的數(shù)據(jù)量盡可能一樣大,而并非值域區(qū)間一樣大)為n份,然后每個(gè)節(jié)點(diǎn)持有一塊。

      例如,按照用戶名稱首字母進(jìn)行劃分,可能有以下的劃分方案:如圖-1所示,總共有4個(gè)shard。

      用戶名稱首字母在[a-d)的會(huì)被分配到shard1節(jié)點(diǎn)

      用戶名稱首字母在[d-h)的會(huì)被分配到shard2節(jié)點(diǎn)

      用戶名稱首字母在[h-t)的會(huì)被分配到shard3節(jié)點(diǎn)

      用戶名稱首字母在[t-z)的會(huì)被分配到shard4節(jié)點(diǎn)

      -1 sharding區(qū)間劃分圖片

      綜上所述,區(qū)間分布比hash分布在處理分布式、大數(shù)據(jù)存儲(chǔ)管理時(shí)具備一定的優(yōu)勢(shì),主要表現(xiàn)在:

      (1)提高了數(shù)據(jù)庫(kù)的可擴(kuò)展性,可以隨著應(yīng)用的增長(zhǎng)來(lái)增加更多的服務(wù)器滿足應(yīng)用需求,只需要將新增加的數(shù)據(jù)以及負(fù)載放到新加的服務(wù)器上即可。

      (2)提高了數(shù)據(jù)庫(kù)的可用性。因?yàn)楦鞴?jié)點(diǎn)的數(shù)據(jù)是相獨(dú)立的,所以如果其中幾個(gè)shard服務(wù)器down掉之后,并不會(huì)使整個(gè)系統(tǒng)對(duì)外停止服務(wù)。

      (3)系統(tǒng)有更好的可管理性。對(duì)系統(tǒng)的升級(jí)和配置可以按照shard一個(gè)一個(gè)來(lái)做,并不會(huì)對(duì)服務(wù)產(chǎn)生大的影響。

      直接hash劃分使用價(jià)值不高,區(qū)間劃分則可以得到很廣泛運(yùn)用,有很好的分片擴(kuò)展性,大大降低了對(duì)系統(tǒng)的性能消耗。

      3結(jié)束語(yǔ)

      使用區(qū)間分片擴(kuò)展解決的hash分片擴(kuò)展的弊端,使得各節(jié)點(diǎn)的數(shù)據(jù)能相對(duì)均勻的遷移到新的節(jié)點(diǎn)上面,大大提高了I/O效率和系統(tǒng)穩(wěn)定性,在工作實(shí)踐中,我們可以適當(dāng)根據(jù)數(shù)據(jù)的實(shí)際情況來(lái)對(duì)區(qū)間分布進(jìn)行人為的干擾和定制,這樣數(shù)據(jù)的分布和遷移能得到更好的效果。

      參考文獻(xiàn)

      [1] 秦秀磊,張文博,魏峻,王偉,鐘華,黃濤.云計(jì)算環(huán)境下分布式緩存技術(shù)的現(xiàn)狀與挑戰(zhàn)[J].軟件學(xué)報(bào),2013.1.

      [2] 分布式存儲(chǔ)系統(tǒng)中一致性哈希算法的研究-電腦知識(shí)與技術(shù).學(xué)術(shù)交流,2011.8(7).

      猜你喜歡
      擴(kuò)展存儲(chǔ)分片
      上下分片與詞的時(shí)空佈局
      詞學(xué)(2022年1期)2022-10-27 08:06:12
      分片光滑邊值問(wèn)題的再生核方法
      CDN存量MP4視頻播放優(yōu)化方法
      基于模糊二分查找的幀分片算法設(shè)計(jì)與實(shí)現(xiàn)
      淺談數(shù)據(jù)挖掘和自適應(yīng)算法的應(yīng)用
      多維傳播語(yǔ)境下的播音主持功能與拓展研究
      檔案管理中電子文件的存儲(chǔ)探究
      條形碼技術(shù)在涂裝生產(chǎn)中的應(yīng)用
      恒溫晶體振蕩器調(diào)頻范圍擴(kuò)展思考
      云計(jì)算與虛擬化
      五台县| 凭祥市| 泽州县| 彭阳县| 高碑店市| 曲沃县| 巩留县| 梅州市| 元朗区| 孝昌县| 皮山县| 秭归县| 高台县| 东平县| 天等县| 辉南县| 东源县| 丁青县| 安仁县| 潮安县| 美姑县| 广水市| 合江县| 威宁| 五峰| 根河市| 东至县| 浑源县| 承德市| 凌海市| 沂源县| 西华县| 淮南市| 英山县| 嘉黎县| 宜川县| 浮山县| 安乡县| 巴彦县| 海盐县| 梅河口市|