1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu tối ưu hóa truy vấn hệ cơ sở dữ liệu (tóm tắt luận văn thạc sĩ ngành truyền dữ liệu mạng máy tính)

24 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 455,4 KB

Nội dung

Dữ liệu cực lớn lên tới hàng triệu bản ghi.lại phải cập nhật chỉnh lý thường xuyên nên với mô hình CSDL tập trung sẽ gặp rất nhiều khó khăn về vấn đề máy chủ, băng thông đường truyền, tí

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

ĐÀO NGỌC SƠN

NGHIÊN CỨU TỐI ƯU HÓA TRUY VẤN

HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN

Chuyên ngành: Truyền dữ liệu và mạng máy tính

Mã số: 60.48.15 Người hướng dẫn khoa học: PGS.TS ĐOÀN VĂN BAN

TÓM TĂT LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI- 2012

Trang 2

MỞ ĐẦU

1 Lý do chọn đề tài

Thực trạng hiện nay Viễn thông thanh hóa đang sử dụng phần mềm phục vụ công tác quản lý và điều hành sản xuất của mình, các ứng dụng chính gồm: Hệ thống quản lý nhân sự, hệ thống quản lý mạng cáp, hệ thống tính cước, hệ thống thông tin phục vụ tổ 108,hệ thống báo hỏng, hệ thống quản lý thông tin khách hàng, website public viễn thông thanh hóa…

Dữ liệu cực lớn lên tới hàng triệu bản ghi.lại phải cập nhật chỉnh lý thường xuyên nên với mô hình CSDL tập trung sẽ gặp rất nhiều khó khăn về vấn đề máy chủ, băng thông đường truyền, tính sẵn sàng của hệ thống.Tôi xin đề xuất giải pháp ứng dụng để xây dựng mô hình CSDL phân tán cho hệ thống thông tin khách hàng trên hệ quản trị CSDL Oracle

2 Mục đích của đề tài

Nghiên cứu phương pháp xây dựng cơ sở dữ liệu phân tán, tối ưu hóa truy vấn

cơ sở dữ liệu phân tán

3 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu là cơ sở dữ liệu phân tán

- Phạm vi nghiên cứu là kỹ thuật đồng bộ và tối ưu truy vấn trong cơ sở dữ liệu

4 Phương pháp nghiên cứu

- Nghiên cứu lý thuyết : tìm hiểu các nghiên cứu các tài liệu trong sách , tạp chí các bài viết trên mạng internet… tổng hợp so sánh để viết thành luận văn

- Nghiên cứu thực nghiệm : Cài đặt thử nghiệm

5 Các kết quả dự kiến đạt được

- Giới thiệu tổng quan về CSDL phân tán

- Trình bày phương pháp tối ưu hóa truy vấn

- Cài đặt thử nghiệm thuật toán tối ưu hóa truy vấn

Trang 3

CHƯƠNG 1 CƠ SỞ DỮ LIỆU PHÂN TÁN

1.1 Khái niệm về hệ cơ sở dữ liệu phân tán

Định nghĩa này nhấn mạnh hai khía cạnh quan trọng của cơ sở dữ liệu phân tán

- Tính phân tán: Thực tế dữ liệu không cư trú ở cùng một trạm, vì vậy chúng

ta có thể phân biệt một cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung

- Sự tương quan logic: Các dữ liệu có một số tính chất ràng buộc lẫn nhau và như vậy có thể phân biệt cơ sở dữ liệu phân tán với tập các cơ sở dữ liệu địa phương hoặc với các tệp ở các trạm khác nhau trên mạng

1.1.2 Hệ quản trị cơ sở dữ liệu phân tán(DDBMS)

Khác DDBMS có chức năng hỗ trợ việc tạo và bảo trì cơ sở dữ liệu phân tán, chúng

có các thành phần tương tự như một hệ quản trị cơ sở dữ liệu tập trung thành các thành phần hỗ trợ trong việc chuyển tải dữ liệu đến các trạm và ngược lại

