數(shù)據(jù)垂直切分
作者:佚名 時間:2014-11-25 分享到:
數(shù)據(jù)垂直切分到底是如何切分的,數(shù)據(jù)的垂直切分,也可以稱為縱向切分,將數(shù)據(jù)庫想象成由很多個一大塊一大塊的"數(shù)據(jù)塊"組成,垂直地將這些"數(shù)據(jù)塊"切開,然后把它們分散到多臺數(shù)據(jù)庫主機(jī)上面,這樣的切分方法就是垂直的數(shù)據(jù)切分.
一個架構(gòu)設(shè)計較好的應(yīng)用系統(tǒng),其總體功能由很多個功能模塊所組成的,而每一個功能模塊所需要的數(shù)據(jù)對應(yīng)到數(shù)據(jù)庫中就是一個或多個表,而在架構(gòu)設(shè)計中,各個功能模塊相互之間的交互瞇越統(tǒng)一,越少,系統(tǒng)的耦合度就越低,系統(tǒng)各個模塊的維護(hù)性及擴(kuò)展性也就越好,這樣的系統(tǒng),實現(xiàn)數(shù)據(jù)的垂直切分也就越容易.
功能模塊越清晰,耦合度越低,數(shù)據(jù)垂直切分的規(guī)則定義也就越容易,完全可以根據(jù)功能模塊進(jìn)行數(shù)據(jù)的切分,不同功能模塊的數(shù)據(jù)存放于不同的數(shù)據(jù)庫主機(jī)中,可以很容易景避免跨數(shù)據(jù)庫的join存在,同時系統(tǒng)架構(gòu)也非常清晰.
當(dāng)然,很難有系統(tǒng)能夠做到所有功能模塊表完全獨立,根本不須要訪問對方的表,或者須要將兩個模塊的表進(jìn)行join操作,這種情況下,就必須根據(jù)實際的應(yīng)用場景進(jìn)行評估權(quán)衡,決定是造就應(yīng)用程序?qū)⑿枰猨oin的表相關(guān)模塊都存放在同一個數(shù)據(jù)庫中,還是讓應(yīng)用程序做更多的事情,完全通過模塊接口取得不同數(shù)據(jù)庫中的數(shù)據(jù),然后在程序中完成join操作.