1 / 24

پايگاه داده محلی XML

پايگاه داده محلی XML. اميررضا يزدان شناس هومن بنده مقدم. آيا XML يک پايگاه داده می باشد؟. بله: در شرايط خاص مجموعه ای ازداده ها مانند تمامی فايلها. آيا XML يک پايگاه داده می باشد؟ (ادامه). مزايا خود-توضيح قابليت حمل نمايش داده در قالب درختی معايب دسترسی کند به داده.

helmut
Download Presentation

پايگاه داده محلی XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. پايگاه داده محلی XML اميررضا يزدان شناس هومن بنده مقدم

  2. آيا XMLيک پايگاه داده می باشد؟ • بله: در شرايط خاص • مجموعه ای ازداده ها • مانند تمامی فايلها

  3. آيا XMLيک پايگاه داده می باشد؟ (ادامه) • مزايا • خود-توضيح • قابليت حمل • نمايش داده در قالب درختی • معايب • دسترسی کند به داده

  4. XML به عنوان يک DBMS • ذخيره سازی(سند XML) • شماها (DTDs, XML Schemas) • زبانهای Query(XQuery, XPath, XQL) • واسطهای برنامه نويسی (SAX, DOM, JDOM)

  5. XML به عنوان يک DBMS(ادامه) • کمبودها: • ذخيره سازی بهينه • Indexes • امنيت • تراکنش • دسترسی چند کاربره • …

  6. داده و مستند • موارد استفاده از XML: • ذخيره سازی داده • ذخيره سازی مستندات • انتقال داده بين پايگاه داده و application در مورد اول • مستندات XHTML و DocBook در مورد دوم

  7. مستندات داده-محور • استفاده برای انتقال داده • طراحی شده برای استفاده ماشينی • خصوصيات مستندات داده-محور: • ساختار منظم • داده های ريز دانه • عدم وجود داده های مرکب • منشا داده‌ها: • داده ها می توانند در داخل و يا خارج پايگاه داده توليد شوند • حجم بالای legacy data ذخيره شده در پايگاه های داده • داده های علمی جمع آوری شده از سيستمهای اندازه گيری

  8. مستندات متن-محور • عموما طراحی شده برای استفاده انسان • کتابها • پست الکترونيکی • تبليغات • سندهای دست نويس XHTML • خصوصيات مستندات متن-محور: • ساختارهای بدون نظم • داده های درشت دانه • حجم بالای داده های مرکب • ترتيب قرار گرفتن عناصر مجاور حايز اهميت می باشد

  9. پيدايش پايگاه داده محلی XML(XML Native Database) • اصطلاح مذکور درتبليغات نرم‌افزار Tamino توسط شرکت Software AG مطرح گرديد. • اين اصطلاح به خاطر موفقيت Tamino همه گير شد. • نکته منفی: هيچ تعريف صوری و تکنيکی برای اين واژه موجود نبود.

  10. تعريف • يک پايگاه داده محلی XML درای شریط زیر است: • يک مدل منطقی برای يک مستندXML ارايه می شود: • نه برای داده موجود در سند • اين مدل شامل elements، attributes ، PCDATA و Document Order می باشد. • واحد بنيادين در ذخيره سازی: يک مستندXML • معادل رديف (tuple, row) در پايگاه داده ی رابطه ای • وجود مدل ذخيره سازی فيزيکی خاص لازم نيست.

  11. معماری های موجود • تقسيم شده به دو مجموعه اساسی: • مبتنی بر متن • مبتنی بر مدل

  12. پايگاه داده محلی XML مبتنی بر متن • XML به صورت متن ذخيره می شود. • اشتراک بين تمامی پايگاه های داده موجود: indexes • امکان جهش به هر نقطه در سند XML توسط موتور پرس و جو • در هنگام بازيابی: • Single index lookup • Single head positioning • Single read • بر خلاف پايگاه‌های داده‌ رابطه‌ای که در آنها موارد زیر وجود دارد: • Reassembling a document from pieces • Multiple index lookup • Multiple disk reads

  13. پايگاه داده محلی XML مبتنی بر متن(ادامه) • کارايی: • مشابه پايگاه داده سلسله مراتبی: • در صورت بازيابی بر اساس يک سلسله مراتب از پيش تعريف شده هر دو از پايگاه داده رابطه ای بهتر عمل می کنند. • در حالت های ديگربازيابی مشکلات کارآيی دارند. • مانند بالعکس کردن سلسله مراتب • بر خلاف پايگاه داده رابطه ای: • استفاده ازاشاره گرهای منطقی • پرس و جو های با يک اندازه از پيچيدگی با سرعت يکسان انجام می شوند.

  14. پايگاه داده محلی XML مبتنی بر مدل • ابتدا يک مدل شي ای از سند ساخته می شود • سپس اين مدل ذخيره می شود • نحوه ذخيره سازی به پايگاه داده بستگی دارد • پايگاه داده رابطه ای • پايگاه داده شی گرا • قالبهای ذخيره سازی اختصاصی بهينه • نتايج کارآيی مانند پايگاه داده مورد استفاده

  15. پايگاه داده محلی XML مبتنی بر مدل(ادامه) • مقايسه کارايی: • سيستمهای مبتنی بر متن: • سريعتر در برگرداندن سندها به صورت متنی • سيستمهای مبتنی بر مدل: • سريعتر در برگرداندن سندها به صورت درختهای DOM

  16. خصوصيات پايگاه داده محلی XML موارد زير را بررسی می‌کنيم: • مجموعه مستندات • زبانهای پرس و جو • به روز آوری و پا ک کردن • Transactions, Locking, and Concurrency • Application Programming Interfaces (APIs)

  17. مجموعه مستندات (Collecions) • پشتيبانی شده توسط اکثر پايگاه های داده • معادل نقش جدول(table) در پايگاه داده رابطه ای • مشابه مفهوم Directories در File Systemها • مثال: • مجموعه سفارشات خريد • مجموعه برگردانده شده برای پرس و جو به مجموعه سفارشات خريد محدود می گردد. • مجموعه های تو در تو(Nested) در تمامی پايگاه های داده پشتيبانی نمی شود.

  18. زبان های پرس و جو • معروف ترين: XPath • گسترش يافته برای پرس و جو روی چندين مستند • Xquery • چندين و چند زبان اختصاصی(proprietary languages)

  19. به روز آوری و پا ک کردن • Xupdate • از گروه XML:DB • از زبان XPath برای مشخص کردن مجموعه ند‌ها استفاده می‌کند • Delete/inserte, before/after selected nodes • زبان Xquery به همراه الحاقات و ضمائم • By W3C XQuery working group • اما تا زمان اضافه نشدن syntax واقعی برای Update، انجام اين عمل مشکل خواهد بود

  20. TRANSACTIONS, LOCKING, AND CONCURRENCY • تمامی پياده سازی های موجود از تراکنشها پشتيبانی می کنند. • اگر چه سطح قفل گذاری در حد سند می باشد! • همروندی چند کاربره اندک • به خود سند و نوع Application بستگی دارد • مشکل قفل کردن در سطح گره: پياده سازی • قفل کردن يک گره نيازمند قفل کردن پدر آن است. • در نتيجه پدر آن هم بايد قفل شود... • نهايتا منتج به ريشه می شود!

  21. TRANSACTIONS, LOCKING, AND CONCURRENCY(ادامه) • دليل قفل کردن پدر: • پردازه 1 قفل روی گره X می گيرد. • اگر گره های بالای X قفل نباشند پردازه 2 می تواند آنها را پاک کند. • در عمل باعث پاک شدن گره X می شود. • راه حل : • چک کردن اينکه آيا گره هدف در مسير از ريشه تا گره قفل شده قرار دارد.

  22. APPLICATION PROGRAMMING INTERFACES(API) • تمامی پايگاه های داده به نوعی از API پشتيبانی می کنند • معمولا در قالب يک واسط شبيه ODBC • روشهايی برای: • اتصال به پايگاه داده • Exploring metadata • اجرا کردن پرس و جوها • بازيابی نتايج • حرکت (Iterate) در مجموعه نتايج • در حالتی که چندين سند بازيابی می شود

  23. API(ادامه) • بازیابی نتايج در قالب: • XML string • يک درخت DOM • يک SAX Parser يا XML Reader روی سند بازگردانده شده • استانداردهای کنونی: • XML:DB API from XML:DB.org • مستقل از زبان برنامه نویسی (Programming language-neutral) • استفاده از XPath به عنوان زبان پرس و جو • گسترش يافته برای پشتيبانی از XQuery • JSR 225: XQuery API for Java (XQJ) • براساس JDBC • استفاده از XQuery به عنوان زبان پرس و جو • به وجود امده توسط Sun's Java Community Process (JCP) • پشتيبانی شده توسطIBM و Oracle ، مقبوليت تدريجی پيش بينی می شود!

  24. مراجع [1] M. Yao, et al., “XBench Benchmark and Performance Testing of XML DBMSs”, Proceedings of the 20th International Conference on Data Engineering, 2004 (ICDE’04) [2] D. Bitton, et al., “Benchmarking database systems, a systematic approach”, Proceedings VLDB Conference, October 1983 [3] XBench, Available at http://softbase.uwaterloo.ca/~ddbms/projects/xbench/ [accessed 01/03/2007] [4] XMark, Available at http://monetdb.cwi.nl/xml/index.html [accessed 01/03/2007] [5] XMark FAQ, Available at http://monetdb.cwi.nl/xml/faq.txt [accessed 01/03/2007]

More Related