Hệ quản trị cơ sở dữ liệu phân tán được phân làm 2 loại

- Cơ sở dữ liệu phân tán thuần nhất

- Cơ sở dữ liệu phân tán hỗn tạp

1.1.3 Những ưu điểm của cơ sở dữ liệu phân tán

Lợi ích cơ bản nhất của cơ sở dữ liệu phân tán là dữ liệu của các cơ sở dữ liệu vật lý riêng biệt được tích hợp logic với nhau làm cho nhiều người sử dụng trên mạng có thể truy nhập được [7]

1 Cho phép quản lý dữ liệu với nhiều mức trong suốt

2 Tăng độ tin cậy và khả năng sẵn sàng

3 Cải thiện hiệu năng

Trang 4

4 Dễ dàng mở rộng

1.1.4 Những nhược điểm của cơ sở dữ liệu phân tán [3]

- Độ phức tạp thiết kế và cài đặt hệ thống tăng: Hệ quản trị cơ sở dữ liệu phân tán phải bổ sung thêm các chức năng như:

- Khó điều khiển tính nhất quán về dữ liệu

- Các phần mềm hệ thống đảm bảo quản trị, duy trì kết nối, trao đổi dữ liệu trên mạng

- Bảo mật khó khăn

Ở mức phần cứng vật lý, những nhân tố chính sau là để phân biệt một hệ cơ

sở dữ liệu phân tán với hệ cơ sở dữ liệu tập trung :

- Có nhiều máy tính được gọi là các trạm hay các nút

- Các trạm này phải được kết nối bởi một kiểu mạng truyền thông để truyền

dữ liệu

1.2 Các đặc trưng trong suốt của cơ sở dữ liệu phân tán

- Trong suốt phân tán

- Trong suốt giao dịch

- Trong suốt thất bại

- Trong suốt thao tác

- Trong suốt về tính không thuần nhất

1.3 Kiến trúc tham chiếu của cơ sở dữ liệu phân tán

Kiến trúc tham chiếu không được cài đặt rõ ràng trên tất cả cơ sở dữ liệu phân tán, tuy nhiên các mức của nó được khái quát chính xác, thích hợp để mô tả tổ chức chung cho mọi hệ cơ sở dữ liệu phân tán [3]

- Lược đồ tổng thể: Mô tả tổng thể và thống nhất chung nhất của tất cả dữ liệu của cơ sở dữ liệu phân tán độc lập với môi trường phân tán

- Phân đoạn: Mối quan hệ tổng thể có thể được chia thành vài phần không giao nhau được gọi là các đoạn Lược đồ phân đoạn định nghĩa ánh xạ giữa các quan hệ tổng thể và các phân đoạn Ánh xạ này là một nhiều: Một số đoạn tương ứng với một quan hệ tổng thể, nhưng chỉ một quan hệ tổng thể

Trang 5

tương ứng với một đoạn Ký hiệu Ri là đoạn thứ i của quan hệ tổng thể R

- Lược đồ định vị: Định nghĩa ánh xạ từ các phân đoạn vào những trạm chứa những phân đoạn đó Tất cả các đoạn tương ứng với cùng quan hệ tổng thể

R và được đặt tại cùng trạm j tạo thành hình ảnh vật lý của quan hệ tổng thể

R tại trạm j

- Lược đồ ánh xạ địa phương: Ánh xạ các hình ảnh vật lý tới các đối tượng được thao tác bởi các hệ quản trị cơ sở dữ liệu địa phương Trong hệ không thuần nhất ta có các kiểu ánh xạ địa phương khác nhau tại các trạm khác nhau

Hình 1.1: Kiến trúc tham chiếu của cơ sở dữ liệu phân tán

định vị

Trang 6

1.4 Các kỹ thuật xây dựng cơ sở dữ liệu phân tán

- Kỹ thuật phân tách dữ liệu từ một cơ sở dữ liệu để lưu trữ trên các trạm khác nhau được gọi là phân mảnh

