You are on page 1of 122

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.


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

Giới thiệu
Thiết kế cơ sở dữ liệu phân tán và song song
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 TS.
2
Phan Thị Hà
Đề cương

Tích hợp cơ sở dữ liệu – Hệ thống đa cơ sở dữ liệu


❑ Kết hợp lược đồ
❑ Tích hợp lược đồ
❑ Ánh xạ lược đồ
❑ Viết lại truy vấn
❑ Vấn đề tối ưu hóa

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


3
Phan Thị Hà
Định nghĩa vấn đề

Với các cơ sở dữ liệu hiện có với Lược đồ khái


niệm cục bộ (LCS), cách tích hợp các LCS vào
Lược đồ khái niệm toàn cầu (GCS)
❑ GCS còn được gọi làlược đồ trung gian
Quy trình thiết kế từ dưới lên

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


4
Phan Thị Hà
Giải pháp thay thế tích hợp

Tích hợp vật lý


❑ Cơ sở dữ liệu nguồn tích hợp và cơ sở dữ liệu tích hợp được cụ
thể hóa
❑ Kho dữ liệu
Tích hợp logic
❑ Lược đồ khái niệm toàn cầu là ảo và không được vật chất hóa
❑ Tích hợp thông tin doanh nghiệp (EII)

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


5
Phan Thị Hà
Phương pháp tiếp cận kho dữ liệu

vật chất hóa


Toàn cầu
cơ sở dữ liệu

ETL
công cụ

Cơ sở dữ liệu 1 Cơ sở dữ liệu 2 ··· cơ sở dữ liệuN

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


6
Phan Thị Hà
Thiết kế từ dưới lên

GCS (còn gọi là lược đồ trung gian) được xác định trước
❑ Ánh xạ các LCS vào lược đồ này
❑ Như trong kho dữ liệu
GCS được định nghĩa là sự tích hợp của các bộ phận của LCS
❑ Tạo GCS và ánh xạ LCS tới GCS này

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


7
Phan Thị Hà
Mối quan hệ GCS/LCS

cục bộ dưới dạng xem

❑ Định nghĩa GCS được coi là tồn tại và mỗi LCS được coi là một định
nghĩa chế độ xem đối với nó
toàn cầu-as-view
❑ GCS được định nghĩa là một tập hợp các chế độ xem đối với LCS

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


số 8
Phan Thị Hà
Quy trình tích hợp cơ sở dữ liệu

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


9
Phan Thị Hà
Các vấn đề về tích hợp cơ sở dữ
liệu – Schema Translation
Các lược đồ cơ sở dữ liệu thành phần được dịch sang
một biểu diễn chính tắc trung gian phổ biến
Mô hình dữ liệu chuẩn là gì?
❑ quan hệ
❑ Mối quan hệ thực thể
ĐÊ
❑ hướng đối tượng
ARTEMIS
❑ định hướng đồ thị
DIPE, TranScm, COMA, Cupid
thuật toán dịch thuật
❑ Đây là những điều nổi tiếng

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


10
Phan Thị Hà
Các vấn đề về tích hợp cơ sở
dữ liệu – Tạo lược đồ
Các lược đồ trung gian được sử dụng để tạo một lược đồ khái
niệm toàn cục
Khớp lược đồ
❑ Tìm sự tương ứng giữa nhiều lược đồ
Tích hợp lược đồ
❑ Tạo GCS (hoặc lược đồ trung gian) bằng cách sử dụng các thư từ tương ứng

ánh xạ lược đồ
❑ Cách ánh xạ dữ liệu từ cơ sở dữ liệu cục bộ sang GCS
Quan trọng: đôi khi GCS được xác định trước và việc đối sánh
lược đồ và ánh xạ lược đồ được thực hiện đối với GCS đích này

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


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

Tích hợp cơ sở dữ liệu – Hệ thống đa cơ sở dữ liệu


❑ Kết hợp lược đồ

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


12
Phan Thị Hà
Chạy ví dụ

quan hệ Mô hình cấp cứu

EMP(ENO , TÊN, TIÊU ĐỀ)


PROJ(PNO , PNAME, BUDGET, LOC, CNAME)
ASG( ENO, PNO , RESP, DUR) THANH
TOÁN(TIÊU ĐỀ , SAL)

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


13
Phan Thị Hà
Kết hợp lược đồ

lược đồ không đồng nhất


❑ cấu trúc không đồng nhất
Loại xung đột
xung đột phụ thuộc
Xung đột chính
xung đột hành vi
❑ không đồng nhất ngữ nghĩa
Quan trọng hơn và khó giải quyết hơn
Từ đồng nghĩa, đồng âm, siêu nghĩa
Bản thể luận khác nhau

từ ngữ không chính xác

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


