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

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 - 47)

L ỜI CÁM ƠN

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

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.

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.

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à

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 ệ ấ ứ

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

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.

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

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

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ý

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 - 47)

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

(65 trang)