Các đặc trưng về xử lý truy vấn trong CSDLPT:

Một phần của tài liệu Đề tài nghiên cứu một số vấn đề về truy vấn và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin (Trang 27 - 30)

Rất khó để có thể ước lượng và đánh giá các phương thức xử lý truy vấn khác nhau dù thực hiện ở môi trường CSDLTT hay CSDLPT, bởi vì các phương thức này khác nhau ở nhiều mặt. Do đó, một số đặc trưng về xử lý truy vấn trong CSDLPT được xây dựng như một nền tảng cơ bản trong so sánh xử lý truy vấn. Trong các đặc trưng này, có một số đặc trưng trùng với xử lý truy vấn trong CSDLTT nhưng cũng có một số đặc trưng chỉ tồn tại trong xử lý truy vấn trên CSDLPT.

4.1. Ngôn ngữ (language)

Ngôn ngữ dùng để xây dựng các truy vấn CSDL thường được thể hiện trong bối cảnh của cơ sở dữ liệu quan hệ, một dạng thể hiện ở mức khái quát cao, và có thể có nhiều cách để phân rã thành các câu truy vấn ở dạng đại số quan hệ khác nhau. Bên cạnh đó, trong CSDLPT, các trạm có thể sử dụng các kiến trúc hệ quản trị cơ sở dữ liệu khác nhau, nên tồn tại nhiều phướng thức ánh xạ từ ngôn ngữ thể hiện truy vấn đầu vào và ngôn ngữ thể hiện truy vấn được thực sự thực hiện ở đầu ra.

Sự khác biệt giữa các ngôn ngữ thể hiện tạo ra nhiều khó khăn trong việc so sánh các phương thức tối ưu hóa truy vấn trong CSDLPT.

4.2. Các dạng tối ưu hóa (types of optimization)

Tối ưu hóa được hiểu là việc lựa chọn một điểm tốt nhất trong không gian giải pháp cần tìm kiếm. Phương pháp trực tiếp nhất để giải quyết bài toán tối ưu là tìm kiếm toàn bộ, trong đó mọi khả năng trong không gian tìm kiếm đều được ước lượng về mặt chi phí và so sánh với phần còn lại để tìm được giải pháp tốt nhất. Cách tiếp cận này có nhược điểm rất lớn khi không gian tìm kiếm, hoặc không gian phân đoạn trong CSDLPT là tương đối lớn hoặc rất lớn.

Để hạn chế những bất lợi của phương pháp tìm kiếm toàn bộ, những cách tiếp cận khác như chiến lược tiếp cận ngẫu nhiên, ví dụ thuật toán lặp cải tiến (iterative improvement) hay simulated annealing được đề suất sử dụng. Nhưng thuật toán này hướng đến việc tìm kiếm một giải pháp tốt nhưng chưa chắc là một giải pháp tối ưu, nhưng chi phí tìm kiếm có thể thấp hơn nhiều xét về bộ nhớ hoặc thời gian thực hiện.

Một phương hướng tiếp cận khác là sử dụng các giải thuật gần đúng (heuristic), những giải thuật này giới hạn không gian tìm kiếm, trong đó chỉ một số không gian khả thi cao được xem xét. Trong CSDLPT, phương pháp này đặc biệt có ý nghĩa khi nó cho phép thay thế một phép toán kết nối bằng một phép toán “bán kết nối” (semijoin) mà nhờ đó có thể cực tiểu hóa việc trao đổi dữ liệu.

4.3. Thời gian tối ưu hóa (optimization timing)

Việc tối ưu hóa truy vấn có thể được thực hiện ở nhiều thời điểm khác nhau so với thời điểm và câu truy vấn đó thực sự được xử lý. Tối ưu hóa có thể được thực hiện tĩnh (statically) trước khi thực hiện truy vấn hoặc thực hiện động (dynamically) song song với thời gian thực hiện truy vấn.

28

Tối ưu hóa tĩnh được thực hiện tại giai đoạn biên dịch câu truy vấn. Do do, khi thực hiện một truy vấn nhiều lần, thời gian tối ưu hóa có thể được giảm trừ dần, tỷ lệ nghịch với số lần truy vấn được sử dụng. Trong hướng tiếp cận này, nếu kích thước không gian tìm kiếm chỉ được biết khi thực hiện truy vấn, việc ước lượng sẽ phải dựa trên các dữ liệu thống kê về CSDL, do đó, lời giải của bài toán có thể là một lựa chọn tối ưu cục bộ.

Tối ưu hóa động được thực thi tại thời điểm câu truy vấn được xử lý. Trong cách tiếp cận này, tham số dùng để tối ưu hóa được ước lượng trực tiếp và các dữ liệu thống kê tĩnh ko còn cần thiết. Cách tiếp cận này sẽ hạn chế những lựa chọn xấu, khi sử dụng dữ liệu thống kê tĩnh. Tuy nhiên, bất lợi lớn của nó là các yêu cầu truy vấn được tối ưu hóa liên tục, do đó với những yêu cầu lớn/ đắt đỏ (expensive) thì thời gian tối ưu hóa sẽ cao.

Phương thức kết hợp (hybrid) thường tận dụng ưu thế của các tối ưu hóa tính trong đó một số trường hợp truy vấn sẽ được tối ưu hóa động. Thông thường các truy vấn sẽ được tối ưu hóa động khi dữ liệu thống kê về CSDL có sự sai khác lớn với dữ liệu thực về CSDL tại thời điểm thực hiện.

4.4. Thống kê (statistics)

