SQLServer2005分散式分割槽檢視分解資料表
前面的兩篇文章中,我們分別介紹了擴大與縮小SQL資料庫環境之間的區別以及通過水平資料分割槽或垂直資料分割槽分解資料表。在本系列的最後一部分,我們將深入瞭解如何利用分散式分割槽檢視來分解資料表。
分散式分割槽檢視可以將來自一個或多個SQL Server資料庫中的資料連線起來。當開發一個水平分割槽資料庫環境時,你可以使用分散式分割槽檢視將來自不同伺服器的分割槽表連線起來,使得這些資料看起來像來自同一個伺服器。
你可以設計這些檢視,因此,如果你的潛在資料表結構設計合理的話,查詢優化器就可以知道從那個資料表得到查詢需要的資料,從而加速執行。一個設計合理的分散式分割槽檢視還可以實現更新、插入和刪除。我們將在本文的下一部分深入探討它是如何實現這樣操作的。
示例
本例中,我們假設SalesHistory表非常大,如果水平分割表中的各行記錄到不同的伺服器上,這將對我們很有利。每個伺服器上的SalesHistory表的表結構是一樣的,不過,一臺伺服器上存放該國東部地區的銷售資訊,而另外一臺存放該國西部地區的銷售資訊。
我們根據Region(地區)欄位和SaleID 來區分表中的各條記錄。其中SaleID欄位是整型資料域,我們為該國不同的地區設定了不同的SaleID。
這個欄位對於設計概念來說非常重要,因為這是我們用來作為分割槽鍵值欄位。(注意:要在縮小場景中進行表的設計,這一點極其重要,因為這樣表中的各行是唯一的,從而可區別於其它伺服器上的表。)這個欄位集合是分割槽鍵。
設計很多SaleHistory表,根據所在的表SaleID始終是唯一可區別的。我們可以通過CHECK約束來實現這一點。
我們將使用兩個獨立的SQL Server例項,對於本例,這兩個例項在同一臺機器上。伺服器的名字叫Chapman,例項分別稱為例項A和例項B。這兩個例項都是SQL Server 2005開發版,允許遠端連線以及Windows和SQL Server認證。
使用指令碼建立SalesDB資料庫,設定每臺伺服器的lazy schema validation選項,使用該選項在SQL Server中通過確保在確實需要伺服器上的資料時才進行伺服器連結請求來提高效能。
列表A中的指令碼需要在兩個資料庫例項上執行。列表B用來建立SalesDB資料庫中的讀者登入及使用者,該指令碼也需要在兩個資料庫例項上執行。
列表C將獨自在每臺資料庫例項上執行。該指令碼在每臺伺服器上建立一個連結到對方的連結伺服器。連線伺服器允許SQL Server依靠某個OLEDB資料來源來執行命令,就像其它的SQL Server。
我們使用上面的指令碼中建立的登入作為連線伺服器進行連線的安全上下文。這些連結伺服器允許我們從一臺伺服器查詢另一臺伺服器。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-558082/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HGDB的分割槽表實現SQL Server的分割槽檢視SQLServer
- 分割槽表入無分割槽的資料庫資料庫
- 檢視分割槽範圍
- 自動備份、截斷分割槽表分割槽資料
- Hive學習筆記 3 Hive的資料模型:內部表、分割槽表、外部表、桶表、檢視Hive筆記模型
- MySQL 5.5 檢視分割槽表的執行計劃MySql
- 資料表分割槽分割與刪除歷史資料
- MySQL資料表分割槽手記MySql
- 海量資料處理_表分割槽
- 分割槽表匯入資料庫資料庫
- 資料庫分割槽表 什麼情況下需要分割槽資料庫
- postgresql分割槽表修改資料表欄位SQL
- Calvin:分割槽資料庫系統的快速分散式事務資料庫分散式
- Hash分割槽表分割槽數與資料分佈的測試
- 使用expdp匯出分割槽表中的部分分割槽資料
- 檢視和修改分割槽uuidUI
- ORACLE刪除-表分割槽和資料Oracle
- hive 動態分割槽插入資料表Hive
- Hash分割槽表及資料分佈
- oracle分割槽表和分割槽表exchangeOracle
- 海量資料處理_表分割槽(分割槽自動維護與歷史分割槽歸檔)
- oracle10g partition分割槽表與物化檢視materialized viewOracleZedView
- 全面學習分割槽表及分割槽索引(13)--分隔表分割槽索引
- oracle分割槽表和非分割槽表exchangeOracle
- 詳解ORACLE資料庫的分割槽表Oracle資料庫
- 匯入匯出 Oracle 分割槽表資料Oracle
- Oracle分割槽表及分割槽索引Oracle索引
- INTERVAL分割槽表鎖分割槽操作
- 全面學習分割槽表及分割槽索引(9)--刪除表分割槽索引
- 全面學習分割槽表及分割槽索引(11)--合併表分割槽索引
- 全面學習分割槽表及分割槽索引(12)--修改list表分割槽索引
- 學習筆記】分割槽表和分割槽索引——新增表分割槽(二)筆記索引
- 插入遠端資料庫資料遇到分割槽表bug資料庫
- 如何查詢分割槽表的分割槽及子分割槽
- 資料庫分割槽表分割槽未分配導致的一些問題資料庫
- MySql資料分割槽操作之新增分割槽操作MySql
- 使用split對分割槽表再分割槽
- 簡單ORACLE分割槽表、分割槽索引Oracle索引