در طول چند سال اخیر زبان افزایش نرخ توسعه پذیر (XML) فرمت دیتای قالب برای تبادل اطلاعات شده است.با تکثیر دیتا در این فرمت برای پرس و جو و مداخله ی اسناد xml انگیزه ایجاد می شود. XQuery پروپوزال غالب برای یک استاندارد زبان پرس و جوی XML بومی است. بهینه سازی پرس و جو ثابت کرد بنیان موفقیت برای سیستم های مدیریت پایگاه های داده ای رابطه ای می باشد.با این وجود،در حالیکه اجراهای XQuery زیادی وجود دارد ، اکثریت قریب به اتفاق آنها دچار کمبود یک بهینه ساز پرس و جو هستند.
ما باور داریم یک فرصت مهم برای سازگاری و توسعه ی تکنیک های بهینه سازی رابطه ای در سیستم های XML وجود دارد. مانند سیستم های رابطه ای، ما می توانیم به بهینه سازی پرس و جوی XML به صورت یک ترکیب از هر دو مرحله نگاه کنیم: انتخاب روش دسترسی و انتخاب ترتیب الحاقی ( این مراحل جدا یک ساده سازی است که برای پرس و جوی های select- project-Join SQL بدون هیچ گونه پرس و جوی فرعی به کار می رود).در سیستم های رابطه ای، اپراتورهای دستیابی دیتا همچنین با عملیات های انتخاب و طرح ریزی همراهند.
این دستاورد می تواند برای مدل XML هم به کار رود با یک تفاوت عمده: در مدل XML گزاره های انتخاب ،عبارات XPATH هستند.ارزیابی این عبارات مسیر از طریق روش های دستیابی مختلف به کار رفته در موتورهای XML حجم تحقیقات را در ارزیابی پرس و جوی XML نشان می دهد.
روش هایی که برای ارزیابی عبارات XPATH هستند با این فرضیه توسعه یافته اند که پردازنده ی پرس و جو باید شرایط انتخاب را به کار ببرد در حالی که از در سند جریان دارد. کار گسترده ای بر روی پردازنده های XPATH [5,9,12,15,21,22] وجود دارد.این اجراها از نظریه ی ماشین های خودکار برای ارزیابی بر روی پرواز شماری از عبارات XPATH استفاده می کند.هر یک از این پردازنده ها می توانند به یک روش دستیابی به صورت کپسول درایند و محافظت شوند.
زمانیکه یک سیستم XML بومی ذخیره سازی اسناد XML را کنترل می کند، شرایط پردازش جریان می تواند آرام شود.در نتیجه اسناد XML می توانند به ساختارهای دیتای هدف ویژه از قبل تجزیه شوند تا به کارگیری پرس و جو را تسریع نمایند.یک چنین ساختار دیتایی از این نماد گرفته می شود که در جبر ناحیه به کار رفته است،در جاییکه یک فایل وارون شده همانند ساختار با نام عنصر begin آغاز می شود و سطح ناحیه ی متن هر عنصر به کار می رود.استفاده از این نوع ساختارهای دیتا برای ارزیابی عبارات مسیر معادل با اتصالات بین فهرست های نواحی عنصر است که به صورت پرس و جوهای محدود یا اتصالات ساختاری مورد ارجاع قرار می گیرند.
در مدل رابطه ای یک پرس و جوی SQL به یک عبارت جبری رابطه ای تبدیل می شود و بعد بهینه سازی می شود. بسیاری از این اجراها XQUERY از همان دستاورد استفاده می کنند،گرچه بسیاری از جبرها در آثار مکتوب به سادگی یک API است و بر مبنای برخی معانی رویه ای است.برای نمونه، گلکس XQUERY را به CORE XQUERY تبدیل می کند. سایر سیستم های XQUERY همانند Timber,Niagara, Natix, TOX فقط بر روی یک جبر XML منطقی تکیه دارند. در این بین سیستم هایی مانند BEA/SQRL وجود دارند که XQUERY را به یک نمایش داخلی تبدیل می کنند و بهینه سازی مبتنی بر ابتکار را انجام می دهند. نهایتا سیستم های XQUERY یک مجموعه از متدهای دستیابی را اجرا می کنند.
یک عبارت XQUERY مکررا حاوی عبارات فرعی xpath است مانند نمونه ی داده شده در شکل 1.
پرس و جوی نمونه یک سند عرضه کننده و یک سند کاتالوگ را بر مبنای شماره ی عرضه کننده، برگرداندن اسم و توصیف اقلام در کاتالوگ را برای آن دسته از عرضه کنندگانی که در موقعیت مکانی تورنتو، آنتاریو هستند به هم وصل می کند. عبارات xpath که در پرس و جوی فوق روی می دهند برای سند عرضه کننده به کار می رود که به صورت زیر است:
‘//supplier’, `//supplier/supplier_no’, ‘//supplier/city’ و `//supplier/province’. یک قطعه یک سند عرضه کننده ی نمونه است که در شکل 2 نشان داده شده است.
گرچه هریک از عبارات xpath در یک عبارت XQUERY همانند نمونه ی فوق می تواند به طور مجزا محاسبه شود، یک دستاورد خیلی بهتر گروه بندی پرسش های xpath است.گروه عبارات xpath که برای سند خاصی به کار می رود ( همانند عرضه کنندگان در نمونه ی فوق) می تواند در یک پاس تکی از طریق سند محسوب شوند.بیشتر پردازنده های xpath هم چنین الگوریتم های اتصال ساختاری بدیع از این دستاورد پشتیبانی می کنند.
بهینه سازی پرس و جوی رابطه ای بر روی اطلاعات طرح تکیه دارد. در مدل دیتای xml اطلاعات داده شده از طریق طرح های xml (یا از طریق DTDs) شرایط را برای اعتبار سند مشخص می نماید. با این وجود یک طرح xml ضرورتا خیلی در مورد ساختارهایی که در یک جمع آوری اسناد xml روی می دهد وصفی نیست.به این صورت اطلاعات طرح xml برای بهینه سازی کاملا مناسب نیست. با این وجود، ساختارهای دیتای مختلفی وجود دارد که به صورت طرح قابل کاربرد است به ویژه برای اندکس های مسیر.یک اندکس مسیر همچنین به صورت یک اندکس ساختاری یا به صورت خلاصه ی ساختاری شناخته شده است، یک خلاصه را از مسیرهایی نشان می دهد که در یک سند روی می دهند. یعنی برای هر مسیر مجزایی در یک سند xml یک مسیر مجزا در اندکس مسیر وجود دارد یا یک تخمین از آن.زیرا یک اندکس مسیر طرح موجود را از سند بازتاب می کند،آن می تواند برای بهینه سازی یک حالت مشابه نسبت به یک طرح رابطه ای به کار رود.
در این مقاله ما یک دستاورد جامع را برای بهینه سازی پرس و جوی xml توصیف می کنیم که با چند مشخصه بدیع همراه است.توصیف در این مقاله بر روی بهینه سازی مبتنی بر هزینه ی toxop برای tox تمرکز دارد.
مداخلات مهم که از طریق topxop نشان داده شده اند عبارتند از:
- یک دستاورد دو سطحی اصلی برای بهینه سازی مبتنی بر هزینه.سطح بالاتر از انتخاب ترتیب اتصال سنتی تشکیل می شود همراه با انتخاب مبتنی بر هزینه ی متدهای دستیابی.بهینه سازی مبتنی بر هزینه ی سطح پایین تر کلا در متد دستیابی انجام می گیرد که از اندکس های مسیر بهره می برد.
- انتخاب مبتنی بر هزینه ی سطح بالا بر مبنای دو متد دسترسی است که ویژه ی پردازش پرس و جوی xml است.متد دسترسی اول از تطبیق الگوی جریان ( تک پاس) در اسناد xml پشتیبانی می کند، در حالیکه متد دسترسی دوم از ساختارهای اندکس مسیر برای الگوهای تطبیق دهنده در اسناد xml از پیش پردازش شده بهره می برد.
- بهینه سازی مبتنی بر سطح پایین تر مشخص می کند چطور اندکس مسیر پیمایش خواهد شد.این انتخاب در متد دسترسی دوم که در بالا توصیف شده استبه صورت کپسول محافظت شده است. این متد دسترسی هم چنین هرس الگوهایی را که باید در برابر اندکس مسیر تطبیق یابند را محافظت می کند.همراه داشتن اندکس مسیر در بهینه سازی سطح پایین تر دارای مزایای محدود نموده فضای جستجوی برنامه و به کارگیری یک مدل هزینه بر مبنای آمار ویژه ی xml است.
- دو متد دستیابی که از طریق toxop به کار رفته اند همان مدل دیتا را به صورت اپراتورهایی در جبر منطقی xml بومی به اشتراک می گذارند.آنها بر روی مجموعه هایی از درختان در هر دو سطح کار می کنند که باید با اجراهای xml در آثار متضاد باشد که متدهای دسترسی اتصال ساختاری را به کار می برند که بر روی مجموعه هایی از درختان در سطح منطقی کار می کنند اما به عملیات های روی ندها در سطح فیزیکی جایگزین می شوند.
ما باید در اینجا شباهت کاری را ذکر کنیم که ما در بافت xml ارائه می نمایید با کار قبل تر که در زمینه ی بهینه سازی پرس و جو برای دیتابیس های متمایل به شی (OODB) بود.برای نمونه روابط پشتیبانی دسترسی (ASRs) یک مکانیسم اندیس کننده را برای راه هایی مانند اندکس های مسیر xml ارائه می نماید.با وجود شباهت ها، در بافت OODB اطلاعات طرح شناخته شده است در حالی که مکررا در مورد بافت xml این اتفاق نمی افتد.به علاوه، ASRs ممکن است فقط برخی از مسیرها را از مورد دیتابیس پوشش دهد، در حالی که در بافت xml اندکس های مسیر کل مسیرها را از مورد سند پوشش می دهد.نهایتا کار قبلی بر روی بهینه سازی که با ASRS همراه است متد دستیابی مبتنی بر هزینه ی دو سطحی را که در این مقاله معرفی شده اند به کار نمی رود.
در بخش زیر ما انتخاب متد دستیابی مبتنی بر هزینه را توسط TOXOP مطرح می کنیم ( بهینه سازی سطح بالا). بخش 3 استفاده از اندکس های مسیر را در یک متد دستیابی توصیف می کند که بهینه سازی مبتنی بر هزینه ی سطح پایین را انجام می دهد.ما از طریق ذکر کردن تحقیقات آینده در بخش 4 نتیجه گیری می کنیم.