分散式資料庫的資料碎片、複製和分配技術
資料碎片
將資料庫劃分為多個較小的部分或子表的過程稱為碎片化。較小的部分或子表稱為碎片,並存儲在不同的位置。資料碎片化應以能夠從碎片重建原始父資料庫的方式進行。可以使用 UNION 或 JOIN 操作進行恢復。
資料庫碎片化分為三種類型:水平碎片化、垂直碎片化和混合或混合碎片化。
水平碎片化
它將表水平劃分為一組行,以建立表的多個碎片或子集。然後,這些碎片可以分配到資料庫中的不同站點。重建是使用 UNION 或 JOIN 操作完成的。在關係代數中,它表示為 σp(T),對於任何給定的表(T)。
示例
在此示例中,我們將瞭解水平碎片化在表中的外觀。
輸入
學生
id name age salary 1 aman 21 20000 2 naman 22 25000 3 raman 23 35000 4 sonam 24 36000
示例
SELECT * FROM student WHERE salary<35000; SELECT * FROM student WHERE salary>35000;
輸出
id name age salary 1 aman 21 20000 2 naman 22 25000
id name age salary 4 soman 24 36000
水平碎片化有三種類型:主碎片化、派生碎片化和完整水平碎片化
A: 主水平碎片化:它是在行方式下使用一組條件分割單個表的過程。
示例
此示例演示瞭如何使用帶條件的 Select 語句提供輸出。
SELECT * FROM student SALARY<30000;
輸出
id name age salary 1 aman 21 20000 2 naman 22 25000
B: 派生水平碎片化:從主關係派生的碎片化。
示例
此示例演示瞭如何使用 where 子句的 Select 語句提供輸出。
SELECT * FROM student WHERE age=21 AND salary<30000;
輸出
id name age salary 1 aman 21 20000
C: 完整水平碎片化:它派生一組水平碎片,以使表至少具有一部分。
垂直碎片化
它將表垂直劃分為一組列,以建立表的多個碎片或子集。然後,這些碎片可以分配到資料庫中的不同站點。重建是使用全外部聯接操作完成的。
示例
此示例演示瞭如何使用 Select 語句進行碎片化並提供輸出。
輸入表
學生
id name age salary 1 aman 21 20000 2 naman 22 25000 3 raman 23 35000 4 sonam 24 36000
示例
SELECT * FROM name;#fragmentation 1 SELECT * FROM id, age;#fragmentation 2
輸出
name aman naman raman sonam
age 21 22 23 24
混合或混合碎片化
它是透過同時執行水平和垂直分割槽來完成的。它是關係中的一組行和列。
示例
此示例演示瞭如何使用 where 子句的 Select 語句提供輸出。
SELECT * FROM name WHERE age=22;
輸出
name age naman 22
資料複製
資料複製意味著建立副本,即資料在多個位置複製以提高資料的可用性。它用於消除同一資料之間的不一致性,從而導致分散式資料庫,以便使用者可以執行其任務而不會中斷其他使用者的操作。
資料複製型別
事務複製
它建立資料庫的完整副本以及更改後的資料。事務一致性得到保證,因為資料順序在從釋出者複製到訂閱者資料庫時是相同的。它在伺服器到伺服器的環境中使用,透過一致且準確地複製資料庫中的更改。
快照複製
這是最簡單的一種型別,它以特定時刻出現的方式分發資料,而不管資料中的任何更新如何。它複製資料的“快照”。當資料庫更改不頻繁時,它很有用。它比事務複製慢,因為資料是從一端到另一端批次傳送的。它通常用於訂閱者不需要更新資料並且處於只讀模式的情況。
合併複製
它將來自多個數據庫的資料合併到單個數據庫中。這是最複雜型別的複製,因為釋出者和訂閱者都可以進行資料庫更改。它用於伺服器到客戶端的環境,並將更改從一個釋出者傳送到多個訂閱者。
資料分配
它是決定在資料庫中的確切位置儲存資料的過程。還涉及關於哪種型別的資料必須儲存在哪個特定位置的決策。資料分配的三種主要型別是集中式、分割槽式和複製式。
集中式:整個資料庫儲存在單個站點。不會發生資料分佈
分割槽式:資料庫被劃分為不同的碎片,這些碎片儲存在多個站點。
複製式:資料庫的副本儲存在不同的位置以訪問資料。
結論
本文分為三個部分。第一部分介紹資料碎片化,它將資料劃分為子表並將其儲存在不同的位置。資料碎片化的型別包括水平碎片化,它將表水平劃分為行組,然後是垂直碎片化,它將表垂直劃分為列組,最後是混合碎片化,它是透過同時執行水平和垂直分割槽來完成的。第二部分介紹資料複製,其中資料在多個位置複製。複製型別包括事務複製,它建立資料庫的完整副本以及發生的更改,然後是快照複製,它複製資料的快照以進行分發,最後是合併複製,它將資料合併到單個數據庫中。第三部分介紹資料分配,它告訴我們儲存資料的位置。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP