破解分布式數(shù)據(jù)庫使用難點:數(shù)據(jù)分片策略_第1頁
破解分布式數(shù)據(jù)庫使用難點:數(shù)據(jù)分片策略_第2頁
破解分布式數(shù)據(jù)庫使用難點:數(shù)據(jù)分片策略_第3頁
破解分布式數(shù)據(jù)庫使用難點:數(shù)據(jù)分片策略_第4頁
破解分布式數(shù)據(jù)庫使用難點:數(shù)據(jù)分片策略_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1.數(shù)據(jù)分片策略是什么分布式數(shù)據(jù)庫的核心能力之一,就是通過數(shù)據(jù)分片存儲,來承載更大的數(shù)據(jù)規(guī)模和計算負載。數(shù)據(jù)分片,是把數(shù)據(jù)庫橫向擴展到多個物理節(jié)點上的一種分布式技術(shù)??梢岳斫鉃閷⒈頂?shù)據(jù)按照特定的分片規(guī)則水平切分成若干片段(shard),使這些數(shù)據(jù)片段分布在不同物理節(jié)點上。數(shù)據(jù)分片從大類可分為垂直分片和水平分片,前者是按業(yè)務(wù)類別進行拆分,常見為業(yè)務(wù)拆庫;后者則是以字段為依據(jù),按照一定策略拆分到若干表中。本文后面所談的數(shù)據(jù)分片,是針對后者。那么如何將數(shù)據(jù)從單體更換為分布式,這就需要考慮數(shù)據(jù)分片策略。數(shù)據(jù)分片策略包括分片算法、數(shù)據(jù)分布、分布關(guān)系等,簡單描述參見下表。2.分布式數(shù)據(jù)庫分片策略業(yè)內(nèi)分布式數(shù)據(jù)庫產(chǎn)品,針對數(shù)據(jù)分片策略通常有三種做法。一種是基于主鍵/唯一索引/隱含主鍵等做統(tǒng)一數(shù)據(jù)分片,即用戶無需人為設(shè)置分片策略;一種是開放若干數(shù)據(jù)分片算法,用戶可自行創(chuàng)建數(shù)據(jù)對象時人為指定;還有一些數(shù)據(jù)庫中間件產(chǎn)品,支持更為靈活的分片方式,可以讓用戶自行擴展。上面三種,我們可命名為內(nèi)置、開放、自定義。下面從開發(fā)者角度,簡單對比下這幾種方式。這里解釋一下:內(nèi)置方式產(chǎn)品,通常對開發(fā)者來說更容易上手,使用體驗與單機數(shù)據(jù)庫基本一致。但由于無法干預(yù)分片策略,其靈活性較差且與業(yè)務(wù)無關(guān)。在大部分業(yè)務(wù)場景下,是需要犧牲性能體驗、消耗更多硬件資源來彌補上述不足。開放方式產(chǎn)品,需要開發(fā)者從內(nèi)置策略中選擇一種相對最優(yōu)解,其具備一定靈活性也兼具了性能表現(xiàn),可滿足絕大多數(shù)場景的需要,只有個別業(yè)務(wù)因其特殊性很難找到合適分片策略,需要業(yè)務(wù)定制改造。自定義方式產(chǎn)品,為開發(fā)者提供最大的靈活自由度,但也意味著易用性較差及需要開發(fā)運維方面做更多工作,很難做到標準產(chǎn)品化。3.分片實施難點與解法除了第一種方式外,其余兩種都涉及一個問題就是現(xiàn)有數(shù)據(jù)對象如何拆分?好的拆分策略,一定是兼顧業(yè)務(wù)模型、性能最佳、穩(wěn)定可靠、研發(fā)改造、運維難點等多種因素下,結(jié)合分布式數(shù)據(jù)庫的特點而做的最優(yōu)解,這是在多種因素下平衡的結(jié)果。在具體實施上,需要收集大量信息后才能做出決定,下面將主要部分整理為一個表格。

從上表可見,數(shù)據(jù)分片設(shè)計過程中,需考慮的問題很多,是一個多維立體的模型分析過程。包括對企業(yè)的業(yè)務(wù)流、數(shù)據(jù)流、數(shù)據(jù)模型、業(yè)務(wù)特征、基礎(chǔ)環(huán)境等諸多方面的考慮。上述還需要結(jié)合分布式架構(gòu)數(shù)據(jù)庫的能力理解才能得出一個相對“適合”的設(shè)計方案。這對于企業(yè)來說是非常痛苦的,也是阻礙企業(yè)上到分布式數(shù)據(jù)庫的難點之一。不能將上述包袱完全推給用戶去完成,而是盡量在數(shù)據(jù)庫產(chǎn)品側(cè)給出答案,即產(chǎn)品需具備數(shù)據(jù)分片優(yōu)化推薦功能。如果分片設(shè)計不合理,可能造成影響到業(yè)務(wù)系統(tǒng)的穩(wěn)定可靠、服務(wù)體驗,往往服務(wù)體驗是忽快忽慢且最可怕是某一些時刻或者業(yè)務(wù)場景是最慢的,從而導(dǎo)致排錯分析的困難復(fù)雜增加。當(dāng)然,開始設(shè)計很難做到十全十美,但系統(tǒng)在運行中經(jīng)過不斷摸索后還需數(shù)據(jù)庫具備一定的在線分片調(diào)整能力,例如針對分片類型或分片字段的調(diào)整。在這一過程中要做到不中斷現(xiàn)有業(yè)務(wù)服務(wù)的正常運行,其次要做到盡量少地影響現(xiàn)有業(yè)務(wù)服務(wù)的性能體驗(也即控制資源占用對生產(chǎn)環(huán)境的業(yè)務(wù)服務(wù)影響),最后要做到盡量快地完成分片信息的調(diào)整。4.業(yè)內(nèi)產(chǎn)品現(xiàn)狀及展望目前國內(nèi)很多分布式數(shù)據(jù)庫廠商都加強了遷移能力的支持,一般是通過外置工具的方式提供收集、評估、輔助遷移、驗證等一系列流程的支持。下圖是以O(shè)ceanBase的OMA工具舉例,說明其提供的支持能力。通過上圖可見,產(chǎn)品針對數(shù)據(jù)分片策

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論