- Sử dụng bản sao cho phép cùng một dữ liệu có thể được lưu trữ trên nhiều hơn một trạm

- Quá trình định vị các phân mảnh dữ liệu hoặc định vị các bản sao phân mảnh lưu trữ dữ liệu trên các trạm khác nhau

1.4.1 Phân mảnh

Sự phân mảnh là chia dữ liệu trong các bảng dữ liệu thành các bộ hoặc các bảng dữ liệu con Có ba kiểu phân mảnh một quan hệ tổng thể: Phân mảnh ngang, phân mảnh dọc và phân mảnh hỗn hợp[9]

Một sự phân mảnh là đúng đắn nếu thoả mãn ba điều kiện sau:

- Điều kiện không mất thông tin: Tất cả dữ liệu của quan hệ tổng thể phải đựơc ánh xạ tới các mảnh, có nghĩa mỗi phần tử dữ liệu thuộc quan hệ tổng thể phải thuộc một hay nhiều mảnh của nó

- Điều kiện xây dựng lại: Luôn có thể xây dựng lại được quan hệ tổng thể từ các mảnh đã có

- Điều kiện rời nhau (chỉ áp dụng cho phân mảnh ngang): Để tối thiểu hoá sự lặp lại của dữ liệu

1.4.1.2 Phân mảnh ngang dẫn tiếp

Phân mảnh ngang dẫn tiếp là sự phân chia một quan hệ ban đầu thành các quan hệ thứ hai khác mà các quan hệ đó liên hệ với quan hệ ban đầu bằng một khoá ngoài Điều này như là liên hệ dữ liệu giữa quan hệ ban đầu và quan hệ thứ hai được phân đoạn trong cùng một cách

Trang 7

1.4.1.3 Phân mảnh dọc

Phân mảnh 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

Tiêu chuẩn cho sự phân mảnh 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 mảnh dọc nào đó

- Điều kiện xây dựng lại: Cần phải thêm vào mỗi mảnh khoá chính, do đó việc xây dựng lại được nhờ vào phép kết nối các mảnh 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 mảnh

để 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

1.4.1.4 Phân mảnh hỗn hợp

Là sự kết hợp cả phân mảnh dọc và phân mảnh ngang

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

2 Không có nhân bản dữ liệu: Mỗi phân mảnh 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ệu 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

Trang 8

3 Nhân bản dữ liệu từng phần: Một vài phân mảnh có thể được tạo bản sao

và có thể một số phân mảnh sẽ không có bản sao 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.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ới

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ệu 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ệu

Trang 9

CHƯƠNG 2 TỐI ƯU HÓA CÂU 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ể

2.1 Giới thiệu về xử lý truy vấn

Mục đích của xử lý truy vấn :

- Giảm thiểu thời gian xử lý

- Giảm vùng nhớ trung gian

- Giảm chi phí truyền thông của các trạm

2.1.1 Các yêu cầu của phép biến đổi tối ưu hoá câu truy vấn

- Các phép biến đổi phải thực sự hữu hiệu đối với phần lớn các dạng câu truy vấn hay một lớp các câu truy vấn thường dùng mà không phải chi phí quá nhiều để thực hiện quá trình biến đổi đó

- Các phép biến đổi phải bảo toàn kết quả của câu truy vấn trước và sau khi biến đổi, có nghĩa là hai biểu thức trước và sau khi biến đổi phải cho cùng một kết quả khi thay các lược đồ trong biểu thức bởi các thể hiện cụ thể

- Các phép biến đổi phải làm giảm chi phí để thực hiện câu truy vấn Chi phí cho xử lý câu truy vấn có rất nhiều yếu tố, tuy nhiên ta chỉ quan tâm đến một số thông báo cơ bản nhất sau đây: số lần truy xuất khối nhớ giữa bộ nhớ trong và bộ nhớ ngoài; số bản ghi cần phải xử lý ở thiết bị trung tâm; phần bộ nhớ để lưu trữ các kết quả trung gian trong quá trình thực hiện câu truy vấn

