قاعدة بيانات XML
قاعدة بيانات XML هي نظام برمجي لتخزين البيانات يسمح بتحديد البيانات وتخزينها بصيغة XML. يمكن الاستعلام عن هذه البيانات وتحويلها وتصديرها وإعادتها إلى النظام المُستدعي. تُعد قواعد بيانات XML نوعًا من قواعد البيانات الموجهة نحو المستندات، والتي بدورها تُصنف ضمن فئات قواعد البيانات.
مبررات استخدام XML كصيغة لقواعد البيانات
تشمل أسباب تخزين البيانات بتنسيق XML كقاعدة بيانات XML ما يلي: [ 1 ] [ 2 ]
- قد تمتلك المؤسسة العديد من مستندات XML التي تحتوي على بيانات متشابهة، ولكنها موزعة بتنسيقات XML مختلفة. سيؤدي تجميع هذه البيانات في بنية قاعدة بيانات XML موحدة إلى تجنب مشاكل التوافق.
- قد يلزم عرض البيانات أو استيعابها بصيغة XML، لذا فإن استخدام تنسيق آخر مثل العلاقات العامة يؤدي إلى نمذجة البيانات بشكل مزدوج
- تُعد لغة XML مناسبة جدًا لتحليل البيانات، والبيانات المتداخلة بعمق، والمحتوى المختلط (مثل النصوص التي تحتوي على علامات ترميز مضمنة).
- لغة XML سهلة القراءة من قبل البشر، بينما تتطلب الجداول العلائقية خبرة للوصول إليها
- تتوفر البيانات الوصفية غالبًا بصيغة XML
- تتوفر بيانات الويب الدلالي بصيغة RDF / XML
- يوفر حلاً لمشكلة عدم تطابق المعاوقة بين الكائنات والعلاقات [ 3 ]
- التوافق مع استخدام XML في طبقة نقل البيانات
قواعد البيانات التي تدعم لغة XML
توفر قواعد البيانات التي تدعم لغة XML عادةً واحدة أو أكثر من الطرق التالية لتخزين XML ضمن البنية العلائقية التقليدية:
- يتم تخزين XML في كائن CLOB ( كائن حرفي كبير )
- يتم "تقسيم" XML إلى سلسلة من الجداول بناءً على مخطط [ 4 ]
- يتم تخزين XML في نوع XML أصلي كما هو محدد بواسطة معيار ISO 9075-14 [ 5 ]
أنظمة إدارة قواعد البيانات العلائقية التي تدعم نوع ISO XML هي:
عادةً ما تكون قاعدة البيانات التي تدعم XML هي الأنسب عندما تكون غالبية البيانات غير بتنسيق XML. أما بالنسبة لمجموعات البيانات التي تكون غالبية بياناتها بتنسيق XML، فإن قاعدة البيانات الأصلية بتنسيق XML هي الأنسب.
مثال على استعلام من نوع XML في لغة SQL لقاعدة بيانات IBM DB2
حدد المعرف ، والمجلد ، واسم المجلة ( '$j/name' , تمرير اسم المجلة كـ "j" ) من جدول المجلات حيث يوجد ملف XML ( '$j[licence="CreativeCommons"]' , تمرير اسم المجلة كـ "j" )قواعد بيانات XML الأصلية
تُعدّ قواعد بيانات XML الأصلية مُصممة خصيصًا للتعامل مع بيانات XML. ونظرًا لأن إدارة XML كسلاسل نصية كبيرة غير فعّالة، ولطبيعة XML الهرمية، تُستخدم هياكل بيانات مُحسّنة مُخصصة للتخزين والاستعلام. وهذا عادةً ما يُحسّن الأداء، سواءً من حيث استعلامات القراءة فقط أو التحديثات. [ 10 ] تُشكّل عُقد ومستندات XML الوحدة الأساسية للتخزين (المنطقي)، تمامًا كما تحتوي قاعدة البيانات العلائقية على حقول وصفوف. ومن أهمّ ما يُؤخذ في الاعتبار أن قواعد بيانات XML الأصلية تحتاج إلى مساحة تخزين أكبر لتخزين البيانات والفهارس مقارنةً بقواعد البيانات المُفعّلة لـ XML. ومع ازدياد حجم قاعدة بيانات XML الأصلية، تزداد احتياجات التخزين بشكلٍ كبير. [ 11 ]
المعيار المعتمد للاستعلام عن بيانات XML وفقًا لتوصيات اتحاد شبكة الويب العالمية (W3C) هو XQuery ؛ وأحدث إصدار منه هو XQuery 3.1. [ 12 ] يتضمن XQuery لغة XPath كلغة فرعية، كما أن XML نفسه صيغة فرعية صالحة لـ XQuery. بالإضافة إلى XPath، تدعم بعض قواعد بيانات XML لغة XSLT كوسيلة لتحويل المستندات أو نتائج الاستعلامات المسترجعة من قاعدة البيانات.
خصائص اللغة
| اسم | رخصة | اللغة الأم | XQuery 3.1 | XQuery 3.0 | XQuery 1.0 | تحديث XQuery | نص كامل XQuery | امتدادات EXPath | ملحقات الاستعلام | XSLT 2.0 | XForms 1.1 | XProc 1.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BaseX | بي إس دي | جافا | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا |
| يخرج | رخصة جنو العمومية العامة المحدودة | جافا | جزئي | جزئي | نعم | ملكية خاصة | ملكية خاصة | نعم | نعم | نعم | نعم | نعم |
| خادم MarkLogic | تجاري | لغة سي++ | لا | جزئي | نعم | ملكية خاصة | ملكية خاصة | لا | لا | نعم | نعم | لا |
| OpenText xDB | تجاري | جافا | جزئي | جزئي | نعم | نعم | نعم | لا | لا | لا | لا | لا |
| أوراكل بيركلي دي بي XML | تجاري | لغة C/C++ | ||||||||||
| كيزكس | تجاري | جافا | لا | لا | نعم | نعم | نعم | لا | لا | نعم | لا | لا |
| سيدنا | رخصة أباتشي 2.0 | لغة C/C++ |
واجهات برمجة التطبيقات المدعومة
| اسم | XQJ | XML:DB | مريح | RESTXQ | WebDAV |
|---|---|---|---|---|---|
| BaseX | نعم | نعم | نعم | نعم | نعم |
| يخرج | نعم | نعم | نعم | نعم | نعم |
| خادم MarkLogic | نعم | لا | نعم | نعم | نعم |
| كيزكس | لا | لا | نعم | لا | لا |
| سيدنا | نعم | نعم | لا | لا | لا |
مراجع
- ↑ نيكولا، ماتياس (28 سبتمبر 2010). "5 أسباب لتخزين XML في قاعدة بيانات" . قاعدة بيانات XML الأصلية . مؤرشف من الأصل في 25 مارس 2015. تم الاطلاع عليه في 17 مارس 2015 .
- ↑ فيلدمان، دامون (11 أبريل 2013). الانتقال من النمذجة العلائقية إلى نماذج بيانات XML وMarkLogic . عالم MarkLogic . تم الاطلاع عليه في 17 مارس 2015 .
- ↑ [مختصر قواعد بيانات NoSQL: دليل موجز لعالم استمرارية قواعد البيانات متعددة اللغات الناشئ. دار نشر أديسون-ويسلي التعليمية، 2009] ISBN 978-0321826626
- ↑ "تخزين مخطط XML والاستعلام عنه: أساسيات" . دليل مطوري قاعدة بيانات XML من أوراكل، الإصدار 10g ، الإصدار 2. شركة أوراكل. أغسطس 2005. تم الاطلاع عليه بتاريخ 17 مارس 2015 .قسم إنشاء جداول وأعمدة من نوع XML بناءً على مخطط XML
- ↑ "ISO/IEC 9075-14:2011: تكنولوجيا المعلومات - لغات قواعد البيانات - SQL - الجزء 14: المواصفات المتعلقة بـ XML (SQL/XML)" . المنظمة الدولية للتوحيد القياسي . 2011. تم الاطلاع عليه بتاريخ 17 مارس 2015 .
- ↑ "نظرة عامة على pureXML - DB2 كقاعدة بيانات XML" . مركز معارف IBM . IBM . تم الاطلاع عليه بتاريخ 17 مارس 2015 .
- ↑ "استخدام XML في SQL Server" . شبكة مطوري مايكروسوفت . شركة مايكروسوفت . تم الاطلاع عليه بتاريخ 17 مارس 2015 .
- ↑ "عمليات أنواع XML" . دليل مطوري قاعدة بيانات XML من أوراكل، الإصدار 10g ، الإصدار 2. شركة أوراكل. أغسطس 2005. تم الاطلاع عليه بتاريخ 17 مارس 2015 .
- ↑ "8.13. نوع XML" . وثائق PostgreSQL 9.6 . تم الاطلاع عليه في 1 أبريل 2017 .
- ↑ ماتياس، نيكولا (22 أغسطس 2010). "أداء XML مقابل أداء قواعد البيانات العلائقية" . قاعدة بيانات XML الأصلية . مؤرشف من الأصل في 4 مارس 2017. تم الاسترجاع في 28 يونيو 2017 .
- ↑ بالاموروغان، س. (مايو 2017). "تقييم أداء قاعدة بيانات XML الأصلية وقاعدة البيانات التي تدعم XML" (ملف PDF) . المجلة الدولية للبحوث المتقدمة في علوم الحاسوب وهندسة البرمجيات . 7 (5): 1-10 .
- ↑ "توصية XQuery 3.1" . 2017-03-21.
- XML
- إدارة البيانات
- نمذجة البيانات
- قواعد بيانات XML
- أنظمة إدارة قواعد البيانات
