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
- 檢視分割槽範圍
- 物化檢視分割槽實驗
- Calvin:分割槽資料庫系統的快速分散式事務資料庫分散式
- MySQL資料表分割槽手記MySql
- oracle分割槽表和分割槽表exchangeOracle
- ORACLE刪除-表分割槽和資料Oracle
- hive 動態分割槽插入資料表Hive
- oracle分割槽表和非分割槽表exchangeOracle
- oracle 更改分割槽表資料 ora-14402Oracle
- MySql資料分割槽操作之新增分割槽操作MySql
- PostgreSQL/LightDB 分割槽表之分割槽裁剪SQL
- PG的非分割槽表線上轉分割槽表
- zabbix上對mysql資料庫做分割槽表MySql資料庫
- Oracle查詢Interval partition分割槽表內資料Oracle
- MySQL的nnodb引擎表資料分割槽儲存MySql
- AppBoxFuture: 大資料表分割槽的3種策略APP大資料
- 【MYSQL】 分割槽表MySql
- 非分割槽錶轉換成分割槽表
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- Oracle分割槽表基礎運維-07增加分割槽(3列表分割槽)Oracle運維
- oracle 分割槽表move和包含分割槽表的lob moveOracle
- 移動分割槽表和分割槽索引的表空間索引
- PostgreSQL 原始碼解讀(98)- 分割槽表#4(資料查詢路由#1-“擴充套件”分割槽表)SQL原始碼路由套件
- Linux磁碟分割槽、掛載、檢視檔案大小Linux
- Mysql資料分片技術(一)——初識表分割槽MySql
- Oracle分割槽表基礎運維-04列表分割槽Oracle運維
- CentOS7如何檢視掛載和解除安裝資料盤分割槽的命令CentOS
- Oracle分割槽表基礎運維-07增加分割槽(2 HASH分割槽)Oracle運維
- MySQL 分割槽表探索MySql
- 分割槽表-實戰
- 調整分割槽後分割槽不見的資料找到方法
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- 【Linux】MBR磁碟分割槽表只能有四個分割槽?Linux
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- Oracle分割槽表基礎運維-07增加分割槽(1範圍分割槽)Oracle運維
- PostgreSQL 原始碼解讀(96)- 分割槽表#3(資料插入路由#3-獲取分割槽鍵值)SQL原始碼路由
- 所謂武功再高也怕菜刀-分割槽、分庫、分表和分散式的優劣分散式
- 事務、全域性索引、透明分散式,再見,分割槽健!索引分散式