2.1.2 Các phương pháp xử lý truy vấn cơ bản

Phương pháp biến đổi đại số :

Trang 10

Đơn giản hóa câu truy vấn nhờ các phép biến đổi đại số tương đương nhằm giảm thiểu thời gian thực hiện các phép toán, phương pháp này không quan tâm đến cấu trúc và kích thước dữ liệu

Phương pháp ước lượng chi phí :

Xác định kích thước dữ liệu, thời gian thực hiện mỗi phép toán trong câu truy vấn Phương pháp này phải xác định kích thước dữ liệu và chi phí thời gian thực hiện mỗi phép toán trong câu truy vấn

2.2 Các kỹ thuật tối ưu hóa tập trung

Phần này sẽ trình bày hai kỹ thuật tối ưu hoá câu truy vấn đối với hệ tập trung Sự biểu diễn này là điều kiện để tối ưu hóa câu truy vấn phân tán với ba lý do:

- Một câu truy vấn phân tán được biến đổi thành các câu truy vấn địa phương được xử lý theo cách tập trung

- Các kỹ thuật tối ưu hoá câu truy vấn phân tán thường là sự mở rộng các

kỹ thuật đối với hệ tập trung

- Tối ưu hoá tập trung thường là vấn đề đơn giản, sự tối thiểu hoá chi phí truyền thông dẫn đến tối ưu hoá câu truy vấn phân tán phức tạp hơn

2.2.1 Thuật toán INGRES

INGRES sử dụng thuật toán tối ưu hoá câu truy vấn động, chia một truy vấn phép tính quan hệ thành các truy vấn nhỏ hơn Một truy vấn đa biến đầu tiên được phân tích thành một dãy các truy vấn con có một biến duy nhất chung, mỗi truy vấn con được dựa vào kết quả của truy vấn con trước đó Sau đó, mỗi truy vấn con được xử lý bởi "bộ xử lý truy vấn một biến" (OVQP: one-variable query processor) OVQP tối ưu truy nhập tới một quan hệ đơn, bằng cách lựa chọn phương pháp truy nhập tốt nhất (chỉ số, quét tuần tự) Ví dụ: với tân từ dạng <A = value> thì nên dùng một chỉ số trên A; với tân từ dạng <Avalue> thì nên dùng quét tuần tự

Câu truy vấn q được phân tích thành hai câu truy vấn con qi-1 và qi, ký hiệu q

i-1 qi, nghĩa là qi -1 được thực hiện trước và kết quả của nó được sử dụng bởi qi

Trang 11

Bộxử lý câu truy vấn INGRES phân tích q thành n câu truy vấn q1 q2 q3 

qn Sự phân tích này sử dụng hai kỹ thuật cơ bản phân tách và thay thế

2.2.2 Thuật toán SYSTEM R

System R thực hiện tối ưu hóa truy vấn tĩnh, đầu vào là một cây đại số quan hệ

do phân tích một truy vấn SQL, đầu ra là sơ đồ thực hiện cây đại số quan hệ "tối ưu" Thuật toán tối ưu bao gồm hai bước chính:

- Dự đoán phương pháp truy nhập tới mỗi quan hệ đơn tốt nhất dựa trên một giả thiết chọn

- Với mỗi quan hệ R, đánh giá thứ tự kết nối tốt nhất, trong đó R được truy nhập trước tiên sử dụng phương pháp truy nhập quan hệ - đơn tốt nhất của

Có hai phương pháp có thể để xét các phép kết nối Khi kết nối hai quan hệ, quan hệ có các bộ đọc trước gọi là quan hệ ngoài, quan hệ có các bộ được tìm thấy tùy theo các giá trị có được từ quan hệ ngoài gọi là quan hệ trong Quyết định quan trọng với mỗi phương pháp kết nối là xác định hướng truy nhập tới quan hệ trong rẻ nhất

