Quá trình xử lý truy vấn

Một phần của tài liệu Truy vấn cơ sở dữ liệu hướng đối tượng sử dụng biểu thức đường dẫn (Trang 28)

Trong phần này tập trung vào hai vấn đề : các phương pháp xử lý truy vấn và phương thức tối ưu hóa câu truy vấn.

- 29 - 2.2.1. Phương pháp xử lý truy vấn

Một phương pháp xử lý truy vấn tương tự như DBMSs quan hệ, nhưng được sửa đổi để xử lý với những khó khăn được thảo luận trong phần trước, có thể được thực hiện trong OODBMSs. Hình 2.1 miêu tả như một phương pháp đề nghị trong [7].

Phương pháp này gồm các bứơc như sau. Truy vấn được thể hiện bằng một ngôn ngữ khai báo đòi hỏi người sử dụng không triển khai kiến thức đối tượng, đường dẫn truy cập hoặc các chiến lược xử lý. Các biểu thức tính toán là lần đầu tiên giảm xuống một hình thức bình thường hóa bằng cách loại bỏ trùng lặp VỊ TỪ , ứng dụng nhận dạng và viết lại.

Hình 2.1 Phương pháp xử lý đối tượng truy vấn

Các biểu thức bình thường sau đó được chuyển đổi thành một biểu thức đại số tương đương với đối tượng. Điều này dưới hình thức truy vấn là một biểu thức lồng nhau có thể được xem như là một cây mà các nút là toán tử đại số và có lá đại diện cho mức độ của các tầng lớp trong cơ sở dữ liệu.

Các biểu thức đại số tiếp tục kiểm tra kiểu tính nhất quán để bảo đảm rằng các VỊ TỪ và phương pháp không được áp dụng cho các đối tượng mà không hỗ trợ chức năng yêu cầu. Điều này là không đơn giản như kiểm tra kiểu trong ngôn ngữ lập trình tổng hợp từ kết quả trung gian, đó là tập hợp các đối tượng, có thể có loại không đồng nhất. Bước tiếp theo trong xử lý truy vấn là việc áp dụng bảo quản tương đương viết lại quy tắc để loại biểu thức đại số phù hợp. Cuối cùng, một kế hoạch thực hiện sẽ đưa vào triển khai tính toán đối tượng được tạo ra từ các biểu thức đại số tối ưu.

- 30 -

Viết lại Truy vấn là một quá trình cấp cao, nơi có mục đích chung điều khiển thông minh việc áp dụng các quy tắc chuyển đổi. Kế hoạch tối ưu hóa, mặt khác, là một quá trình cấp thấp hơn mà biến đổi một truy vấn vào chi phí kế hoạch tiếp cận hiệu quả nhất, dựa trên một mô hình chi phí cụ thể và kiến thức về các đường dẫn truy cập và số liệu thống kê cơ sở dữ liệu. Phương pháp này chia tách rõ ràng những mối quan tâm khác nhau và cung cấp mở rộng để xử lý truy vấn. Tuy nhiên, nó phải đối mặt với một vấn đề nghiêm trọng: chi phí tổ hợp của phân tích số lượng lớn các kế hoạch được tạo ra. Các bước tối ưu hóa đại số tạo ra một họ của các biểu thức truy vấn tương đương dựa trên các quy tắc chuyển đổi quy định cho các đại số. Các bước thực hiện thế hệ kế hoạch tạo ra một số ánh xạ thay thế từ mỗi của các biểu thức để các cuộc gọi đối tượng giao diện quản lý. Vì vậy, số lượng các lựa chọn thay thế mà cần phải được coi là có thể trở thành khá cao.

