垂直拆分的影響有:1、數(shù)據(jù)庫(kù)的拆分簡(jiǎn)單明了,拆分規(guī)則明確;2、應(yīng)用程序模塊清晰明確,整合容易;3、部分表關(guān)聯(lián)無(wú)法在數(shù)據(jù)庫(kù)級(jí)別完成,需要在程序中完成;4、事務(wù)處理相對(duì)更為復(fù)雜。
垂直切分的優(yōu)點(diǎn)
-
數(shù)據(jù)庫(kù)的拆分簡(jiǎn)單明了,拆分規(guī)則明確;?
-
應(yīng)用程序模塊清晰明確,整合容易;?
-
數(shù)據(jù)維護(hù)方便易行,容易定位;
垂直切分的缺點(diǎn)
-
部分表關(guān)聯(lián)無(wú)法在數(shù)據(jù)庫(kù)級(jí)別完成,需要在程序中完成;?
-
對(duì)于訪問(wèn)極其頻繁且數(shù)據(jù)量超大的表仍然存在性能平靜,不一定能滿足要求;?
-
事務(wù)處理相對(duì)更為復(fù)雜;?
-
切分達(dá)到一定程度之后,擴(kuò)展性會(huì)遇到限制;?
-
過(guò)讀切分可能會(huì)帶來(lái)系統(tǒng)過(guò)渡復(fù)雜而難以維護(hù)。
針對(duì)于垂直切分可能遇到數(shù)據(jù)切分及事務(wù)問(wèn)題,在數(shù)據(jù)庫(kù)層面實(shí)在是很難找到一個(gè)較好的處理方案。實(shí)際應(yīng)用案例中,數(shù)據(jù)庫(kù)的垂直切分大多是與應(yīng)用系統(tǒng)的模塊相對(duì)應(yīng),同一個(gè)模塊的數(shù)據(jù)源存放于同一個(gè)數(shù)據(jù)庫(kù)中,可以解決模塊內(nèi)部的數(shù)據(jù)關(guān)聯(lián)問(wèn)題。而模塊與模塊之間,則通過(guò)應(yīng)用程序以服務(wù)接口方式來(lái)相互提供所需要的數(shù)據(jù)。雖然這樣做在數(shù)據(jù)庫(kù)的總體操作次數(shù)方面確實(shí)會(huì)有所增加,但是在系統(tǒng)整體擴(kuò)展性以及架構(gòu)模塊化方面,都是有益的。
可能在某些操作的單次響應(yīng)時(shí)間會(huì)稍有增加,但是系統(tǒng)的整體性能很可能反而會(huì)有一定的提升。而擴(kuò)展瓶頸問(wèn)題。?
推薦教程: 《mysql教程》