Phõn đoạn dọc

Một phần của tài liệu tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 25 - 31)

6. Cỏc kết quả dự kiến

1.4.1.3. Phõn đoạn dọc

Phõn đoạn dọc là sự chia một quan hệ thành tập con cỏc bộ, mỗi tập được xỏc định bởi một phộp chiếu được ỏp dụng cho quan hệ: Ri = ПATTRi R, trong đú ATTRi là tập con cỏc thuộc tớnh của R.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Tiờu chuẩn cho sự phõn đoạn dọc là đỳng đắn:

- Điều kiện đầy đủ: Nếu một thuộc tớnh xuất hiện trong một quan hệ tổng thể thỡ nú cũng phải xuất hiện trong một đoạn dọc nào đú.

- Điều kiện xõy dựng lại: Cần phải thờm vào mỗi đoạn khoỏ chớnh, do đú việc xõy dựng lại được nhờ vào phộp kết nối cỏc đoạn dọc theo cỏc thuộc tớnh chung.

- Điều kiện rời nhau: ớt nhất khoỏ phải được lặp lại trờn tất cả cỏc đoạn để cho phộp xõy dựng lại, nờn ở đõy khụng thể xem là rời nhau hoàn toàn được. Vớ dụ 1.7: Xột quan hệ tổng thể

NHANVIEN(SHNV, TEN, LUONG, THUE, SHQL, SHPHONG) Trong đú cú cỏc thuộc tớnh: SHNV: Số hiệu nhõn viờn TEN: Tờn nhõn viờn LUONG: Mức lương THUE : Thuế SHQL: Số hiệu quản lý SHPHONG: Số hiệu phũng

Ta tỏch quan hệ NHANVIEN thành hai quan hệ NV1 và NV2 NV1 = П SHNV, TEN, SHQL, SHPHONG NHANVIEN

NV2 = ПSHNV, TEN, LUONG, THUE NHANVIEN

Thuộc tớnh TEN lặp lại ở cả hai đoạn, khi xõy dựng lại quan hệ NHANVIEN thụng qua phộp chiếu, thuộc tớnh này sẽ bị khử.

NHANVIEN = NV1⋈SHNV=SHNV П SHNV, LUONG, THUE NV2

1.4.1.4 Phõn đoạn hỗn hợp

Là sự kết hợp cả phõn đoạn dọc và phõn đoạn ngang. Vớ dụ 1.8: Xột quan hệ tổng thể

NHANVIEN(SHNV, TEN,LUONG, THUE, SHQL, SHPHONG) Tỏch quan hệ NHANVIEN thành cỏc quan hệ NV1, NV2, NV3, NV4

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

NV1 =SHPHONG10 SHNV, TEN, SHQL, SHPHONG NHANVIEN NV2 =10<SHPHONG20SHNV, TEN, SHQL, SHPHONG NHANVIEN NV3 =SHPHONG >20SHNV, TEN, SHQL, SHPHONG NHANVIEN NV4=SHNV, TEN, LUONG, THUE NHANVIEN

Hỡnh 1.6: Cõy phõn tỏch của quan hệ

Xõy dựng lại quan hệ NHANVIEN ta thực hiện như sau:

NHANVIEN =(NV1, NV2, NV3)⋈ SHNV=SHNV SHNV, LUONG, THUE NV4

Sự phõn đoạn hỗn hợp cú thể biểu diễn dưới dạng cõy phõn đoạn. Trong cõy phõn đoạn, nỳt gốc tương ứng quan hệ tổng thể, cỏc nỳt ở giữa tương ứng với cỏc kết quả trung gian của thể hiện định nghĩa phõn đoạn. Cho vớ dụ, hỡnh 1.3 thể hiện cõy phõn đoạn của quan hệ NHANVIEN. Nỳt gốc (quan hệ NHANVIEN) được phõn đoạn dọc thành hai phần; một phần tương ứng với một nỳt lỏ của cõy (NV4), phần cũn lại được phõn đoạn ngang, do vậy sinh ra ba nỳt lỏ khỏc, tương ứng với ba phõn đoạn: NV1, NV2, NV3 .

