330 likes | 655 Views
پايگاه داده ويژه XML و سيستمهای ارزيابی کارايی مربوطه. اميررضا يزدان شناس هومن بنده مقدم. XML به عنوان يک پايگاه داده . ذخيره سازی(سند XML ) شماها (DTDs, XML Schemas) زبانهای پرس و جو (XQuery, XPath , XQL) واسطهای برنامه نويسی (SAX, DOM, JDOM) مزايا خود-توضيح قابليت حمل
E N D
پايگاه داده ويژه XML وسيستمهای ارزيابی کارايی مربوطه اميررضا يزدان شناس هومن بنده مقدم
XML به عنوان يک پايگاه داده • ذخيره سازی(سند XML) • شماها (DTDs, XML Schemas) • زبانهای پرس و جو (XQuery, XPath, XQL) • واسطهای برنامه نويسی (SAX, DOM, JDOM) • مزايا • خود-توضيح • قابليت حمل • نمايش داده در قالب درختی • معايب • دسترسی کند به داده
XML به عنوان يک پايگاه داده (ادامه) • کمبودها: • ذخيره سازی بهينه • Indexes • امنيت • تراکنش • دسترسی چند کاربره
مستندات داده-محور • استفاده برای انتقال داده • طراحی شده برای استفاده ماشينی • خصوصيات مستندات داده-محور: • ساختار منظم • داده های ريز دانه • عدم وجود داده های مرکب • منشا دادهها: • داخل يا خارج پايگاه داده • legacy data • داده های علمی سيستمهای اندازه گيری
مستندات متن-محور • عموما طراحی شده برای استفاده انسان • کتابها • پست الکترونيکی • تبليغات • سندهای دست نويس XHTML • خصوصيات: • ساختارهای بدون نظم • داده های درشت دانه • حجم بالای داده های مرکب • ترتيب قرار گرفتن عناصر مجاور مهم است
پيدايش پايگاه داده ويژه XML(XML Native Database) • درتبليغات نرمافزار Tamino توسط Software AG مطرح شد • به خاطر موفقيت Tamino همه گير شد • نکته منفی: • تعريف صوری و تکنيکی برای اين واژه موجود نبود
تعريف • يک پايگاه داده بومی XML دارای شریط زیر است: • يک مدل منطقی برای يک مستندXML ارايه می شود: • نه برای داده موجود در سند • شامل • Elements • Attributes • PCDATA • Document Order • واحد بنيادين در ذخيره سازی: يک مستندXML • معادل رديف (tuple, row) در پايگاه داده ی رابطه ای • مدل ذخيره سازی فيزيکی خاص لازم نيست
پايگاه داده ويژه XML مبتنی بر متن • XML به صورت متن ذخيره می شود • اشتراک بين تمامی پايگاه های داده موجود: indexes • امکان جهش به هر نقطه در سند XML توسط موتور پرس و جو • در هنگام بازيابی: • Single index lookup • Single head positioning • Single read • بر خلاف پايگاههای داده رابطهای که در آنها موارد زیر وجود دارد: • Reassembling a document from pieces • Multiple index lookup • Multiple disk reads
پايگاه داده محلی XML مبتنی بر مدل • ابتدا يک مدل شي ای از سند ساخته می شود • سپس اين مدل ذخيره می شود • نحوه ذخيره سازی به پايگاه داده بستگی دارد • پايگاه داده رابطه ای • پايگاه داده شی گرا • قالبهای ذخيره سازی اختصاصی بهينه • نتايج کارآيی مانند پايگاه داده مورد استفاده
محصولات کنونی پايگاه داده • Lore • eXist • Xindice • DBDOM • DOM-Safe • XIS • Tamino
Lore • ذخيره سازی داده های نيمه ساختار يافته و داده های XML • اجرا بر روی سيستمهای SUN و Linux • زبان پرس و جو Lorel • ارايه تکنولوژی DataGuides • ساختاری اجمالی از تمامی مسيرها • انتخاب پرس و جو از روی مسيرها • امکان جستجوی تقريبی
eXist • يک سيستم پايگاه داده با کد باز • قابل اجرا روی تمامی سيستمهای عامل • مديريت مستندات در قالب مجموعه ها • پردازش پرس و جوها به صورت Index-based
Xindice • يک سيستم کد باز در زبان Java • امکان ذخيره سازی داده ها با سايز کوچک و متوسط • پشتيبانی از زبانهای پرس و جوی XPath و XUpdate • قدرت Indexing بالا
روشهای استاندارد در ارزيابی پايگاه دادها • آزمون تعيين کارآيی پايگاه داده • مجموعه ای مشخص از برنامه ها و داده ها • روشهای کنونی عموما برای پايگاههای داده رابطه ای • TP1 • Wisconsin • Buckyتنها سيستم موجود برای ارزيابی پايگاه های داده شی-رابطه ای
ارزيابی کارآيی TP1 • سه روش ارزيابی کارآيی اساسی: • Sort • Scan • Debit credit • کارايی ورودی و خروجی در دو معيار اول • کارايی پردازش تراکنشها در معيار دوم • مرتب سازی بر اساس کليد • تمامی نتايج بر اساس زمان صرف شده
ارزيابی کارايی Wisconsin • مجموعه ای از پرس و جو های متمرکز • اندازه گيری عمليات شامل: • Selection • Projection • Join • Update • Aggregate functions • زمان مصرفی به عنوان پارامتر اندازه گيری
سيستم ارزيابی کارآيی TPC • مجموعه ای از پردازشهای تراکنشی و معيارهای ارزيابی کارايی • پارامتر اصلی تعداد تراکنشهای پاسخ داده شده در واحد زمان • انواع مختلف سيستم ارزيابی کارايی TPC • TPC-C • TPC-H • TPC-R • TPC-W
XBench • تهيه شده در دانشگاه واترلو • مبتنی بر عملکرد (Functionality) و کلاس مستندات • پوشش اکثر عملکرد Xquery • کلاس مستندات • تک مستند داده-محور • چند مستند داده-محور • تک مستند متن-محور • چند مستند متن-محور
تولید داده در Xbench • مستندات از 10 مگابایت تا 10 گیگابایت • استفاده از تولیدکننده داده ToXgene • استفاده از الگو برای تولیدات مستندات • توزیعهای نامتقارن برای تنظیم تعداد تولید عناصر • تغيير ساختار و حجم مستند تنها با تنظیم چند پارامتر • پياده سازی شده در Java
پرسشهای XBench • پوشش اکثر اعمال Xquery • تساوی کامل • توابع کاربردی • دسترسی ترتیبی • توابع مقداری • جستجوی متن • ارجاعات • پیوندها • تبدیل نوع داده • پرسشها براساس چهار نوع مستند • 19 پرسش برای هر نوع مستند
XMark • تولیدکننده مستند Xmlgen • دادههای يک سامانه حراج اینترنتی را مدل میکنند • الگو برای تعیین تعداد و نوع عناصر • تعیین پارامترهای الگو با توزیعات احتمالی • استفاده از هفده هزار لغت نمایشنامههای شکسپیر • دارای شما و DTD • پياده سازی شده در ANSI c • جم مستند 100 مگابایت، با فاکتور بزرگنمایی 1.0 • نیاز به حافظه ناچیز (کمتر از 2 مگا بايت)
پرسشهای XMark • پوشش اکثر عملکرد XQuery • پرسشهای ساده رابطه ای • حافظ ترتیب(Order Preserving) • توابع تجمع سازی (Aggregate functions) • ارجاعات • مرتبکردن
XMach-1 • تولید شدهدر دانشگاه لایپزیگ در سال 2000 میلادی • چند کاربره (Multi user) • شبیه سازی يک برنامه کاربردی تحت وب • معماری سیستم • پایگاه داده XML • سرورهای برنامه کاربردی • بارگذاران داده • مشتریان جستجوگر • پياده سازی شده در Java
مولد مستندات XMach-1 • محتوا از میان 10000 لغت پر استفاده انگلیسی • هر فایل XML توليد شده: • یک مقاله را شبیه سازی میکنند • شامل عنوان، بخش، زیربخش، پاراگراف و ... • پشتیبانی مستندات شما–محور و بدون شما • حجم فایل متغير از 2 تا 100 کیلو بایت • ساختار متغير از تک سطحی تا کاملاً سلسله مراتبی • تغییر حجم پایگاه داده با تعداد فایلهای XML • 10000 تا 10000000 فايل
پرسشهای XMach-1 • شامل • 8 پرس و جو • دوباره سازی مستندات پیچیده • واکشی کل متن • عملگرهای مرتب سازی • گروه بندی • 3 عمايات به روزآوری • درج • حذف • معیار کارایی: توان عملیاتی ( Throughput )
X007 • بر پایه سیستم ارزیابی کارایی شناخته شده 007 • تغيير يافته برای XML • ترجمه دیاگرام های ER به DTD • پیش–پردازش ارثبری صفات به جای رابطه IS-A در ER • پشتيبانی از مستندات داده–محور و مستند–محور • تغییر حجم مستند با تغییر عمق و پهنای درخت مستند
پرسشهای X007 • مبتنی بر Xquery • حفظ ترتیب داده • جستجوی متن یا واژه کلیدی • مرتب سازی داده • توابع تجمع سازی
مراجع [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] TimoBöhme. “Benchmarking XML Database Systems-First Experiences”, Proceedings of the 20th International Conference on Data Engineering, 2004 (ICDE’04)