向外擴(kuò)展SQL server實(shí)現(xiàn)更高擴(kuò)展性
添加時(shí)間:2013-9-25 17:16:53
添加:
思海網(wǎng)絡(luò)
當(dāng)我提到向外擴(kuò)展數(shù)據(jù)庫系統(tǒng)時(shí),我實(shí)際上只是討論對數(shù)據(jù)庫系統(tǒng)進(jìn)行分割或劃分,以便你能利用那些部分,把它們分配到單獨(dú)的數(shù)據(jù)庫服務(wù)器上。這允許你在許多服務(wù)器間分散處理能力,以適應(yīng)不斷擴(kuò)張的增長。 但是,額外的特性和功能需要更高的復(fù)雜程度。一個(gè)向外擴(kuò)展的數(shù)據(jù)庫很難進(jìn)行設(shè)計(jì)或管理。在你成功對一個(gè)數(shù)據(jù)庫系統(tǒng)實(shí)行向外擴(kuò)展之前,你必須解決許多困難的商業(yè)和技術(shù)難題。 本文說明向外擴(kuò)展數(shù)據(jù)庫系統(tǒng)的兩個(gè)選項(xiàng),從而實(shí)現(xiàn)更高的可擴(kuò)展性:水平數(shù)據(jù)劃分和垂直數(shù)據(jù)劃分。 水平數(shù)據(jù)劃分 使用水平數(shù)據(jù)劃分,數(shù)據(jù)庫結(jié)構(gòu)在數(shù)據(jù)庫實(shí)例方面沒有變化。通常,數(shù)據(jù)庫之間唯一的不同在于實(shí)例包含的數(shù)據(jù)不同。 開發(fā)出中間層應(yīng)用程序,使得實(shí)例間的數(shù)據(jù)得到適當(dāng)維護(hù),是這種解決方案的特點(diǎn)。可能很難決定如何在數(shù)據(jù)庫實(shí)例間劃分?jǐn)?shù)據(jù)。數(shù)據(jù)分配方法十分關(guān)鍵,因?yàn)槲覀冃枰诓煌⻊?wù)器間比較平均地分散數(shù)據(jù)負(fù)載。不進(jìn)行這種平均分割,你就無法取得向外擴(kuò)展數(shù)據(jù)庫的任何好處,因?yàn)椴樵兓蚴聞?wù)處理的大部分IO仍然只發(fā)生在一臺(tái)服務(wù)器上。 既然全部數(shù)據(jù)不再保存在一臺(tái)服務(wù)器上,因此在必要時(shí)更難對所有數(shù)據(jù)執(zhí)行查詢。幸運(yùn)的是,你可以建立分布式劃分視圖連接兩個(gè)服務(wù)器實(shí)例間的數(shù)據(jù),使得數(shù)據(jù)看起來就像保存在一臺(tái)服務(wù)器上。有一些特殊的視圖,它們利用連接的服務(wù)器和在數(shù)據(jù)表上建立的約束,有效地返回?cái)?shù)據(jù),就好像你只查詢一臺(tái)服務(wù)器上的數(shù)據(jù)一樣。(我將在下周的文章中詳細(xì)討論分布式劃分視圖。) 另外,值得一提的是,如果服務(wù)器處在不同的地理位置,它們的性能可能會(huì)受到影響。在這種情況下,你可能希望復(fù)制實(shí)例間的數(shù)據(jù),以便每臺(tái)服務(wù)器擁有完整的數(shù)據(jù),但只負(fù)責(zé)維護(hù)特定的一塊數(shù)據(jù)。 垂直數(shù)據(jù)劃分 垂直數(shù)據(jù)劃分包括把數(shù)據(jù)庫表分割成在不同服務(wù)器上保存的不同數(shù)據(jù)庫實(shí)例。每臺(tái)服務(wù)器一般分配完成一個(gè)特殊的任務(wù)。這樣就可以對那些表中的IO進(jìn)行分割。這種類型的分割取決于將系統(tǒng)邏輯地劃分成許多部分,以便這些部分能夠獨(dú)立操作。如果實(shí)例間需要最少量的交互進(jìn)行事務(wù)處理,這種處理就很有必要。 例如,如果你的數(shù)據(jù)庫系統(tǒng)維護(hù)銷售、營銷和廣告數(shù)據(jù),最好是把這些表分割成單個(gè)的數(shù)據(jù)庫實(shí)例,阻止它們共享同一臺(tái)服務(wù)器上的IO。可能你還需要處理這兩個(gè)共享一些相同數(shù)據(jù)(例如客戶數(shù)據(jù))的系統(tǒng)。能夠分割這些商業(yè)功能,你就可以在必要時(shí)向外擴(kuò)展數(shù)據(jù)庫環(huán)境,提高系統(tǒng)效率。 你可以采取一些措施,如在每一臺(tái)服務(wù)器上使用相互連接的表和視圖,以便實(shí)例可以從其它實(shí)例中查看數(shù)據(jù)。這樣做可以減少應(yīng)用程序?qū)記Q定在哪找到它需要的數(shù)據(jù)時(shí)所需的額外計(jì)算量。你需要保證應(yīng)用程序?qū)泳哂斜匾倪壿嬓裕詻Q定將數(shù)據(jù)保存在哪臺(tái)服務(wù)器上。 修改 你可以對水平和垂直數(shù)據(jù)劃分方法進(jìn)行修改,使其更好地適應(yīng)你的環(huán)境。例如,你可以使用一個(gè)面向服務(wù)的架構(gòu)在服務(wù)器間分配處理能力;應(yīng)用復(fù)制確保數(shù)據(jù)庫實(shí)例相互之間保持緊密同步;以及組合應(yīng)用這些技巧。 |
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解