1.4.2 Nhõn bản dữ liệu

- Cỏc chiến lược nhõn bản dữ liệu:

1. Nhõn bản dữ liệu đầy đủ: Toàn bộ cơ sở dữ liệu sẽ được tạo trờn tất cả mỗi trạm.

Ưu điểm: Điều này sẽ cải thiện tớnh sẵn sàng cao nhất vỡ nếu sự cố trờn trạm này thỡ vẫn cú dữ liệu trờn trạm khỏc và cải thiện hiệu năng lấy dữ liệu trờn mạng cho cỏc truy vấn toàn bộ vỡ dữ liệu sẽ được lấy từ cỏc trạm cục bộ.

Nhược điểm: Cỏc thao tỏc cập nhập dữ liệu rất chậm vỡ phải copy, đồng bộ dữ liệu cho mọi trạm. Kỹ thuật điểu khiển tương tranh và phục hồi sẽ phức tạp hơn.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

2. Khụng cú nhõn bản dữ liệu: Mỗi phõn đoạn chỉ được lưu trữ trờn một trạm, phương ỏn này cũn được gọi là định vị khụng dư thừa dữ liệụ Trong trường hợp này cỏc phõn đoạn phải tỏch rời nhau để trỏnh lặp bản ghi giống nhau cho cỏc phõn đoạn ngang và phõn đoạn hỗn hợp.

3. Nhõn bản dữ liệu từng phần: Một vài phõn đoạn cú thể được tạo bản sao và cú thể một số phõn đoạn sẽ khụng cú bản saọ Việc tạo bản sao này rất cú tỏc dụng cho cỏc nhõn viờn làm việc di động, tại cỏc nơi xa trung tõm dữ liệu, cú thể tạo ra bản sao dữ liệu trờn laptop của mỡnh và theo chu kỳ đồng bộ dữ liệu với cơ sở dữ liệu server.

1.4.3 Định vị dữ liệu

Là quỏ trỡnh gỏn từng phõn đoạn, từng bản sao của phõn đoạn cho một trạm cụ thể trong hệ thống phõn tỏn. Việc chọn trạm nào và số bản sao phụ thuộc vào yờu cầu hiệu năng và mục tiờu sẵn sàng của hệ thống với cỏc loại giao tỏc trờn cỏc trạm. Đối với hệ yờu cầu tớnh sẵn sàng cao, mọi giao dịch thao tỏc lấy dữ liệu, giao dịch cập nhật chỉ làm tại một trạm thỡ nờn tổ chức tạo bản sao đầy đủ. Nếu cỏc giao dịch thường cập nhật một phần dữ liệu tại một trạm thỡ cỏc phõn đoạn cho phần dữ liệu đú nờn được định vị trờn trạm đú.

1.4.4. Hệ quản trị CSDL phõn tỏn

Hệ quản trị CSDL phõn tỏn (Distributed Database Management System- DBMS) được định nghĩa là một hệ thống phần mềm cho phộp quản lý cỏc hệ CSDL (tạo lập và điều khiển cỏc truy nhập cho cỏc hệ CSDL phõn tỏn) và làm cho việc phõn tỏn trở nờn trong suốt với người sử dụng.

Đặc tớnh vụ hỡnh muốn núi đến sự tỏch biệt về ngữ nghĩa ở cấp độ cao của một hệ thống với cỏc vấn đề cài đặt ở cấp độ thấp. Sự phõn tỏn dữ liệu được che dấu với người sử dụng làm cho người sử dụng truy nhập vào CSDL phõn tỏn như hệ CSDL tập trung. Sự thay đổi việc quản trị khụng ảnh hưởng tới người sử dụng.