Một thay thế tiếp theo là sử dụng quy tắc heuristic (Là phương pháp tiếp cận bằng cảm tính, mang tính kinh nghiệm, dùng trong phương pháp "thử và sai" để giải quyết tương đối các bài toán khó. (đối lập phương pháp tiếp cận bằng thuật toán - algorithmic) để kiểm soát truy vấn viết lại để cho một biểu thức truy vấn duy nhất được tạo ra như là đầu vào cho các bước tối ưu hóa kế hoạch. Mặt khác Chi phí tối ưu hóa phương pháp tiếp cận dựa trên kết hợp hai bước vào một trong các thuật toán và xem xét thực hiện phương án thay thế như là một phần của không gian tìm kiếm. Phương pháp này giả định sự tồn tại của một ngôn ngữ dựa trên tính toán đầy đủ các quy định và đại số đối tượng.

2.2.2. Tối ưu hóa truy vấn

Tối ưu hóa truy vấn có thể được mô hình trạng thái và tối ưu trong một không gian trạng thái (còn gọi là không gian tìm kiếm). Trong tối ưu hóa truy vấn, mỗi trạng thái tương ứng với một truy vấn đại số chỉ ra một lịch trình thực hiện và biểu diễn như một cây xử lý. Không gian trạng thái là một họ tương đương (trong ý nghĩa của tạo ra cùng một kết quả) các truy vấn đại số. Truy vấn tối ưu hóa tạo ra và

- 31 -

tìm kiếm một không gian trạng thái bằng cách sử dụng một chiến lược tìm kiếm áp dụng một hàm chi phí cho mỗi trạng thái và việc tìm kiếm một với chi phí tối thiểu. Do đó, để đặc trưng cho một truy vấn tối ưu ba điều cần phải được quy định cụ thể:

- Không gian tìm kiếm và quy tắc chuyển đổi tạo ra biểu thức truy vấn khác cấu thành trong không gian tìm kiếm.

- Một thuật toán tìm kiếm, cho phép một để chuyển từ một trạng thái khác trong không gian tìm kiếm.

- Chi phí chức năng được áp dụng cho mỗi trạng thái.

Một trong những hy vọng để phát triển một tối ưu hóa mở rộng mà thể chứa các chiến lược tìm kiếm khác nhau, thông số kỹ thuật đại số khác nhau với các quy tắc chuyển đổi khác nhau, và chức năng chi phí khác nhau. tối ưu hóa truy vấn dựa trên quy tắc(Rule) cung cấp một số lượng hạn chế mở rộng bằng cách cho phép định nghĩa các quy tắc chuyển đổi mới. Tuy nhiên, chúng không cho phép mở rộng trong không gian khác.

Các dự án Open OODB ở Texas Instruments tập trung vào định nghĩa của một khung kiến trúc mở cho OODBMSs và trên mô tả về không gian thiết kế cho các hệ thống này. Xử lý truy vấn trong Open OODB sau bước tương tự như hình 2.1. Module truy vấn là một ví dụ về mở rộng intramodule trong Open OODB. Các truy vấn tối ưu, được xây dựng bằng cách sử dụng Volcano optimizer generator, là mở rộng đối với các toán tử đại số, chuyển đổi các quy tắc hợp lý, thực hiện các thuật toán, thực hiện luật (tức là, toán tử logic để thực hiện thuật toán ánh xạ), chi phí chức năng dự toán, và thuộc tính vật lý thực hiện chức năng (ví dụ, sự hiện diện của các đối tượng trong bộ nhớ). Việc tách giữa các ngôn ngữ truy vấn người dùng phân tích cấu trúc và toán tử đồ thị mà tối ưu hóa các hoạt động cho phép thay thế của ngôn ngữ người sử dụng hay tối ưu hóa. Việc tách biệt giữa toán tử đại số và thuật toán cho phép thăm dò thực hiện với các phương pháp thay thế để thực hiện toán tử đại số.. Mở xử lý truy vấn OODB bao gồm một động cơ thực hiện truy vấn có chứa

- 32 -

hiệu quả triển khai của quét, lập chỉ mục quét, hybrid-hash joint và lắp ráp đối tượng phức tạp.

Dự án EPOQ là một cách tiếp cận để mở rộng tối ưu hóa truy vấn, nơi không gian tìm kiếm được chia thành vùng. Mỗi vùng tương ứng với một họ tương đương của một thành ngữ truy vấn có thể truy cập khác. Các vùng không nhất thiết phải loại trừ lẫn nhau (Hình 2.2.2) và khác nhau ở các truy vấn là thao tác, kiểm soát (tìm kiếm) chiến lược mà họ sử dụng, các quy tắc chuyển đổi câu truy vấn mà họ kết hợp, và mục tiêu tối ưu hóa mà họ đạt được. Ví dụ, một trong những khu vực có thể bao gồm các quy tắc chuyển đổi mà đối phó với các truy vấn đơn giản đuợc lựa chọn, trong khi vùng khác có thể đối phó với biến đổi cho các truy vấn lồng nhau. Tương tự như vậy, một trong những vùng có thể có mục tiêu giảm thiểu một hàm chi phí, trong khi khu vực khác có thể cố gắng để biến đổi các truy vấn trong một số hình thức mong muốn. Mỗi khu vực có thể được lồng vào một số cấp, cho phép phân cấp tìm kiếm trong một khu vực. Kể từ khi khu vực không đại diện cho lớp tương đương, có một nhu cầu cho một chiến lược kiểm soát chung để xác định cách di chuyển tối ưu truy vấn từ một trong những vùng khác. Tính khả thi và hiệu quả của phương pháp này vẫn còn phải được xác minh.

Dự án TIGUKAT một cách tiếp cận theo định hướng mở rộng đối tượng để xử lý truy vấn.TIGUKAT đối tượng là một mô hình mở rộng mô hình ứng xử thống nhất đặc trưng bởi một ngữ nghĩa hoàn toàn và phương pháp tiếp cận một cách thống nhất cho các đối tượng. Mô hình là ứng xử trong rằng cách duy nhất là các đối tượng được truy cập bằng cách áp dụng những hành vi (mà thay thế cho cả các biến đối tượng và các phương pháp sẵn có trong mẫu đối tượng khác) để các đối tượng. Hành vi được xác định trên các loại và hiện thực của họ được mô hình như chức năng. Mỗi khái niệm, bao gồm các loại, các lớp , tập hợp, thông tin meta, vv là một đối tượng đầu tiên. Tính thống nhất của mô hình đối tượng mở rộng mô hình truy vấn, xử lý các truy vấn như first-class objects. Một loại truy vấn được định

- 33 -

nghĩa là một phân nhóm của các loại chức năng (Hình 2.3). Vì vậy, các truy vấn các loại chuyên ngành chức năng có thể được biên dịch và thực hiện.

TIGUKAT truy vấn tối đưa ra hệ thống các khái niệm như đại diện cho các đối tượng là dọc theo. Không gian tìm kiếm, các chiến lược chức năng tìm kiếm và chi phí được mô hình như là đối tượng (xem hình 2.3). Việc đưa các thành phần này của tối ưu hóa các loại vào hệ thống cung cấp mở rộng thông qua các nguyên tắc hướng đối tượng cơ bản của sub typing.

- 34 -

Hình 2.3 Tối ưu hóa như là một phần của hệ thống loại

Các trạng thái trong không gian tìm kiếm là mô hình như chế biến cây (PT) có các nút lá được tham chiếu đến tập hợp và các nút lá không biểu thị các ứng dụng hành vi mà kết quả là các đối tượng khác. Những nút tương ứng với các hành vi khai thác trở lại các tập hợp đại số như là kết quả tạm thời.

Toán tử đại số (ví dụ, select, joint) được định nghĩa là hành vị của các kiểu tập hợp. đó là những mô hình như trường hợp (hiển thị như là tiêu tan hộp trong hình 2.3) của loại Đại số là một kiểu con của loại hành vi. Việc thực thi(thực hiện) các thuật toán cho các toán tử đại số là mô hình như đối tượng chức năng (ví dụ, HashJoin, Scan select). Thực hiện các chức năng này không thể được sử dụng như các nút của PT, vì các nút nên đại diện cho chức năng thực hiện tất cả các đối số mà đã được ghép nối. Vì vậy, loại AlgOp được xác định có trường hợp được chức năng với các đối số ghép nối và đại diện các nút của một PT. Trong thời trang này, mỗi nút của PT một đại diện cho một thuật toán thực hiện cụ thể đối với một biểu thức đại số.

Chiến lược tìm kiếm là tương tự như mô hình như các đối tượng, nhưng tách biệt với không gian tìm kiếm. Tìm kiếm bắt đầu được định nghĩa là một loại con của loại Chức năng, và nó có thể biến thể trong chuyên ngành. Biểu đồ 3 cho thấy chuyên môn của tìm kiếm Bắt đầu vào các chiến lược tìm kiếm liệt kê EnumSSand

- 35 -

chiến lược tìm kiếm ngẫu nhiên chuyển đổi các quy tắc đại số RandomSS. Các quy tắc biến đổi đại số để điều khiển sự chuyển động của các chiến lược tìm kiếm thông qua các không gian tìm kiếm được thực hiện như trường hợp của AlgEqRule. 2.3. Kỹ thuật tối ưu hóa

Các kỹ thuật tối ưu hóa cho các truy vấn đối tượng có hai hướng cơ bản sau. Đầu tiên là chi phí tối ưu hóa dựa trên các truy vấn dựa trên các thao tác đại số. Kỹ thuật tối ưu đại số đã được nghiên cứu khá rộng rãi trong bối cảnh của mô hình quan hệ. Các hoạt động trên DBMSs quan hệ đã được hưởng lợi rất nhiều từ sự sẵn có của một định nghĩa đại số phổ chấp nhận. Mặc dù có nhiều đề xuất nhưng không có đại số đối tượng được chấp nhận, làm cho nó rất khó để khái quát các kết quả nghiên cứu. Thứ hai là tối ưu hóa của biểu thức đường dẫn. Biểu thức đường dẫn đại diện cho chỗ giao nhau đường dẫn giữa các đối tượng và là duy nhất trong OODBMSs. Tối ưu hóa biểu thức đường dẫn là một vấn đề quan trọng trong OODBMSs và đã được nhiều người quan tâm.

Nội dung trình bày của phần này gồm có hai phần là tối ưu hóa đại số và tối ưu hóa biểu thức đường dẫn.

2.3.1. Các vấn đề về tối ưu hóa đại số

Trong phần này sẽ thảo luận về tìm kiếm không quan và quy tắc chuyển đổi, thuật toán tìm kiếm, chi phí chức năng, tham số.

Tìm kiếm không gian và quy tắc chuyển đổi

Một lợi thế lớn của tối ưu hóa đại số là một biểu thức đại số truy vấn có thể được chuyển đổi bằng cách sử dụng được xác định rõ tính chất đại số như dịch chuyển, giao hoán và phân phối. Vì vậy, mỗi truy vấn có một số (có tiềm năng lớn) của biểu thức tương đương, tạo nên không gian tìm kiếm. Các biểu thức là tương đương về các kết quả mà họ tạo ra, nhưng có thể rất khác nhau về chi phí của họ. Như vậy, tối ưu hóa truy vấn sửa đổi các biểu thức truy vấn, bằng phương tiện của

- 36 -

các quy tắc chuyển đổi đại số, trong một nỗ lực để có được một trong đó tạo ra cùng một kết quả với chi phí thấp nhất.

Các quy tắc chuyển đổi được rất nhiều phụ thuộc vào đại số đối tượng cụ thể, kể từ khi họ được định nghĩa riêng biệt cho từng đại số đối tượng và cho các kết hợp của họ. Việc thiếu một định nghĩa tiêu chuẩn đại số đối tượng đặc biệt lo ngại vì cộng đồng không thể hưởng lợi từ những khái quát của đại số nghiên cứu rất nhiều đối tượng. với sự khác biệt đặc biệt quan trọng.Các cân nhắc chung cho định nghĩa các quy tắc chuyển đổi và thao tác các biểu thức truy vấn là khá tương tự như hệ thống quan hệ các biểu thức truy vấn quan hệ được định nghĩa về quan hệ đối bằng phẳng, trong khi các truy vấn đối tượng được xác định trên lớp (hoặc các tập hợp hoặc bộ các đối tượng) có mối quan hệ thừa kế giữa họ. do đó, có thể sử dụng ngữ nghĩa của các mối quan hệ trong tối ưu hóa truy vấn hướng đối tượng để đạt được một số biến đổi bổ sung.

Xem xét, ví dụ, các đại số đối tượng quy định tại [7] mà toán tử làm việc và sản xuất bộ đối tượng. Xem xét ba toán tử union (ký hiệu là ), intersection (ký hiệu là ) và tham số select (ký hiệu là P δF <Q1…Qk>), nơi unionintersection

có các thiết lập lý thuyết ngữ nghĩa thông thường và chọn lựa chọn các đối tượng từ một tập P sử dụng bộ các đối tượng Q1…Qk là tham số (theo nghĩa một hình thức generalied của semijoin). Sau đây là một số các quy tắc chuyển đổi mà có thể được áp dụng trong thời gian tối ưu để có được các biểu thức truy vấn tương đương (để sử dụng ngắn gọn dùng biểu thị Qset cho Q1…Qk; RSet được định nghĩa tương tự):

Quy tắc 1 chụp giao hoán của select, trong khi quy tắc 2 là bắt mà chọn phân phối qua union. Quy tắc 3 là một sự đồng nhất trong đó sử dụng thực tế là chỉ chọn hạn chế đầu vào và trả về của một tập hợp con của đối số đầu tiên của nó.

- 37 -

Hai quy tắc đầu tiên là khá chung mà họ đại diện tính tuơng đương được thừa kế từ lý thuyết tập hợp. Việc một phần ba là một quy tắc chuyển đổi đặc biệt cho

Một phần của tài liệu Truy vấn cơ sở dữ liệu hướng đối tượng sử dụng biểu thức đường dẫn (Trang 28)