14
Phan Thị Hà
So khớp lược đồ (tiếp theo)

Các biến chứng khác


❑ Không đủ lược đồ và thông tin cá thể
❑ Không có sẵn tài liệu lược đồ
❑ Tính chủ quan của khớp lệnh

Các vấn đề ảnh hưởng đến khớp lược đồ


❑ Lược đồ so với đối sánh thể hiện
❑ Kết hợp cấp độ phần tử và cấu trúc
❑ Phù hợp với cardinality

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


15
Phan Thị Hà
Phương pháp đối sánh giản đồ

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


16
Phan Thị Hà
Kết hợp lược đồ ngôn ngữ

Sử dụng tên thành phần và thông tin văn bản khác


(mô tả văn bản, chú thích)
Có thể sử dụng các nguồn bên ngoài (ví dụ: Thesauri)

〈SC1.element-1 ≈ SC2.element-2,P,S〉
❑ Phần tử-1 trong lược đồ SC1 tương tự như phần tử-2 trong lược đồ SC2
nếu vị từPgiữ với một giá trị tương tự củaS
cấp lược đồ
❑ Xử lý tên của các phần tử lược đồ
❑ Xử lý các trường hợp như từ đồng nghĩa, từ đồng âm, siêu từ, kiểu dữ liệu giống
nhau
cấp độ sơ thẩm
❑ Tập trung vào các kỹ thuật truy xuất thông tin (ví dụ: tần suất từ, thuật ngữ
chính)
❑ “Suy ra” những điểm tương đồng từ những

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


17
Phan Thị Hà
Trình so khớp ngôn ngữ

Sử dụng một tập hợp các quy tắc ngôn ngữ (thuật ngữ)

Các quy tắc cơ bản có thể được tạo thủ công hoặc có thể được phát hiện từ các nguồn
bên ngoài (ví dụ: Mạng từ)
Thuộc tínhPvà giá trị tương đồngS
❑ thủ công⇒được chỉ định,
❑ đã phát hiện⇒có thể được tính toán hoặc chỉ định bởi một chuyên gia sau khi
khám phá

ví dụ
❑ 〈tên viết hoa ≈ tên viết thường,ĐÚNG VẬY, 1.0〉
❑ 〈tên viết hoa ≈ tên viết hoa,ĐÚNG VẬY, 1.0〉
❑ 〈tên viết hoa ≈ tên viết thường,ĐÚNG VẬY, 1.0〉
❑ 〈DB1.ASG ≈ DB2.WORKS_IN,ĐÚNG VẬY, 0,8〉

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


18
Phan Thị Hà
Tự động khám phá các điểm
tương đồng về tên
phụ kiện
❑ Các tiền tố và hậu tố chung giữa hai chuỗi tên phần tử
N-gam
❑ So sánh có bao nhiêu xâu con có độ dàiNlà phổ biến giữa hai chuỗi tên
Chỉnh sửa khoảng cách

❑ Số lần sửa đổi ký tự (thêm, xóa, chèn) cần được thực hiện để chuyển
chuỗi này sang chuỗi kia
mã soundex
❑ Sự giống nhau về ngữ âm giữa các tên dựa trên mã soundex của chúng
Cũng xem xét các loại dữ liệu
❑ Độ tương tự kiểu dữ liệu có thể gợi ý mối quan hệ mạnh mẽ hơn độ tương
tự được tính toán bằng các phương pháp này hoặc để phân biệt giữa
nhiều chuỗi có cùng giá trị

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


19
Phan Thị Hà
Ví dụ N-gram

3 gam chuỗi “Trách nhiệm” như sau:


độ phân giải anh chị em

cò quăm đặc biệt

bip spo
ili pon
thắp sáng tiện ích

thành phố nsi

3 gam chuỗi “Resp” là


❑ độ phân giải

❑ đặc biệt

3 gam tương tự: 2/12 = 0,17


© 2020, MT Özsu & P. Valduriez TS.
20
Phan Thị Hà
Chỉnh sửa ví dụ về khoảng cách

Một lần nữa xem xét “Trách nhiệm” và “Trách nhiệm”

Để chuyển “Trách nhiệm” thành “Trách nhiệm”

❑ Xóa các ký tự “o”, “n”, “s”, “i”, “b”, “i”, “l”, “i”, “t”, “y”

Để chuyển từ “Resp” thành “Responsibility”

❑ Thêm các ký tự “o”, “n”, “s”, “i”, “b”, “i”, “l”, “i”, “t”, “y”

Số thao tác chỉnh sửa cần thiết là 10


Độ tương tự là 1 − (14/10) = 0,29

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


21
Phan Thị Hà
Trình so khớp dựa trên ràng buộc