Hệ quản trị CSDL phõn tỏn gồm 1 tập cỏc phần mềm (chương trỡnh) sau đõy:

 Cỏc chương trỡnh quản trị cỏc dữ liệu phõn tỏn

 Chứa cỏc chương trỡnh để quản trị việc truyền thụng dữ liệu

 Cỏc chương trỡnh để quản trị cỏc CSDL địa phương.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Để tạo ra một hệ CSDL phõn tỏn (Distributed Database System-ĐBS) cỏc tập tin khụng chỉ cú liờn đới logic chỳng cũn phải cú cấu trỳc và được truy xuất qua một giao diện chung

1.5 Kết luận

Cơ sở dữ liệu phõn tỏn rất quan trọng vỡ nhiều lý do khỏc nhau, nú cú thể được cài đặt trờn cỏc mạng mỏy tớnh diện rộng và cỏc mạng cục bộ nhỏ. Cú hai lý do về tổ chức và kỹ thuật đối với sự phỏt triển cơ sở dữ liệu phõn tỏn đú là: Cơ sở dữ liệu phõn tỏn được xõy dựng để khắc phục cỏc thiếu sút của cơ sở dữ liệu tập trung và nú phự hợp hơn trong cấu trỳc phõn quyền của nhiều tổ chức. Kỹ thuật cơ sở dữ liệu phõn tỏn được mở rộng và phỏt triển từ kỹ thuật của cơ sở dữ liệu truyền thống. Trong mụi trường mới này, một số vấn đề kỹ thuật đũi hỏi cỏc giải phỏp khỏc, và một số giải phỏp hoàn toàn mớị

Tớnh trong suốt phõn tỏn cung cấp sự độc lập của cỏc chương trỡnh khỏi sự phõn tỏn của cơ sở dữ liệụ Cỏc mức trong suốt phõn tỏn khỏc nhau cú thể được cung cấp bởi một hệ quản trị cơ sở dữ liệu phõn tỏn; Tại mỗi mức, tớnh trong suốt làm cho người lập trỡnh ứng dụng khụng biết được sự phõn tỏn dữ liệụ

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Chƣơng 2. TỐI ƢU HểA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

Cỏc ngụn ngữ hỏi bậc cao như SQUARE, SEQUEL, SQL,... cho phộp viết nhiều cõu truy vấn với sự quan tõm nhiều đến thời gian thực hiện, và thời gian thực hiện đú cú thể giảm đỏng kể nếu bộ xử lý ngụn ngữ hỏi viết lại (bằng cỏch khỏc) cõu truy vấn trước khi thực hiện. Sự cải tiến như vậy thường gọi là "Sự tối ưu hoỏ", mặc dự cõu truy vấn được viết lại khụng cần tối ưu trờn tất cả cỏc cỏch cài đặt cõu truy vấn cú thể. Chương này sẽ trỡnh bày một số phương phỏp tối ưu húa cỏc biểu thức quan hệ, đặc biệt là xử lý biểu thức liờn quan đến phộp kết nối và tớch Decartes, xem xột cỏc kỹ thuật điển hỡnh INGRES và System R.

2.1. Cỏc chiến lược tối ưu húa cơ bản

Trong ngụn ngữ hỏi dựa trờn đại số quan hệ, cỏc truy vấn liờn quan đến tớch Decartes và phộp kết nối là rất tốn thời gian.

Vớ dụ 2.1: Xột biểu thức AB ì CD (AB là một quan hệ với cỏc thuộc tớnh A, B); ta đồng nhất hai quan hệ này với hai tệp dữ liệụ Để đưa ra giỏ trị của tớch Decartes này phải duyệt hết bản ghi của một quan hệ, chẳng hạn AB, ở vũng ngoài, với mỗi bản ghi r của tệp AB, duyệt tệp CD ở vũng trong và nối r với mỗi bản ghi của tệp CD. Giả sử quan hệ AB cú n bản ghi, CD cú m bản ghi thỡ tớch Decartes AB ì CD cú n ì m bản ghị Rừ ràng phộp tớnh trờn rất tốn kộm về thời gian và ụ nhớ.

