You are on page 1of 59

Translated from English to Vietnamese - www.onlinedoctranslator.

com

Nguyên tắc của cơ sở dữ liệu phân tán


Hệ thống

TS. Phan Thị Hà

© 2020, MT Özsu & P. Valduriez TS.


Phan Thị Hà 1
Đề cương

◼ Giới thiệu
◼ Thiết kế cơ sở dữ liệu song song và phân tán
◼ Kiểm soát dữ liệu phân tán
◼ Xử lý truy vấn phân tán
◼ Xử lý giao dịch phân tán
◼ Sao chép dữ liệu
◼ Tích hợp cơ sở dữ liệu – Hệ thống đa cơ sở dữ liệu
◼ Hệ thống cơ sở dữ liệu song song
◼ Quản lý dữ liệu ngang hàng
◼ Xử lý dữ liệu lớn
◼ NoSQL, NewSQL và Polystores
◼ Quản lý dữ liệu web

© 2020, MT Özsu & P. Valduriez 2


Đề cương

◼ Hệ thống cơ sở dữ liệu song song


❑ Kiến trúc song song
❑ Vị trí dữ liệu
❑ Xử lý truy vấn
❑ Cân bằng tải và khả năng chịu lỗi
❑ Cụm cơ sở dữ liệu

© 2020, MT Özsu & P. Valduriez 3


Mục tiêu của hệ thống song song

◼ Hiệu suất cao sử dụng song song


❑ Thông lượng cao cho tải OLTP
◼ Rất nhiều giao dịch ngắn, cập nhật một vài dữ liệu
❑ Thời gian phản hồi thấp cho các truy vấn OLAP

❑ Truy vấn lớn, đọc nhiều dữ liệu


◼ Tính sẵn sàng và độ tin cậy cao thông qua việc sao chép và chuyển đổi dự
phòng dữ liệu

◼ Khả năng mở rộng và khả năng mở rộng bằng cách thêm nguồn tài nguyên
❑ Bộ xử lý, bộ nhớ, đĩa, mạng

© 2020, MT Özsu & P. Valduriez 4


Khả năng mở rộng

◼ Lý tưởng: tăng tốc tuyến tính

❑ Tăng tuyến tính hiệu suất bằng


cách phát triển các thành phần

◼ Đối với kích thước và tải cơ sở dữ


liệu cố định

© 2020, MT Özsu & P. Valduriez 5


Giới hạn tăng tốc
◼ Phần cứng phần mềm
❑ Khi chúng tôi bổ sung thêm nhiều nguồn lực, xung đột về trọng tài sẽ gia tăng
◼ Ví dụ: Truy cập vào xe buýt bằng bộ xử lý

◼ Ứng dụng
❑ Chỉ một phần của chương trình có thể được song song

❑ Nhớ lại: Định luật Amdahl cho tốc độ tăng tốc tối đa
◼ Thứ tự=phần mã không thể song song

1 Ví dụ
Thứ tự+ 1 - Thứ tự • Seq=0, NbProc=4 => tăng tốc= 4
NbProc • Seq=30%, NbProc=4 => tăng tốc= 2,1
• Seq=30%, NbProc=8 => tăng tốc= 2,5

© 2020, MT Özsu & P. Valduriez 6


Khả năng mở rộng

◼ Lý tưởng: tăng quy mô tuyến tính

❑ Hiệu suất được duy trì để tăng


tuyến tính kích thước và tải cơ
sở dữ liệu

❑ Bằng cách tăng tỷ lệ các


thành phần

© 2020, MT Özsu & P. Valduriez 7


Tăng tỷ lệ dọc và ngang

◼ Thông thường trong


một cụm máy tính

© 2020, MT Özsu & P. Valduriez số 8


Song song dựa trên dữ liệu

◼ Truy vấn liên tục


❑ Các truy vấn khác nhau trên cùng một dữ Q1 … QN
liệu

❑ Đối với các truy vấn đồng thời R

◼ Tương tác
Ồ3
❑ Các hoạt động khác nhau của cùng một truy
vấn trên dữ liệu khác nhau
Ồ1 Ồ2
❑ Đối với các truy vấn phức tạp

◼ Hoạt động nội bộ R S


