當前位置:編程學習大全網 - 編程語言 - 分區:怎樣將數據分布到多個redis實例

分區:怎樣將數據分布到多個redis實例

前面的兩篇文章中,我們分別介紹了擴大與縮小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數據庫中的讀者登錄及用戶,該腳本也需要在兩個數據庫實例上運行。

  • 上一篇:電子信息工程將來可以做什麽工作?清晰些,不要太簡單
  • 下一篇:幼兒園《炎熱的夏天》主題活動策劃案
  • copyright 2024編程學習大全網