Ullman J.D trong cỏc kết quả nghiờn cứu của mỡnh đó trỡnh bày 6 chiến lược tổng quỏt cho việc tối ưu húa cõu truy vấn. ý tưởng tối ưu chia làm 2 nhúm: Nhúm 1 gồm cỏc phộp biến đổi đại số cú liờn quan hoặc khụng liờn quan đến cỏch lưu trữ cỏc quan hệ, nhúm 2 gồm cỏc chiến lược cú lợi cho việc lưu trữ cỏc quan hệ như khoỏ, chỉ số. Cỏc chiến lược thực hiện như sau [5]:

1. Thực hiện phộp chọn sớm nhất cú thể: Biến đổi cõu truy vấn để đưa phộp chọn vào thực hiện trước nhằm làm giảm kớch thước của kết quả trung gian, do đú tiết kiệm thời gian thực hiện và khụng gian nhớ.

2. Tổ hợp phộp chọn xỏc định với phộp tớch Decartes thành phộp kết nối: Ta đó

biết, phộp kết nối đặc biệt là kết nối bằng cú thể thực hiện nhanh hơn đỏng kể so với phộp tớch Decartes trờn cựng cỏc quan hệ. Nếu kết quả của tớch Decartes R ì S là đối số của phộp chọn và phộp chọn cú liờn quan đến phộp so sỏnh giữa cỏc thuộc tớnh của R và S thỡ ta đưa về phộp kết nối để giảm chi phớ tớnh toỏn.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

3. Tổ hợp dóy cỏc phộp toỏn một ngụi như phộp chọn và phộp chiếu: Bất kỳ dóy cỏc phộp toỏn một ngụi như phộp chọn hoặc phộp chiếu cú kết quả phụ thuộc vào cỏc bộ của một quan hệ độc lập thỡ cú thể nhúm cỏc phộp đú lạị Tương tự, ta cú thể nhúm cỏc phộp toỏn một ngụi với kết quả của phộp toỏn hai ngụi bằng cỏch ỏp dụng cỏc phộp toỏn một ngụi với mỗi bộ kết quả của phộp toỏn hai ngụị

4. Tỡm cỏc biểu thức con chung trong một biểu thức: Nếu kết quả của một biểu thức con chung (biểu thức xuất hiện hơn một lần) là một quan hệ khụng lớn và nú cú thể được đọc từ bộ nhớ thứ cấp với ớt thời gian, thỡ nờn tớnh toỏn trước biểu thức đú chỉ một lần. Nếu biểu thức con chung, cú liờn quan đến phộp kết nối, thỡ trong trường hợp tổng quỏt khụng thể được thay đổi nhờ việc đẩy phộp chọn vào trong.

5. Xử lý cỏc tệp trước: Hai vấn đề quan trọng cần xử lý trước cho cỏc tệp số là sắp xếp cỏc tệp và thiết lập cỏc tệp chỉ số, khi đú thực hiện cỏc phộp toỏn liờn quan đến hai tệp (phộp tớnh hai ngụi) sẽ nhanh hơn nhiềụ

6. Đỏnh giỏ trước khi thực hiện phộp toỏn: Khi cần chọn trỡnh tự thực hiện cỏc

phộp toỏn trong biểu thức hoặc chọn một trong hai đối của phộp toỏn hai ngụi, ta nờn tớnh toỏn chi phớ thực hiện cỏc phộp toỏn đú (thường là số phộp tớnh, thời gian, dung lượng bộ nhớ theo kớch thước cỏc quan hệ,...) theo cỏc cỏch khỏc nhaụ Từ đú sẽ quyết định phương ỏn cú chi phớ thấp.

Một phần của tài liệu tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 25 - 31)