1. 程式人生 > >分散式資料庫的分片方法

分散式資料庫的分片方法

一、分片的定義和作用

定義:分散式資料庫中資料的儲存單位成為片段。對全域性資料庫的劃分叫做分片。劃分的結果就是片段。每個片段可以儲存在一個以上的場地(伺服器)。

作用:

1、減少網路傳輸量

對資料進行復制儲存,目的是可以就近訪問所需資料副本,減少網路上的資料傳輸量。

2、增大事務處理的區域性性

3、提高資料的可用性和查詢效率。

4、負載均衡。

二、分片設計過程

分片過程是將全域性資料進行邏輯劃分和實際物理分配過程。全域性資料由分片成各個片段資料,各個片段分配到不同的場地(伺服器)上。

全域性資料庫----->片段資料庫-------->物理資料庫。

三、分片原則

在設計分散式資料庫的時候,設計者必須考慮資料如何分佈在各個場地上,也就是全域性資料應該如何進行邏輯劃分和物理劃分。哪些資料應該分散式存放,哪些不需要分散式存放,哪些資料需要複製。對系統驚醒全盤考慮,使系統性能最優。但是無論如何進行分片都應該遵循以下原則:

1、完備性:所有全域性資料都要對映到某個片段上。

2、可重構性:所有片段必須可以重新構成全域性資料。

3、不相交性:劃分的個片段所包含的資料無交集。

分片有三種方式:水平分片、垂直分片、混合分片。

四、水平分片

水平分片是將資料按照元組來劃分,在關係資料庫中也就是根據屬性的條件按照行劃分,該屬性叫做分片屬性,條件就是分片條件。

1、基本水平分片

根據關係表本身的屬性分片

2、匯出水平分片

分片屬性不是該關係表中的屬性。

五、垂直分片 

垂直分片是把一個關係表按照列來分成片段,各個片段之間除了主鍵外不能有交集。


水平和垂直分片的結合五、混合分片