Professional Documents
Culture Documents
8-Parallel Nhom5.en - VI
8-Parallel Nhom5.en - VI
com
◼ 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
◼ 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
◼ Ứ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
◼ 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
◼ 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
◼ 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
❑ 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
Đí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ẻ
◼ 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
◼ 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)
◼ 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ệ
❑ Vị trí dữ liệu
❑
❑ Vòng tròn
◼ Bản đồTôi-phần tử thứ tới nútTôimodN
❑ 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
◼ 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
11
11
12
13
❑ 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)
Nút 1 2 3 4
Sơ đẳng R1 R2 R3 R4
sao chép
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
❑ Xử lý truy vấn
❑
◼ 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
đường ống bằng cách truy cập vàoSbộ dữ liệu, ví dụ thông qua một chỉ mục
❑ 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
❑ 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
◼ 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
= ( 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
◼ 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)
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
◼ 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
◼ Nhân rộng
❑ Cơ sở cho khả năng chịu lỗi và Khách hàng
❑ Cụm cơ sở dữ liệu
◼ 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)
◼ 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
◼ 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
◼ 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ỳ
◼ 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
◼ Coi như
LỰA CHỌNPNO, AVG(DUR)
TỪ LÀM
Ở ĐÂU TỔNG(DUR) > 200
NHÓM THEOPNO
◼ 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
◼ 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ụ
◼ 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