Dữ liệu luôn có những ràng buộc – hãy sử dụng chúng


❑ Thông tin kiểu dữ liệu
❑ Phạm vi giá trị
❑ …
ví dụ
❑ RESP và TRÁCH NHIỆM: độ tương tự n-gram = 0,17, độ tương tự
khoảng cách chỉnh sửa = 0,19 (thấp)
❑ Nếu chúng đến từ cùng một miền, điều này có thể làm tăng giá trị tương đồng
của chúng
❑ ENO trong quan hệ, WORKER.NUMBER và PROJECT.NUMBER trong
ER
❑ ENO và WORKER.NUMBER có thể có kiểu INTEGER trong khi
PROJECT.NUMBER có thể có CHUỖI
© 2020, MT Özsu & P. Valduriez TS.
22
Phan Thị Hà
Kết hợp cấu trúc dựa trên ràng buộc

Nếu hai phần tử lược đồ giống nhau về cấu trúc, thì


khả năng cao là chúng biểu thị cùng một khái niệm

Sự giống nhau về cấu trúc:

❑ Thuộc tính giống nhau (attributes)

❑ “Vùng lân cận” tương đồng Sử dụng biểu diễn đồ thị


Tập hợp các nút có thể đạt được trong một độ dài đường dẫn cụ thể
từ một nút là các nút lân cận của nút đó
Nếu hai khái niệm (nút) có tập hợp hàng xóm tương tự nhau, thì chúng có khả năng
đại diện cho cùng một khái niệm

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


23
Phan Thị Hà
Kết hợp lược đồ dựa trên học tập

Sử dụng các kỹ thuật máy học để xác định các lược


đồ phù hợp
Vấn đề phân loại: phân loại các khái niệm từ các lược đồ khác nhau
thành các lớp theo sự giống nhau của chúng. Những người rơi
vào cùng một lớp đại diện cho các khái niệm tương tự
Sự giống nhau được xác định theo các tính năng
củatrường hợp dữ liệu
Phân loại được "học" từ một tập huấn luyện

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


24
Phan Thị Hà
Kết hợp lược đồ dựa trên học tập

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


25
Phan Thị Hà
Các phương pháp đối sánh lược đồ kết hợp

Sử dụng nhiều đối sánh

❑ Mỗi người so khớp tập trung vào một khu vực (tên, v.v.)

Meta-matcher tích hợp những thứ này vào một dự đoán

Tích hợp có thể đơn giản (lấy giá trị trung bình của các giá trị
tương tự) hoặc phức tạp hơn (xem tác phẩm của Fagin)

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


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

Tích hợp cơ sở dữ liệu – Hệ thống đa cơ sở dữ liệu



❑ Tích hợp lược đồ

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


27
Phan Thị Hà
Tích hợp lược đồ

Sử dụng các thư từ để tạo GCS


Chủ yếu là quy trình thủ công, mặc dù các quy tắc có thể hữu ích

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


28
Phan Thị Hà
Phương pháp tích hợp nhị phân

từng bước
nhị phân thuần túy

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


29
Phan Thị Hà
Phương pháp tích hợp N-ary

Một đường chuyền lặp đi lặp lại

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


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

Tích hợp cơ sở dữ liệu – Hệ thống đa cơ sở dữ liệu



❑ Ánh xạ lược đồ

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


31
Phan Thị Hà
Ánh xạ lược đồ

Ánh xạ dữ liệu từ mỗi cơ sở dữ liệu cục bộ (nguồn) sang GCS


(đích) trong khi vẫn duy trì tính nhất quán về ngữ nghĩa như
được xác định trong cả nguồn và đích.
Kho dữ liệu⇒bản dịch thực tế

Hệ thống tích hợp dữ liệu⇒khám phá các ánh xạ có thể được


sử dụng trong giai đoạn xử lý truy vấn
tạo bản đồ
bảo trì bản đồ

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


32
Phan Thị Hà
Lập bản đồ

Được cho

❑ Nguồn LCS: = {}
❑ Một GCS mục tiêu: = { }
❑ Một tập hợp các giá trị tương ứng được phát hiện trong giai đoạn
khớp lược đồ: = { }
Tạo một tập hợp các truy vấn mà khi được thực hiện sẽ tạo ra
các phiên bản dữ liệu GCS từ dữ liệu nguồn.
Chúng tôi đang tìm kiếm, cho mỗi , một truy vấn được xác định trên một
(có thể đúng) tập hợp con của các quan hệ trong sao cho,
khi được thực thi, sẽ tạo ra dữ liệu cho từ quan hệ nguồn

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


33
Phan Thị Hà
Thuật toán tạo bản đồ

Ý tưởng chung:

Xem xét từng lần lượt.