Phương pháp 1, gọi là các vòng lặp lồng nhau, thực hiện tích hai quan hệ Với mỗi bộ của quan hệ ngoài, các bộ của quan hệ trong thoả mãn giả thiết kết nối được gọi ra để tạo quan hệ kết quả Nếu không đánh chỉ số, với các quan hệ được lưu trữ theo thứ tự trên n1, n2 bộ bản ghi, thuật toán này có chi phí là n1* n2

Phương pháp 2, gọi là kết nối trộn, kết nối hai quan hệ đã sắp xếp trên thuộc tính kết nối Nếu là kết nối bằng, chi phí của việc kết nối hai quan hệ được lưu trữ trên n1 và n2 bộ bản ghi là n1+ n2 Vì vậy, phương pháp này luôn được chọn khi có kết nối bằng, và khi các quan hệ được sắp xếp trước Nếu chỉ một hoặc không có quan hệ nào được sắp xếp, chi phí của vòng lặp lồng nhau được so sánh với chi phí của phương pháp trộn + chi phí sắp xếp Chi phí sắp xếp n bộ bản ghi là nlog2n

Trang 12

2.3 Tối ưu hóa truy vấn phân tán

2.3.1 Mục tiêu của bài toán truy vấn

Mục tiêu của bài toán truy vấn trong môi trường phân tán là biến đổi câu vấn tin cáp cao trên CSDL phân tán (mà người sử dụng vẫn tưởng là CSDL tập trung) thành một chiến lược thực thể hiệu quả được diễn tả bằng một ngôn ngữ cấp thấp trên các CSDL cục

bộ Giả sử ngôn ngữ cấp cao là phép tính quan hệ, ngôn ngữ cấp thấp là một dạng mở rộng của đại số quan hệ đi kèm với các thao tác truyền dữ liệu

Xét các quan hệ EMP (ENO, ENAME, TITLE)

ASG (ENO, PNO, RESP, DUR)

Và câu vấn tin: “Cho biết các nhân viên hiện đang quản lý một dự án”

Câu SQL là: SELECT ENAME

FROM EMP, ASG WHERE EMP.ENO = ASG.ENO AND ASG.RESP = “Manager”

Hai biểu thức tương đương đại số quan hệ do biến đổi từ câu vấn tin trên là:

 ENAME ( RESP = “Manager”  EMP.ENO = ASG.ENO (EMP x ASG)) (*)

Và ENAME(EMP ENO(RESP = “Manager” (ASG))) (**) Với mục tiêu giảm thiểu việc sử dụng tài nguyên nên câu vấn tin (**) sẽ được dùng

Nhiệm vụ chính của thể xử lý vấn tin tập trung là đối với một câu vấn tin đã cho nó phải chọn ra được một câu vấn tin đại số quan hệ tốt nhất trong số các câu vấn tin đại số tương đương Bởi vì đây là một bài toán phức tạp về mặt tính toán khi số lượng các quan

hệ lớn, nên nói chung nó thường được đưa về yều cầu chọn một lời giải tối ưu

Trong quan hệ phân tán, đại số quan hệ không đủ để diễn tả các chiến lược thực thi

Nó phải được bổ sung thêm các phép tính toán trao đổi dữ liệu giữa các vị trí Bên cạnh chọn thứ tự cho các phép toán đại số quan hệ, thể XLVT phân tán cũng phải chọn các vị trí tốt nhất để xử lý dữ liệu và có thể cả cách biến đổi dữ liệu Do những yêu cầu trên mà không gian lời giản tăng lên làm cho việc XLVT plhân tán khó hơn rất nhiều

Ví dụ 2.4: Ví dụ minh hoạ tầm quan trong của việc chọn lựa vị trí và cách truyền

dữ liệu của câu vấn tin đại số

 ENAME (EMP  ENO ( RESP = “Manager” (ASG))) (**) Giả sử EMP và ASG được phân mảnh ngang như sau:

Ngày đăng: 03/06/2021, 21:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w