❑ Hoạt động tương tự trên dữ liệu khác
nhau Ồ … Ồ
❑ Đối với các truy vấn lớn
R1 RN
© 2020, MT Özsu & P. Valduriez 9
Rào cản đối với chủ nghĩa song song

◼ Khởi động
❑ Thời gian cần thiết để bắt đầu một thao tác song song có thể lấn át
thời gian tính toán thực tế
◼ Sự can thiệp
❑ Khi truy cập tài nguyên được chia sẻ, mỗi quy trình mới sẽ làm chậm
các quy trình khác (vấn đề điểm nóng)

◼ Nghiêng
❑ Thời gian đáp ứng của một tập hợp các tiến trình song song là thời gian của tiến
trình chậm nhất

◼ Kỹ thuật quản lý dữ liệu song song có ý định vượt


qua những rào cản này

© 2020, MT Özsu & P. Valduriez 10


Đề cương

◼ Hệ thống cơ sở dữ liệu song song


❑ Kiến trúc song song

© 2020, MT Özsu & P. Valduriez 11


DBMS song song – kiến trúc chung

© 2020, MT Özsu & P. Valduriez 12


Các hàm DBMS song song

◼ Người quản lý khách hàng

❑ Hỗ trợ tương tác với khách hàng và phiên người dùng


❑ Cân bằng tải
◼ Bộ xử lý truy vấn
❑ Biên dịch và tối ưu hóa
❑ Quản lý danh mục và siêu dữ liệu
❑ Kiểm soát dữ liệu ngữ nghĩa

❑ Kiểm soát thực thi


◼ Bộ xử lý dữ liệu
❑ Thực hiện các hoạt động DB
❑ Quản lý giao dịch
❑ Quản lý dữ liệu
© 2020, MT Özsu & P. Valduriez 13
Kiến trúc hệ thống song song

◼ Bộ nhớ dùng chung (SM)

❑ Kiến trúc bộ nhớ thống nhất (UMA)

❑ Kiến trúc bộ nhớ không đồng nhất (NUMA)

◼ Đĩa chia sẻ (SD)

◼ Không chia sẻ gì (SN)

© 2020, MT Özsu & P. Valduriez 14


UMA

◼ Bộ nhớ vật lý được chia sẻ bởi tất


cả các bộ xử lý
❑ Bộ xử lý đa lõi đối xứng (SMP)
hoặc bộ xử lý đa lõi
❑ Thời gian truy cập liên tục

◼ Ví dụ
❑ XPRS, núi lửa, DBS3
◼ Đánh giá
+ Đơn giản, cân bằng tải, truyền
thông nhanh
- Chi phí mạng, khả năng mở rộng thấp

© 2020, MT Özsu & P. Valduriez 15


NUMA

◼ Bộ nhớ dùng chung so với bộ nhớ phân tán


❑ Kết hợp hai khía cạnh khác nhau: địa chỉ và bộ nhớ
◼ Đánh địa chỉ: không gian địa chỉ đơn và nhiều không gian địa chỉ
◼ Bộ nhớ vật lý: trung tâm và phân tán
◼ NUMA = không gian địa chỉ đơn trên bộ nhớ vật lý phân
tán
❑ Giảm bớt tính di động của ứng dụng

❑ Khả năng mở rộng

◼ NUMA thành công nhất là Cache Coherent NUMA (CC-


NUMA)

© 2020, MT Özsu & P. Valduriez 16


CC-NUMA
◼ Nguyên tắc
❑ Bộ nhớ chính được phân bổ vật lý (như trong không chia sẻ gì)

❑ Tuy nhiên, bất kỳ bộ xử lý nào cũng có quyền truy cập vào bộ nhớ của tất cả các bộ xử lý khác

◼ Tính nhất quán của bộ đệm

❑ Kết nối bộ đệm nhất quán đặc biệt


◼ Truy cập bộ nhớ từ xa rất hiệu quả, chỉ tốn một vài lần (thường từ 2 đến 3
lần) chi phí truy cập cục bộ
❑ Khai thác truy cập bộ nhớ trực tiếp từ xa (RDMA)
◼ Hiện được cung cấp bởi các kết nối cụm có độ trễ thấp như Infiniband và
Myrinet

© 2020, MT Özsu & P. Valduriez 17


Lưu trữ: DAS vs NAS vs SAN

Ứng dụng Ứng dụng Ứng dụng