❑ Chia thành các tập con { 1, … , }sao cho mỗi chỉ định
một cách có thể mà các giá trị của có thể được tính toán

Mỗi có thể được ánh xạ tới một truy vấn rằng khi
thực hiện, sẽ tạo ramột sốcủa dữ liệu của.
Sự kết hợp của các truy vấn này mang lại (= )

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


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

Tích hợp cơ sở dữ liệu – Hệ thống đa cơ sở dữ liệu




❑ Viết lại truy vấn

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


35
Phan Thị Hà
Xử lý truy vấn đa cơ sở dữ liệu

Kiến trúc hòa giải/bao bọc


Kiến trúc xử lý truy vấn MDB
Viết lại truy vấn bằng cách sử dụng chế độ xem

Tối ưu hóa truy vấn và thực


thi Dịch truy vấn và thực thi

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


36
Phan Thị Hà
Kiến trúc Trình hòa giải/Trình bao bọc Thu hồi
NGƯỜI DÙNG

Hệ thống Người dùng Truy vấn


Kết quả
phản hồi yêu cầu Toàn cầu xem Xử lý
Hội nhập

người hòa giải người hòa giải

Địa phương Địa phương Địa phương

Lược đồ Lược đồ Lược đồ


người hòa giải người hòa giải

Vỏ bánh Vỏ bánh Vỏ bánh

Hệ quản trị cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu

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


37
PhMỘTThịHà
Các vấn đề trong xử lý truy vấn MDB

Các DBMS thành phần là tự trị và có thể bao gồm từ


DBMS quan hệ chính thức đến các hệ thống tệp phẳng
❑ Khả năng tính toán khác nhau
Ngăn cản việc xử lý thống nhất các truy vấn trên các DBMS
❑ Chi phí xử lý khác nhau và khả năng tối ưu hóa
Làm cho việc mô hình hóa chi phí trở nên khó khăn

❑ Các mô hình dữ liệu và ngôn ngữ truy vấn khác nhau


Làm cho việc dịch truy vấn và tích hợp kết quả trở nên khó khăn

❑ Hiệu suất thời gian chạy khác nhau và hành vi không thể đoán trước
Làm cho việc thực hiện truy vấn trở nên khó khăn

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


38
Phan Thị Hà
Tự chủ DBMS thành phần

Tự chủ giao tiếp


❑ Khả năng chấm dứt dịch vụ bất cứ lúc nào
❑ Làm thế nào để trả lời các câu hỏi hoàn toàn?

Tự chủ thiết kế
❑ Khả năng hạn chế tính khả dụng và độ chính xác của thông tin cần
thiết để tối ưu hóa truy vấn
❑ Làm thế nào để có được thông tin chi phí?

Tự chủ thực hiện


❑ Khả năng thực hiện các truy vấn theo những cách không thể đoán trước

❑ Làm thế nào để thích nghi với điều này?

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


39
Phan Thị Hà
Kiến trúc xử lý truy vấn MDB

Toàn cầu/địa phương

thư từ

phân bổ và
khả năng

Cục bộ/DBMS
ánh xạ

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


40
Phan Thị Hà
Viết lại truy vấn bằng cách sử dụng Chế độ xem

Các khung nhìn được sử dụng để mô tả sự tương ứng giữa


các quan hệ toàn cục và cục bộ
❑ Toàn cầu dưới dạng xem: lược đồ toàn cục được tích hợp từ cơ sở dữ liệu cục bộ

và mỗi quan hệ toàn cục là một khung nhìn đối với các quan hệ cục bộ

❑ cục bộ dưới dạng xem: lược đồ toàn cục được xác định độc lập với cơ sở
dữ liệu cục bộ và mỗi quan hệ cục bộ là một khung nhìn đối với các quan hệ toàn
cục
Viết lại truy vấn được thực hiện tốt nhất với Datalog, một ngôn ngữ dựa
trên logic
❑ Sức mạnh biểu cảm hơn phép tính quan hệ
❑ Phiên bản nội tuyến của phép tính miền quan hệ

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


41
Phan Thị Hà
Thuật ngữ Datalog

Truy vấn liên kết (SPJ): một quy tắc của biểu mẫu
❑ Hỏi(t):-r1(t1), … RN(tN)
❑ Hỏi(t) : phần đầu của truy vấn biểu thị quan hệ kết quả
❑ r1(t1), … RN(tN): mục tiêu con trong nội dung truy vấn
❑ r1, … RN: tên vị từ tương ứng với tên quan hệ
❑ t1, … TN: tham chiếu đến các bộ có biến và hằng
❑ Các biến tương ứng với các thuộc tính (như trong phép tính miền)
❑ “-”có nghĩa là biến không tên
Truy vấn rời rạc =Ntruy vấn liên hợp với cùng một
vị từ đầu

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


