版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、何謂數(shù)據(jù)切分何謂數(shù)據(jù)切分就是指通過某種特定的條件,將我們存放在同一個數(shù)據(jù)庫中的數(shù)據(jù)分散存放到多個數(shù)據(jù)庫(主機)上面,以達到分散單臺設(shè)備負(fù)載的效果。數(shù)據(jù)的切分同時還可以提高系統(tǒng)的總體可用性,因為單臺設(shè)備Crash之后,只有總體數(shù)據(jù)的某部分不可用,而不是所有的數(shù)據(jù)。數(shù)據(jù)的切分(Sharding)根據(jù)其切分規(guī)則的類型,可以分為兩種切分模式。一種是按照不同的表(或者Schema)來切分到不同的數(shù)據(jù)庫(主機)之上,這種切可以稱之為數(shù)據(jù)的垂直(縱向
2、)切分;另外一種則是根據(jù)表中的數(shù)據(jù)的邏輯關(guān)系,將同一個表中的數(shù)據(jù)按照某種條件拆分到多臺數(shù)據(jù)庫(主機)上面,這種切分稱之為數(shù)據(jù)的水平(橫向)切分。垂直切分的最大特點就是規(guī)則簡單,實施也更為方便,尤其適合各業(yè)務(wù)之間的耦合度非常低,相互影響很小,業(yè)務(wù)邏輯非常清晰的系統(tǒng)。在這種系統(tǒng)中,可以很容易做到將不同業(yè)務(wù)模塊所使用的表分拆到不同的數(shù)據(jù)庫中。根據(jù)不同的表來進行拆分,對應(yīng)用程序的影響也更小,拆分規(guī)則也會比較簡單清晰。水平切分于垂直切分相比,相對
3、來說稍微復(fù)雜一些。因為要將同一個表中的不同數(shù)據(jù)拆分到不同的數(shù)據(jù)庫中,對于應(yīng)用程序來說,拆分規(guī)則本身就較根據(jù)表名來拆分更為復(fù)雜,后期的數(shù)據(jù)維護也會更為復(fù)雜一些。當(dāng)我們某個(或者某些)表的數(shù)據(jù)量和訪問量特別的大,通過垂直切分將其放在獨立的設(shè)備上后仍然無法滿足性能要求,這時候我們就必須將垂直切分和水平切分相結(jié)合,先垂直切分,然后再水平切分,才能解決這種超大型表的性能問題。下面我們就針對垂直、水平以及組合切分這三種數(shù)據(jù)切分方式的架構(gòu)實現(xiàn)及切分后
4、數(shù)據(jù)的整合進行相應(yīng)的分析數(shù)據(jù)的垂直切分?jǐn)?shù)據(jù)的垂直切分?jǐn)?shù)據(jù)的垂直切分,也可以稱之為縱向切分。將數(shù)據(jù)庫想象成為由很多個一大塊一大塊的“數(shù)據(jù)塊”(表)組成,我們垂直的將這些“數(shù)據(jù)塊”切開,然后將他們分散到多臺數(shù)據(jù)庫主機上面。這樣的切分方法就是一個垂直(縱向)的數(shù)據(jù)切分。一個架構(gòu)設(shè)計較好的應(yīng)用系統(tǒng),其總體功能肯定是由很多個功能模塊所組成的,而每一個功能模塊所需要的數(shù)據(jù)對應(yīng)到數(shù)據(jù)庫中就是一個或者多個表。而在架構(gòu)設(shè)計中,各個功◆事務(wù)處理相對更為復(fù)雜
5、;◆切分達到一定程度之后,擴展性會遇到限制;◆過讀切分可能會帶來系統(tǒng)過渡復(fù)雜而難以維護。對于垂直切分可能遇到數(shù)據(jù)切分及事務(wù)問題,在數(shù)據(jù)庫層面實在是很難找到一個較好的處理方案。實際應(yīng)用案例中,數(shù)據(jù)庫的垂直切分大多是與應(yīng)用系統(tǒng)的模塊相對應(yīng),同一個模塊的數(shù)據(jù)源存放于同一個數(shù)據(jù)庫中,可以解決模塊內(nèi)部的數(shù)據(jù)關(guān)聯(lián)問題。而模塊與模塊之間,則通過應(yīng)用程序以服務(wù)接口方式來相互提供所需要的數(shù)據(jù)。雖然這樣做在數(shù)據(jù)庫的總體操作次數(shù)方面確實會有所增加,但是在系統(tǒng)
6、整體擴展性以及架構(gòu)模塊化方面,都是有益的??赡茉谀承┎僮鞯膯未雾憫?yīng)時間會稍有增加,但是系統(tǒng)的整體性能很可能反而會有一定的提升。而擴展瓶頸問題,就只能依靠數(shù)據(jù)水平切分架構(gòu)來解決了。數(shù)據(jù)的水平切分?jǐn)?shù)據(jù)的水平切分?jǐn)?shù)據(jù)的垂直切分基本上可以簡單的理解為按照表按照模塊來切分?jǐn)?shù)據(jù),而水平切分就不再是按照表或者是功能模塊來切分了。一般來說,簡單的水平切分主要是將某個訪問極其平凡的表再按照某個字段的某種規(guī)則來分散到多個表之中,每個表中包含一部分?jǐn)?shù)據(jù)。簡單
7、來說,我們可以將數(shù)據(jù)的水平切分理解為是按照數(shù)據(jù)行的切分,就是將表中的某些行切分到一個數(shù)據(jù)庫,而另外的某些行又切分到其他的數(shù)據(jù)庫中。當(dāng)然,為了能夠比較容易的判定各行數(shù)據(jù)被切分到哪個數(shù)據(jù)庫中了,切分總是都需要按照某種特定的規(guī)則來進行的。如根據(jù)某個數(shù)字類型字段基于特定數(shù)目取模,某個時間類型字段的范圍,或者是某個字符類型字段的hash值。如果整個系統(tǒng)中大部分核心表都可以通過某個字段來進行關(guān)聯(lián),那這個字段自然是一個進行水平分區(qū)的上上之選了,當(dāng)然,
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分布式數(shù)據(jù)庫拆分表常用的方法
- 可拆分的中國地圖(省、市也可拆分)
- 拆分藥物
- 并行數(shù)字地形分析算法模式與數(shù)據(jù)拆分方法.pdf
- 數(shù)字電路測試數(shù)據(jù)拆分與編碼壓縮方法研究.pdf
- 拆分圖.dwg
- 拆分圖.dwg
- 確認(rèn)矩陣拆分
- 基于共享模式的多租戶數(shù)據(jù)拆分系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 繼電保護整定計算數(shù)據(jù)中心圖模拼接拆分的研發(fā).pdf
- 定語從句的整合與拆分
- 外消旋體的拆分
- 工程構(gòu)件拆分圖解
- 機構(gòu)拆分圖.dwg
- 機構(gòu)拆分圖.dwg
- 機構(gòu)拆分圖.dwg
- 機構(gòu)拆分圖.dwg
- 機構(gòu)拆分圖.dwg
- 機構(gòu)拆分圖.dwg
- 拆分聯(lián)想記單詞
評論
0/150
提交評論