Hệ thống tập tin


Hệ thống tập tin

Hệ thống tập tin khối


DASkhối
NAS khối SAN
Kho
Kho Kho

Đính kèm trực tiếp Mạng đính kèm Khu vực lưu trữ
Kho Kho Mạng
© 2020, MT Özsu & P. Valduriez 18
Đĩa chia sẻ

◼ Đĩa dùng chung, bộ nhớ riêng


❑ SAN

❑ Sự liên kết bộ nhớ cache

◼ Ví dụ
❑ Oracle RAC và Exadata

❑ IBM PowerHA
◼ Đánh giá
+ Đơn giản cho quản trị viên.
- Chi phí mạng (SAN), khả năng mở rộng

© 2020, MT Özsu & P. Valduriez 19


Chia sẻ-Không có gì

◼ Không chia sẻ đĩa hoặc bộ


nhớ
❑ Phân vùng dữ liệu

◼ Ví dụ
❑ DB2 DPF, SQL Server Parallel DW,
Teradata, MySQLcluster
❑ NoSQL, NewSQL
◼ Đánh giá
+ Khả năng mở rộng, chi phí/hiệu suất
- Phức tạp (cập nhật phân phối)

© 2020, MT Özsu & P. Valduriez 20


Kỹ thuật DBMS song song

◼ Vị trí dữ liệu
❑ Phân vùng dữ liệu

❑ Nhân rộng
◼ Xử lý truy vấn song song
❑ Các thuật toán song song cho các toán tử quan hệ

❑ Tối ưu hóa truy vấn


❑ Cân bằng tải
◼ Quản lý giao dịch
❑ Tương tự như quản lý giao dịch phân tán
◼ Nhưng cần mở rộng quy mô lên nhiều nút

❑ Khả năng chịu lỗi và chuyển đổi dự phòng

© 2020, MT Özsu & P. Valduriez 21


Đề cương

◼ Hệ thống cơ sở dữ liệu song song


❑ Vị trí dữ liệu

© 2020, MT Özsu & P. Valduriez 22


Phân vùng dữ liệu

◼ Mỗi mối quan hệ được chia thànhNphân vùng (quan hệ con),


trong đóNlà một hàm của kích thước quan hệ và tần suất truy
cập

◼ Phân vùng theo chiều ngang (xem Chương 2)

❑ Vòng tròn
◼ Bản đồTôi-phần tử thứ tới nútTôimodN

◼ Truy vấn đơn giản nhưng chỉ khớp chính xác

❑ Băm
◼ Chỉ các truy vấn khớp chính xác nhưng chỉ mục nhỏ

❑ Phạm vi
◼ Hỗ trợ truy vấn phạm vi nhưng chỉ mục lớn

© 2020, MT Özsu & P. Valduriez 23


Chức năng phân vùng
2

◼ Băm 4

4
❑ (k, v) được gán cho nútHK) 10

12
❑ Truy vấn đối sánh chính xác
1
❑ Vấn đề với phân phối lệch 11

11

13

◼ Phạm vi
❑ (k, v) đến nút chứakkhoảng thời 1

2
gian của 2

4
❑ Truy vấn phạm vi và đối sánh chính xác
4

❑ Cần một chỉ mục trên khóa 10

11

11

12

13

© 2020, MT Özsu & P. Valduriez 24


Phân vùng dữ liệu được sao chép

◼ Tính sẵn sàng cao yêu cầu sao chép dữ liệu


❑ Giải pháp đơn giản là sao chép đĩa
◼ Làm tổn hại đến việc cân bằng tải khi một nút bị lỗi

❑ Các giải pháp phức tạp hơn đạt được cân bằng tải
◼ Phân vùng xen kẽ (Teradata)
◼ Phân vùng theo chuỗi (Gamma)

© 2020, MT Özsu & P. Valduriez 25


Phân vùng xen kẽ

Nút 1 2 3 4
Sơ đẳng R1 R2 R3 R4
sao chép

Hỗ trợ R1,1 R1,2 R1,3


bản sao
R2,1 R2,2 R2,3
R3,1 R3,2 R3,3
R4,1 R4,2 R4,3

© 2020, MT Özsu & P. Valduriez 26


Phân vùng theo chuỗi