Cả hai phương pháp tiếp cận tối ưu hóa tĩnh và tối ưu hóa động đều có sử dụng thông tin thống kê về CSDL. Thông tin này phụ thuộc và phương thức phân đoạn, tập hợp phân đoạn, kích thước đoạn và số lượng các giátrị sao lưu cho các thuộc tính…Để hạn chế lỗi, các lược đồ chi tiết về giá trị thuộc tính được sử dụng như một phần mở rộng của hệ thống quản lý chi phí. Các lược đồ này được cập nhật thường xuyên.

Trong phương thức tối ưu hóa tĩnh, sự thay đổi đối trong các dữ liệu thông kê có thể ảnh hưởng đến quá trình tối ưu hóa lại (reoptimization) các câu truy vấn.

4.5. Tối ưu hóa tập trung & tối ưu hóa phân tán (Decision sites)

Khi tối ưu hóa tĩnh được lựa chọn, việc xử lý tối ưu hóa có thể được thực hiện tập trung hoặc thực hiện phân tán.

Trong mô hình tối ưu hóa tập trung, một đơn bị xử lý sẽ được lựa chọn để thực hiện việc tối ưu hóa. Tuy nhiên, việc tối ưu hóa nên được phân chia và thực hiện trên nhiều thành phần trong toàn bộ hệ thống, cách tiếp cận nàyđược goi là tối ưu hóa phân tán. Tối ưu hóa tập trung được cài đặt một cách đơn giản, tuy nhiên mô hình này đòi hỏi phải xây dựng một hệ thống thông tin đầy đủ về toàn bộ CSDLPT, trong khi đó tối ưu hóa phân tán chỉ đòi hỏi các thông tin tại từng địa phương.

Mô hình kết hợp có thể được sử dụng, trong đó một số trạm thực hiện tối ưu hóa các truy vấn chính, trong đó các trạm còn lại có thể thực hiện các tối ưu hóa cục bộ, ví dụ như giải thuật System R* sử dụng tiếp cận kết hợp.

4.6. Sử dụng kiến trúc mạng (Exploitation of the network topology)

Kiến trúc mạng (network topology) được sử dụng nhiều trong xử lý truy vấn phân tán. Với mạng diện rộng,hàm giá trị được cực tiểu hóa có thể giới hạn trong việc

29

cực tiểu hóa chi phí truyền thông (communication cost) vìđây là yếu tố chi phối chính. Giả thiết này sẽ đơn giản hóa việc tối ưu hóa truy vấn phân tán, trong đó tối ưu hóa được chia thành hai vấn đề riêng biệt: lựa chọn chiến lược thực thi toàn cục dựa trên việc trao đổi giữa các trạm, và lựa chọn chiến lược thực thi cục bộ dựa trên thuật toán xử lý truy vấn cục bộ.

Trong mạng nội bộ (LAN), chi phí truyền thông được so sánh với chi phí vào ra (I/O cost). Khi đó, xu hướng sử lý song song vẫn được áp dụng ngay cả khi chi phí truyền thông tăng.

Trong hệ thống mạng khách/chủ (client/server), các máy trạm được sử dụng để thực hiện các hoạt động xử lý trong quản lý cơ sở dữ liệu thông qua phương thức dịch chuyển dữ liệu (data shipping). Khi đó, vấn đề tối ưu hóa truy vấn trở thành việc giải quyêt việc lựa chọn phần nào của câu truy vấn được thực hiện trên máy trạm và phần nào của câu truy vấn được thực hiện trên máy chủ.

4.7. Sử dụng bản sao phân đoạn (Exploitation of Replicated Fragments)

Một quan hệ phân tán thường được chia thành nhiều phân đoạn bằng các phương pháp phân đoạn khác nhau. Do đó, thực thi các truy vấn phân tán ở mức toàn cục sẽ được ánh xạ thành các truy vấn ở mức vật lý dựa trên quan hệ giữa các phân đoạn bằng hệ thống dịch quan hệ - phân đoạn (translating relation into fragments), quá trình này thường được gọi là định vị. Khả năng định vị càng tin cậy thì việc tối ưu hóa thực hiện truy vấn càng cao.

Hầu hết các phương thức tối ưu hóa coi tối ưu hóa định vị như một quá trình xử lý tôi ưu độc lập, tuy nhiên một số phương pháp khác sử dụng một bản sao thông tin các phân đoạn (replicated fragments) tại thời điểm thực thi nhằm giảm thời gian truyền thông. Khi đó, việc tối ưu hóa truy vấn trở nên phức tạp hơn do có thêm nhiều khả năng tối ưu khá nhau.

4.8. Sử dụng toán tử bán kết nối (Use of Semijoins)

Toán tử bán kết nối có đặc tính quan trọnggiúp giảm bớt không gian của quan hệ kết hợp. Khi thành phần chính tác động đến chi phí là thuyền thông, các toán tử bán kết nối được sử dụng phổ biến để cải thiện tốt độ xử lý của phép toán kết nối thông thường.

Tuy nhiên, việc sử dụng toán tử bán kết nối có thể dẫn đến tăng số lượng các thông điệp cần truyền và thời gian xử lý cục bộ. Các thuật toán sơ khai trong CSDLPT như SDD-1, được thiết kế cho môi trường phân tán rộng tốc độ thấp thường sử dụng phổ biến toán tử bán kết nối.Trong khi đó, các hệ thống ra đời sau, ví dụ R*, xây dựng dựa trên giả thiết mạng có tốc độ cao sẽ không cài đặt toán tử bán kết nối. Do đó, một số thuật toán tối ưu truy vấn đặt vấn đề tối ưu trong lựa chọn sử dụng phép toán kêt nôi hay phép toán bán kếtnối.

30

Một phần của tài liệu Đề tài nghiên cứu một số vấn đề về truy vấn và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin (Trang 27 - 30)

Tải bản đầy đủ (PDF)

(57 trang)