42
Phan Thị Hà
Ví dụ về nhật ký dữ liệu

CÔNG TRÌNH EMP(E#,ENAME,TITLE,CITY)


(E#,P#,RESP,DUR)

LỰA CHỌN E#, TITLE, P#


TỪ EMPTHAM GIA TỰ NHIÊNTIÊU ĐỀ TÁC PHẨM =
Ở ĐÂU"Lập trình viên"HOẶCDUR=24

Hỏi(E#,TITLE,P#) :- EMP(E#,ENAME,"Programmer",CITY),
CÔNG TRÌNH(E#,P#,RESP,DUR).
Hỏi(E#,TITLE,P#) :- EMP(E#,ENAME,TITLE,CITY),

CÔNG TRÌNH(E#,P#,RESP,24).

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


43
Phan Thị Hà
Viết lại trong GAV

Lược đồ toàn cầu tương tự như lược đồ của


DBMS phân tán đồng nhất
❑ Quan hệ cục bộ có thể là các mảnh
❑ Nhưng không có tính đầy đủ: một bộ trong quan hệ toàn cục có thể không tồn tại
trong quan hệ cục bộ
Mang lại câu trả lời không đầy đủ

❑ Và không có sự rời rạc: cùng một bộ có thể tồn tại trong các cơ sở dữ liệu cục bộ khác
nhau
Mang lại câu trả lời trùng lặp

viết lại (mở ra)


❑ Tương tự với sửa đổi truy vấn
Áp dụng các quy tắc định nghĩa dạng xem cho truy vấn và tạo ra một tập hợp
các truy vấn liên kết, một truy vấn cho mỗi ứng dụng quy tắc
Loại bỏ các truy vấn dư thừa

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


44
Phan Thị Hà
Lược đồ mẫu GAV

quan hệ toàn cầu Quan hệ địa phương

EMP(E#,ENAME,CITY) CÔNG TRÌNH


TÁC PHẨM(E#,P#,TITLE,DUR) EMP1(E#,ENAME,TITLE,CITY)
EMP2(E#,ENAME,TITLE,CITY)(E#,P#,DUR)

EMP(E#,ENAME,CITY):- EMP1(E#,ENAME,TITLE,CITY). (đ1)


EMP(E#,ENAME,CITY):- EMP2(E#,ENAME,TITLE,CITY). (đ2)
TÁC PHẨM(E#,P#,TITLE,DUR):- EMP1(E#,ENAME,TITLE,CITY),
CÔNG TRÌNH(E#,P#,DUR). (đ3)
TÁC PHẨM(E#,P#,TITLE,DUR):- EMP2(E#,ENAME,TITLE,CITY),
CÔNG TRÌNH(E#,P#,DUR). (đ4)

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


45
Phan Thị Hà
Truy vấn mẫu GAV

Hãy để Q: dự án cho nhân viên ở Paris


Hỏi(đ, p) :- EMP(e,ENAME,"Paris"),TÁC PHẨM(e, p,TIÊU ĐỀ,DUR).
mở ra sản phẩmQ′
Q′(đ, p) :- EMP1(e,ENAME,"Paris"),
LÀM(đ, p,TITLE,DUR). (q1)
Q′(đ, p):- EMP2(e,ENAME,"Paris"),
LÀM(đ, p,TITLE,DUR). (q2)
Ở đâu
q1thu được bằng cách áp dụngđ3chỉ hoặc cả haiđ1Vàđ3
Trong trường hợp sau, có các truy vấn dư thừa

giống vớiq2vớiđ2chỉ hoặc cả haiđ2Vàđ4


© 2020, MT Özsu & P. Valduriez TS.
46
Phan Thị Hà
Viết lại trong LAV

Khó hơn trong GAV


❑ Không có sự tương ứng trực tiếp giữa các điều khoản trong GS (EMP, ENAME) và
những điều khoản trong chế độ xem (EMP1, EMP2, ENAME)
❑ Có thể có nhiều quan điểm hơn quan hệ toàn cầu
❑ Các khung nhìn có thể chứa các vị từ phức tạp để phản ánh nội dung của
các quan hệ cục bộ
ví dụ: chế độ xem EMP3 chỉ dành cho lập trình viên

Thường không thể tìm thấy cách viết lại tương đương
❑ Tốt nhất là tìm mộttruy vấn chứa tối đatrong đó tạo ra một tập
hợp con tối đa của câu trả lời
ví dụ: EMP3 chỉ có thể trả về một tập hợp con của nhân viên

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


47
Phan Thị Hà
Viết lại thuật toán

Bài toán tìm truy vấn tương đương là NP-đầy đủ về


số lượt xem và số mục tiêu con của truy vấn

Do đó, các thuật toán cố gắng giảm số lần viết lại


được xem xét
Ba thuật toán chính
❑ Gầu múc

❑ quy luật nghịch đảo

❑ MiniCon

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


48
Phan Thị Hà
Lược đồ ví dụ LAV

Quan hệ địa phương quan hệ toàn cầu


EMP1(E#,ENAME,TITLE,CITY) EMP(E#,ENAME,CITY)
EMP2(E#,ENAME,TITLE,CITY) TÁC PHẨM(E#,P#,TITLE,DUR)
WORKS1(E#,P#,DUR)

EMP1(E#,ENAME,TITLE,CITY):- EMP(E#,ENAME,CITY) (đ5)


TÁC PHẨM(E#,P#,TITLE,DUR).
EMP1(E#,ENAME,TITLE,CITY):- EMP(E#,ENAME,CITY) (đ6)
TÁC PHẨM(E#,P#,TITLE,DUR).
TÁC PHẨM(E#,P#,DUR):- TÁC PHẨM(E#,P#,TITLE,DUR). (đ7)

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


49
Phan Thị Hà
Thuật toán nhóm

Xem xét từng vị từ của truy vấnHỏiđộc lập để chỉ


chọn các chế độ xem có liên quan
Bước 1
❑ Xây dựng một cái xôbcho mỗi mục tiêu phụqcủaHỏiđó không phải là một vị từ so
sánh
❑ Chèn vàobnhững người đứng đầu quan điểm có liên quan để trả lờiq
Bước 2
❑ Đối với mỗi chế độ xemVcủa tích Descartes của các thùng, hãy tạo một
truy vấn liên kết
Nếu nó được chứa trongHỏi, giữ nó

Truy vấn được viết lại là sự kết hợp của các truy vấn liên kết

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


50
Phan Thị Hà
Truy vấn ví dụ LAV
Hỏi(đ, p) :- EMP(e,ENAME,"Paris"), TÁC PHẨM(đ, p,TITLE,DUR).

Bước 1: chúng tôi có được 2 nhóm (một cho mỗi mục tiêu con củaHỏi)

b1 = {EMP1(E#,ENAME,TITLE′,THÀNH PHỐ),
EMP2(E#,ENAME,TITLE′,CITY)} =
b2 {WORKS1(E#,P#,DUR′)}
(các biến nguyên tố (TITLE' và DUR') không hữu ích)

Bước2: sản xuất


Q′(đ, p) :- EMP1(e,ENAME,TITLE,"Paris"),
CÔNG TRÌNH1(e, p,DUR). (q1)
Q′(đ, p) :- EMP2(e,ENAME,TITLE,"Paris"),
CÔNG TRÌNH1(e, p,DUR). (q2)

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


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

Tích hợp cơ sở dữ liệu – Hệ thống đa cơ sở dữ liệu




❑ Vấn đề tối ưu hóa

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


52
Phan Thị Hà
Tối ưu hóa truy vấn và thực thi

Thực hiện một truy vấn được thể hiện trên các mối quan hệ cục
bộ và tạo ra một QEP phân tán để được thực thi bởi các trình
bao bọc và trình hòa giải

Ba vấn đề chính
❑ Mô hình chi phí không đồng nhất
Để tạo ra một mô hình chi phí toàn cầu từ DBMS thành phần
❑ Tối ưu hóa truy vấn không đồng nhất
Để đối phó với các khả năng tính toán truy vấn khác nhau
❑ Xử lý truy vấn thích ứng
Để đối phó với các biến thể mạnh trong môi trường thực thi

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


53
Phan Thị Hà
Mô hình chi phí không đồng nhất

Mục tiêu: xác định chi phí thực hiện các truy vấn con
tại DBMS thành phần
Ba cách tiếp cận
❑ Hộp đen: xử lý từng thành phần DBMS như một hộp đen và xác định chi phí
bằng cách chạy các truy vấn kiểm tra
❑ Tùy chỉnh: tùy chỉnh mô hình chi phí ban đầu
❑ Động: theo dõi hành vi thời gian chạy của DBMS thành
phần và tự động thu thập thông tin chi phí

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


54
Phan Thị Hà
Phương pháp tiếp cận hộp đen

Xác định một biểu thức chi phí hợp lý


❑ chi phí =chi phí khởi tạo + chi phí để tìm bộ dữ liệu đủ điều kiện
+ chi phí để xử lý các bộ đã chọn
Các thuật ngữ sẽ khác nhiều với các DBMS khác nhau

Chạy các truy vấn thăm dò trên DBMS thành phần để tính
toán các hệ số chi phí
❑ Đếm số lượng bộ dữ liệu, đo lường chi phí, v.v.
❑ Trường hợp đặc biệt: truy vấn mẫu cho mỗi loại truy vấn quan trọng Sử
dụng phân loại để xác định các lớp
Các vấn đề
❑ Mô hình chi phí khởi tạo (bằng cách thăm dò hoặc lấy mẫu) có thể thay
đổi theo thời gian
❑ Hàm chi phí hợp lý có thể không nắm bắt được các chi tiết quan trọng của thành
phần DBMS

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


55
Phan Thị Hà
Cách tiếp cận tùy chỉnh

Dựa vào trình bao bọc (tức là nhà phát triển) để cung cấp thông
tin chi phí cho người hòa giải
Hai giải pháp
❑ Trình bao bọc cung cấp logic để tính toán ước tính chi phí
Access_cost = đặt lại + (thẻ-1)*nâng cao
❑ reset = thời gian bắt đầu truy vấn và nhận bộ dữ liệu đầu tiên
❑ trước = thời gian để lấy bộ tiếp theo (trước)
❑ thẻ = cardinality kết quả
❑ Mô hình chi phí phân cấp
Mỗi nút liên kết một mẫu truy vấn với một hàm chi phí
Nhà phát triển trình bao bọc có thể cung cấp thông tin chi phí ở các mức độ chi tiết
khác nhau, tùy thuộc vào kiến thức về DBMS thành phần

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


56
Phan Thị Hà
Mô hình chi phí phân cấp

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


57
Phan Thị Hà
Phương pháp năng động

Xử lý các yếu tố môi trường thực thi có thể thay đổi

❑ Thường xuyên: tải, thông lượng, tranh chấp mạng, v.v.


❑ Từ từ: tổ chức dữ liệu vật lý, lược đồ DB, v.v.
Hai giải pháp chính
❑ Mở rộng phương pháp lấy mẫu để coi một số truy vấn mới là
mẫu và thường xuyên sửa mô hình chi phí
❑ Sử dụng xử lý truy vấn thích ứng để tính toán chi phí trong quá trình
thực hiện truy vấn để đưa ra quyết định tối ưu hóa

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


58
Phan Thị Hà
Tối ưu hóa truy vấn không đồng nhất

Giải quyết các khả năng không đồng nhất của DBMS thành phần
❑ Một DBMS có thể hỗ trợ các truy vấn SQL phức tạp trong khi một DBMS khác chỉ
chọn đơn giản trên một thuộc tính cố định

Hai cách tiếp cận, tùy thuộc vào cấp độ giao diện M/W
❑ dựa trên truy vấn
Tất cả các trình bao bọc đều hỗ trợ cùng một giao diện dựa trên truy vấn (ví dụ:
ODBC hoặc SQL/MED) để chúng xuất hiện đồng nhất với trình hòa giải
Các khả năng không được cung cấp bởi DBMS phải được hỗ trợ bởi các
hàm bao
❑ dựa trên nhà điều hành

Khả năng xuất trình bao bọc dưới dạng thành phần của toán tử
Khả năng cụ thể có sẵn cho hòa giải viên
Linh hoạt hơn trong việc xác định cấp độ của giao diện M/W

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


59
Phan Thị Hà
Phương pháp tiếp cận dựa trên truy vấn

Chúng ta có thể sử dụng tối ưu hóa truy vấn 2 bước với


mô hình chi phí không đồng nhất
❑ Nhưng các trình tối ưu hóa truy vấn tập trung tạo ra các cây nối tuyến tính trái trong
khi ở MDB, chúng tôi muốn đẩy càng nhiều quá trình xử lý trong các trình bao bọc, tức là khai
thác các cây rậm rạp

Giải pháp: chuyển đổi cây nối tuyến tính trái thành cây rậm rạp
sao cho
❑ Tổng chi phí ban đầu của QEP được duy trì
❑ Thời gian đáp ứng được cải thiện
thuật toán
❑ Cải thiện lặp lại cây tuyến tính trái ban đầu bằng cách di chuyển xuống các
cây con trong khi thời gian phản hồi được cải thiện

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


60
Phan Thị Hà
Phương pháp tiếp cận dựa trên người vận hành

Giao tiếp M / W về mặt kế hoạch con


Sử dụng các chức năng lập kế hoạch (Tỏi)
❑ Mở rộng trình tối ưu hóa tập trung dựa trên chi phí với các nhà khai thác mới
Tạo quan hệ tạm thời
Truy xuất dữ liệu được lưu trữ cục bộ

Đẩy xuống toán tử trong trình bao bọc


quy tắc truy cậpPlan và tham giaPlan

❑ Các nút toán tử được chú thích bằng


Vị trí của toán hạng, cụ thể hóa, v.v.

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


61
Phan Thị Hà
Chức năng lập kế hoạch Ví dụ

Xem xét 3 cơ sở dữ liệu thành phần với 2 trình bao bọc:


❑ w1.db1:EMP(ENO,ENAME,THÀNH PHỐ)
❑ w1.db2:ASG(ENO,PNAME,DUR)
❑ w2.db3:EMPASG(TÊN,THÀNH PHỐ,PNAME,DUR)
Chức năng hoạch định củaw1
❑ kế hoạch truy cập (R:liên quan,MỘT:danh sách,P: dự đoán) =quét(R, A,P, đb(R))
❑ tham giaPlan(r1,r2: lại,MỘT:danh sách,P: đã tham gia) =tham gia(r1,r2,MỘT,P)
điều kiện: db(r1) ≠ db(r2)
thực hiện bởiw1
Chức năng hoạch định củaw2
❑ kế hoạch truy cập (R:liên quan,MỘT:danh sách,P: dự đoán) =tìm về(thành phố =c)
điều kiện: (thành phố =c) bao gồm trongP
❑ kế hoạch truy cập (R:liên quan,MỘT:danh sách,P: dự đoán) =quét(R, A,P, đb(R))
thực hiện bởiw2

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


62
Phan Thị Hà
QEP không đồng nhất

LỰA CHỌNENAME,PNAME,DUR
TỪ EMPASG
Ở ĐÂUTHÀNH PHỐ = "Paris" VÀ DUR>24

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


63
P hànThịHà
Dịch truy vấn và thực thi

Được thực hiện bởi các hàm bao sử dụng DBMS thành phần
❑ Chuyển đổi giữa giao diện chung của trung gian hòa giải và giao diện
phụ thuộc DBMS
Dịch truy vấn từ trình bao bọc sang DBMS
Dịch định dạng kết quả từ DBMS sang trình bao bọc
❑ Trình bao bọc có lược đồ cục bộ được xuất sang bộ trung gian
(trong giao diện chung) và ánh xạ tới lược đồ DBMS
❑ Giao diện chung có thể dựa trên truy vấn (ví dụ: ODBC hoặc SQL/
MED) hoặc dựa trên người vận hành

Ngoài ra, các hàm bao có thể triển khai các toán tử không
được hỗ trợ bởi DBMS thành phần, ví dụ như tham gia

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


64
Phan Thị Hà
Vị trí bọc

Phụ thuộc vào mức độ tự


chủ của thành phần DB
hợp tác xã DB
❑ Có thể đặt trình bao bọc tại trang web DBMS thành phần
❑ Trình bao bọc hiệu quả-DBMS com.

DB bất hợp tác


❑ Có thể đặt trình bao bọc tại trung gian hòa giải

❑ Trình bao bọc hòa giải hiệu quả com. Tác động đến các chức năng chi phí

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


65
Phan Thị Hà
Trình bao bọc SQL cho tệp văn bản

Xem xét EMP (ENO, ENAME, CITY) được lưu trữ trong tệp văn bản Unix
trong componentDB
❑ Mỗi bộ EMP là một dòng trong tệp, với các thuộc tính được phân tách bằng dấu “:”

Định nghĩa SQL/MED của EMP


TẠO BẢNG NGOÀIEMP
ENOsố nguyên, TÊNVARCHAR(30), TP.CHAR(30) MÁY
CHỦ thành phầnDB
TÙY CHỌN(Tên tệp '/usr/EngDB/emp.txt', Dấu phân cách ':')
truy vấn
LỰA CHỌNTÊNTỪEMP
Có thể được dịch bởi trình bao bọc bằng lệnh Unix shell
cắt –d: -f2/usr/EngDB/emp

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


66
Phan Thị Hà
Các vấn đề về quản lý trình bao bọc

Trình bao bọc chủ yếu được sử dụng cho các truy vấn chỉ đọc

❑ Làm cho việc dịch truy vấn và xây dựng trình bao bọc trở nên dễ dàng
❑ Các nhà cung cấp DBMS cung cấp các hàm bao tiêu chuẩn
ODBC, JDBC, ADO, v.v.
Cập nhật làm cho việc xây dựng trình bao bọc trở nên khó khăn hơn

❑ Vấn đề: tính không đồng nhất của các ràng buộc toàn vẹn
Tiềm ẩn trong một số DB kế thừa
❑ Giải pháp: đảo ngược kỹ thuật của DB kế thừa để xác định các ràng
buộc ngầm định và dịch mã xác thực trong trình bao bọc
bảo trì bao bì
❑ ánh xạ lược đồ có thể trở nên không hợp lệ do các thay đổi trong
lược đồ DB thành phần
Sử dụng phát hiện và hiệu chỉnh, sử dụng các kỹ thuật bảo
trì ánh xạ

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


67
Phan Thị Hà

You might also like