Nút 1 2 3 4
Sơ đẳng R1 R2 R3 R4
sao chép

Hỗ trợ R4 R1 R2 R3
bản sao R3 R4 R1 R2

© 2020, MT Özsu & P. Valduriez 27


Thư mục vị trí

◼ Thực hiện hai chức năng

❑ F1(tên thay thế, vị trí attva =


lognode-id
❑ F2(lognode-id) = phynode-id

◼ Chỉ số toàn cầu về vị trí


att. có sẵn tại mỗi nút
◼ Ngoài ra, mỗi nút có chỉ
mục cục bộ (để truy cập các
trang đĩa)

© 2020, MT Özsu & P. Valduriez 28


Đề cương

◼ Hệ thống cơ sở dữ liệu song song


❑ Xử lý truy vấn

© 2020, MT Özsu & P. Valduriez 29


Xử lý kết hợp

◼ Hai thuật toán cơ bản cho sự song song giữa các toán tử

❑ Nối vòng lặp lồng nhau song song: không có giả định đặc biệt

❑ Tham gia băm song song: Equijoin

◼ Chúng cũng áp dụng cho các toán tử phức tạp khác


như loại bỏ trùng lặp, hợp, giao, v.v. với sự điều chỉnh
nhỏ

© 2020, MT Özsu & P. Valduriez 30


Nối vòng lặp lồng nhau song song

© 2020, MT Özsu & P. Valduriez 31


Tham gia vòng lặp lồng nhau
song song - triển khai
◼ Hai vòng lặp lồng nhau
❑ Một quan hệ được chọn làm quan hệ bên trong (ví dụ:R), quan hệ
còn lại là quan hệ bên ngoài (ví dụS)

◼ Giai đoạn đầu


❑ Mỗi mảnh củaRđược gửi đi và sao chép tại mỗi nút chứa
một đoạnS(có n nút như vậy)
◼ Giai đoạn thứ hai
❑ Mỗi nút Sjnhận được mối quan hệRtham gia hoàn toàn và cục bộR

với mảnh vỡ của nóS


◼ Đường ống
❑ Càng sớm càngRcác bộ dữ liệu được nhận, chúng có thể được xử lý trong

đường ống bằng cách truy cập vàoSbộ dữ liệu, ví dụ thông qua một chỉ mục

© 2020, MT Özsu & P. Valduriez 32


Tham gia băm song song

© 2020, MT Özsu & P. Valduriez 33


Tham gia băm song song - triển khai

◼ Giai đoạn xây dựng

❑ BămRđược sử dụng làm quan hệ bên trong, trên thuộc tính nối

❑ Gửi nó đến mục tiêuPcác nút xây dựng bảng băm cho các
bộ dữ liệu đến
◼ Giai đoạn thăm dò
❑ GửiS, mối quan hệ bên ngoài, liên kết với mục tiêuPđiểm giao
❑ Mỗi nút mục tiêu thăm dò bảng băm cho mỗi bộ dữ liệu đến
◼ Đường ống
❑ Ngay sau khi các bảng băm được xây dựng choR, cácSbộ dữ liệu
có thể được gửi và xử lý trong đường ống bằng cách thăm dò các bảng
băm

© 2020, MT Özsu & P. Valduriez 34


Biến thể

◼ Để khai thác bộ nhớ chính lớn và đa lõi


◼ Tham gia băm đối xứng
❑ Các giai đoạn xây dựng và thăm dò truyền thống của thuật toán nối băm cơ
bản được xen kẽ đơn giản bằng cách sử dụng hai bảng băm
❑ Khi một bộ dữ liệu đến
◼ Nó được sử dụng để thăm dò bảng băm tương ứng với mối quan hệ khác và tìm
các bộ dữ liệu phù hợp
◼ Sau đó, nó được chèn vào bảng băm tương ứng để các bộ của quan
hệ khác đến sau có thể được nối với nhau.

◼ Tham gia gợn sóng

❑ Khái quát hóa thuật toán nối vòng lặp lồng nhau trong đó vai trò của mối quan
hệ bên trong và bên ngoài liên tục thay thế trong quá trình thực hiện truy vấn

© 2020, MT Özsu & P. Valduriez 35


Tối ưu hóa truy vấn song song

◼ Mục tiêu là chọn kế hoạch thực hiện song song “tốt nhất”
cho truy vấn bằng cách sử dụng các thành phần sau
◼ Chiến lược tìm kiếm
❑ Lập trình động cho không gian tìm kiếm nhỏ
❑ Ngẫu nhiên cho không gian tìm kiếm lớn

◼ Không gian tìm kiếm


❑ Lập mô hình các kế hoạch thực hiện thay thế dưới dạng cây toán tử

❑ Hình dạng cây khác nhau

◼ Mô hình chi phí (trừu tượng hóa hệ thống thực thi)


❑ Thông tin lược đồ vật lý. (phân vùng, lập chỉ mục, v.v.)
❑ Thống kê và hàm chi phí

© 2020, MT Özsu & P. Valduriez 36


Cây toán tử

sâu trái sâu bên phải

Zig-zag rậm rạp

© 2020, MT Özsu & P. Valduriez 37


Cây nối băm tương đương với cách
lập kế hoạch khác nhau

Không có đường ống Đường ống củaR2,Nhiệt độ1VàNhiệt độ2

© 2020, MT Özsu & P. Valduriez 38


Cây toán tử với toán tử trao đổi

© 2020, MT Özsu & P. Valduriez 39


Mô hình chi phí

◼ Tổng thời gian


❑ Tương tự như tối ưu hóa truy vấn phân tán

❑ Thêm tất cả CPU, I/O và com. Chi phí


◼ Thời gian đáp ứng
❑ Tham gia nhiều hơn vì nó phải tính đến đường ống
❑ Lịch trình kế hoạchPtheo từng giai đoạnph

= ( max +
∈ℎ
ℎ∈
+ ( ℎ))
Ở đâu
◼ là thời gian cần thiết cho người vận hànhỒđể cung cấp các bộ kết
quả đầu tiên
◼ ( ℎ)là thời gian cần thiết để lưu trữ kết quả của phaph

© 2020, MT Özsu & P. Valduriez 40


Đề cương

◼ Hệ thống cơ sở dữ liệu song song


❑ Cân bằng tải và khả năng chịu lỗi


© 2020, MT Özsu & P. Valduriez 41


Cân bằng tải

◼ Các vấn đề nảy sinh đối với sự song song giữa các nhà điều hành với
lệch phân phối dữ liệu
❑ Độ lệch dữ liệu thuộc tính (AVS)

❑ Độ lệch vị trí bộ dữ liệu (TPS)


❑ Độ lệch chọn lọc (SS)
❑ Độ lệch phân phối lại (RS)
❑ Tham gia sản phẩm nghiêng (JPS)

◼ Các giải pháp


❑ Các thuật toán song song tinh vi xử lý độ lệch
❑ Phân bổ bộ xử lý động (tại thời điểm thực hiện)

© 2020, MT Özsu & P. Valduriez 42


Ví dụ về độ lệch dữ liệu

© 2020, MT Özsu & P. Valduriez 43


Cân bằng tải

Q4
◼ Chọn nút để thực thiQ Q3
❑ vòng tròn Q2
❑ Tải ít nhất Q1
◼ Cần lấy thông tin tải
◼ Chuyển đổi dự phòng

❑ Trong trường hợp nút N bị lỗi, các truy vấn


của N sẽ được nút khác tiếp quản Cân bằng tải
◼ Yêu cầu bản sao dữ liệu của N hoặc SD

◼ Trường hợp có nhiễu


❑ Dữ liệu của một nút quá tải được
sao chép sang một nút khác
Q1 Q2 Q3 Q4

© 2020, MT Özsu & P. Valduriez 44


Mô hình thực thi xử lý động (DP)

◼ Một truy vấn được phân tách thành các đơn vị xử lý tuần tự
độc lập, mỗi đơn vị có thể được thực hiện bởi bất kỳ bộ xử lý
nào
◼ Theo trực giác, bộ xử lý có thể di chuyển theo chiều ngang
(song song nội toán tử) và theo chiều dọc (song song tương
tác) dọc theo các toán tử truy vấn
◼ Kế hoạch thực hiện song song do trình tối ưu hóa tạo ra bao
gồm các ràng buộc lập kế hoạch của toán tử thể hiện thứ tự
một phần giữa các toán tử của truy vấn

© 2020, MT Özsu & P. Valduriez 45


Ví dụ DP

Nối cây với 4 chuỗi đường ống

© 2020, MT Özsu & P. Valduriez 46


Ví dụ DP – ảnh chụp nhanh quá trình thực thi

© 2020, MT Özsu & P. Valduriez 47


Sao chép và chuyển đổi dự phòng

◼ Nhân rộng
❑ Cơ sở cho khả năng chịu lỗi và Khách hàng

tính sẵn sàng


◼ Chuyển đổi dự phòng

❑ Khi nút bị lỗi, nút khác sẽ Nút 1 Ping Nút 2


phát hiện và khôi phục
nhiệm vụ của nút đó
=>
Điểm lưu cho các truy vấn dài
kết nối1 kết nối1
Đề cương

◼ Hệ thống cơ sở dữ liệu song song


❑ Cụm cơ sở dữ liệu

© 2020, MT Özsu & P. Valduriez 49


Động lực

◼ Cụm cơ sở dữ liệu = cụm cơ sở dữ liệu tự trị, mỗi cơ sở dữ


liệu được quản lý bởi một DBMS có sẵn
◼ Sự khác biệt chính với DBMS song song là việc sử
dụng DBMS “hộp đen” tại mỗi nút
❑ Nói chung, cùng một DBMS

◼ Do mã nguồn DBMS không nhất thiết phải có sẵn và không


thể thay đổi để “nhận biết cụm”, nên khả năng quản lý dữ liệu
song song phải được triển khai thông qua phần mềm trung
gian
◼ Ví dụ: Cụm MySQL hoặc PostgreSQL

© 2020, MT Özsu & P. Valduriez 50


Kiến trúc cụm cơ sở dữ liệu

◼ Middleware có nhiều lớp phần mềm


❑ Trình cân bằng tải giao dịch, trình quản lý sao chép, trình xử lý
truy vấn và trình quản lý khả năng chịu lỗi

© 2020, MT Özsu & P. Valduriez 51


Nhân rộng

◼ Hệ thống liên lạc và kết nối nhanh có thể được khai thác để
hỗ trợ khả năng tuần tự hóa một bản sao
◼ Ví dụ với Sao chép phòng ngừa
❑ Sử dụng multicast đáng tin cậy FIFO (đơn giản và hiệu quả)

❑ Nguyên tắc
◼ Mỗi giao dịch đến T có dấu thời gian theo thứ tự thời gian ts(T ) =
C và được phát đa hướng tới tất cả các nút khác có bản sao.
◼ Tại mỗi nút, một độ trễ thời gian được đưa ra trước khi bắt đầu thực hiện
T. Độ trễ này tương ứng với giới hạn trên của thời gian cần thiết để phát
đa hướng một tin nhắn
◼ Khi hết thời gian trễ, tất cả các giao dịch có thể đã cam kết trước C
được đảm bảo sẽ được nhận và thực hiện trước T , theo thứ tự
dấu thời gian (tức là tổng đơn hàng)

© 2020, MT Özsu & P. Valduriez 52


Cân bằng tải

◼ Cân bằng tải truy vấn thật dễ dàng


❑ Vì tất cả các bản sao đều nhất quán lẫn nhau nên bất kỳ nút nào lưu trữ bản
sao của dữ liệu, ví dụ: nút được tải ít nhất, đều có thể được chọn trong thời gian
chạy bằng chiến lược cân bằng tải thông thường.

◼ Cân bằng tải giao dịch


❑ Tổng chi phí thực hiện giao dịch tại tất cả các nút có thể cao
❑ Bằng cách nới lỏng tính nhất quán, sao chép lười biếng có thể giảm
chi phí thực hiện giao dịch tốt hơn và do đó tăng hiệu suất của cả
truy vấn và giao dịch

© 2020, MT Özsu & P. Valduriez 53


Xử lý truy vấn

◼ Tính song song của truy vấn có được một cách tự nhiên
nhờ cân bằng tải và sao chép
❑ Hữu ích để tăng thông lượng của các ứng dụng hướng giao dịch và
ở một mức độ nào đó để giảm thời gian phản hồi của các giao dịch
và truy vấn
◼ Tính song song của truy vấn nội bộ là điều cần thiết để giảm hơn nữa
thời gian phản hồi của các truy vấn OLAP
❑ Khó khăn hơn việc phân vùng dữ liệu vì các DBMS hộp đen
❑ 2 giải pháp
◼ Phân vùng vật lý
◼ Phân vùng ảo

© 2020, MT Özsu & P. Valduriez 54


Phân vùng vật lý

◼ Tương tự như việc phân chia dữ liệu trong cơ sở dữ liệu phân tán (xem
Chương 2) ngoại trừ mục tiêu là tăng tính song song của truy vấn nội bộ
chứ không phải địa phương tham chiếu

◼ Do đó, tùy thuộc vào kích thước truy vấn và quan


hệ, mức độ phân vùng sẽ tốt hơn nhiều
◼ Dưới sự phân phối dữ liệu thống nhất, mang lại khả năng song song truy vấn
nội bộ tốt và hoạt động tốt hơn so với song song truy vấn nội bộ

◼ Tuy nhiên, nó là tĩnh và do đó rất nhạy cảm với các điều kiện sai
lệch dữ liệu và sự biến đổi của các mẫu truy vấn có thể yêu cầu
phân vùng lại định kỳ

© 2020, MT Özsu & P. Valduriez 55


Phân vùng ảo

◼ Sử dụng bản sao đầy đủ (mỗi mối quan hệ được sao chép tại mỗi
nút).
◼ Phân vùng ảo đơn giản (SVP)
❑ Các phân vùng ảo được tạo động cho mỗi truy vấn và tính song song của
truy vấn nội bộ có được bằng cách gửi các truy vấn con đến các phân
vùng ảo khác nhau
❑ Để tạo ra các truy vấn con khác nhau, bộ xử lý truy vấn sẽ thêm các vị từ
vào truy vấn đến để hạn chế quyền truy cập vào một tập hợp con của một
mối quan hệ, tức là một phân vùng ảo
❑ Sau đó, mỗi DBMS nhận được truy vấn con buộc phải xử lý một tập hợp
con các mục dữ liệu khác nhau
❑ Cuối cùng, kết quả được phân vùng cần được kết hợp bằng một
truy vấn tổng hợp

© 2020, MT Özsu & P. Valduriez 56


Ví dụ về SVP

◼ Coi như
LỰA CHỌNPNO, AVG(DUR)
TỪ LÀM
Ở ĐÂU TỔNG(DUR) > 200
NHÓM THEOPNO

◼ Truy vấn con chung trên phân vùng ảo có được bằng


cách thêm vàoQmệnh đề vị ngữ là ở đâu
VÀPNO >= 'P1'VÀPNO < 'P2'

© 2020, MT Özsu & P. Valduriez 57


Ví dụ về SVP

◼ Bằng cách ràng buộc ['P1', 'P2']ĐẾNNphạm vi tiếp theo của PNOgiá trị,
chúng tôi có đượcNcác truy vấn con, mỗi truy vấn cho một nút khác
nhau trên một phân vùng ảo khác nhau củaLÀM
◼ CácAVG(DUR)hoạt động phải được viết lại như
TỔNG(DUR),ĐẾM(DUR)trong truy vấn phụ
◼ Cuối cùng, để có được kết quả chính xác choAVG(DUR),truy
vấn thành phần phải thực hiện
❑ TỔNG(DUR)/TỔNG(ĐẾM(DUR))
quaNkết quả một phần

© 2020, MT Özsu & P. Valduriez 58


Đánh giá SVP
◼ Tính linh hoạt cao cho việc phân bổ nút trong quá trình xử lý truy vấn
vì bất kỳ nút nào cũng có thể được chọn để thực hiện truy vấn con

◼ Không phải tất cả các loại truy vấn đều có thể hưởng lợi từ SVP
❑ Chỉ các truy vấn không có truy vấn con truy cập vào bảng thực tế mới được chấp nhận

❑ Các truy vấn có truy vấn phụ phải được chuyển đổi thành không có truy vấn phụ

❑ Bất kỳ truy vấn nào khác không thể có lợi

◼ Hạn chế
❑ Việc xác định các thuộc tính và phạm vi giá trị phân vùng ảo tốt
nhất có thể khó khăn
❑ Phụ thuộc vào khả năng truy vấn DBMS cơ bản
◼ Giải pháp: Phân vùng ảo thích ứng

© 2020, MT Özsu & P. Valduriez 59

You might also like