قاعدة بيانات الكائنات

مثال على نموذج موجه للكائنات [ 1 ]

قاعدة بيانات الكائنات ، أو قاعدة البيانات الموجهة للكائنات، هي نظام لإدارة قواعد البيانات تُمثَّل فيه المعلومات على شكل كائنات ، كما هو مُستخدم في البرمجة الموجهة للكائنات . تختلف قواعد بيانات الكائنات عن قواعد البيانات العلائقية التي تعتمد على الجداول. أما النوع الثالث، وهو قواعد البيانات العلائقية الكائنية ، فهو مزيج من كلا النوعين. وقد بدأ الاهتمام بقواعد بيانات الكائنات منذ أوائل ثمانينيات القرن العشرين. [ 2 ]

ملخص

تجمع أنظمة إدارة قواعد البيانات الموجهة للكائنات (OODBMS)، والتي تُعرف أيضًا باسم ODBMS (نظام إدارة قواعد البيانات الكائنية)، بين إمكانيات قواعد البيانات وإمكانيات لغات البرمجة الموجهة للكائنات . تُمكّن هذه الأنظمة المبرمجين من تطوير المنتج، وتخزينه ككائنات، ونسخ الكائنات الموجودة أو تعديلها لإنشاء كائنات جديدة داخل النظام. ولأن قاعدة البيانات مُدمجة مع لغة البرمجة، يستطيع المبرمج الحفاظ على التناسق ضمن بيئة واحدة، حيث يستخدم كل من نظام إدارة قواعد البيانات ولغة البرمجة نفس نموذج التمثيل. في المقابل، تحافظ مشاريع أنظمة إدارة قواعد البيانات العلائقية على فصل أوضح بين نموذج قاعدة البيانات والتطبيق.

مع تزايد استخدام تقنيات الويب وتطبيق شبكات الإنترانت والإكسترانت، باتت الشركات مهتمة بشدة بأنظمة إدارة قواعد البيانات الموجهة للكائنات (OODBMS) لعرض بياناتها المعقدة. ويُعدّ استخدام نظام إدارة قواعد بيانات مصمم خصيصًا لتخزين البيانات ككائنات ميزةً للشركات التي تُركز على عروض الوسائط المتعددة أو المؤسسات التي تستخدم التصميم بمساعدة الحاسوب (CAD). [ 3 ]

صُممت بعض قواعد البيانات الموجهة للكائنات لتتوافق مع لغات البرمجة الموجهة للكائنات مثل دلفي ، وروبي ، وبايثون ، وجافا سكريبت ، وبيرل ، وجافا ، وسي شارب ، وفيجوال بيسك دوت نت ، وسي++ ، وأوبجكتيف سي ، وسمول توك ؛ بينما تستخدم قواعد بيانات أخرى، مثل JADE، لغات برمجة خاصة بها. وتستخدم أنظمة إدارة قواعد البيانات الموجهة للكائنات نفس نموذج لغات البرمجة الموجهة للكائنات.

تاريخ

نشأت أنظمة إدارة قواعد البيانات الكائنية من أبحاث أُجريت في أوائل ومنتصف سبعينيات القرن العشرين، وتميزت بدعمها المُدمج لإدارة قواعد البيانات للكائنات ذات البنية البيانية. ظهر مصطلح "نظام قاعدة بيانات كائنية التوجه" لأول مرة حوالي عام ١٩٨٥. [ ٤ ] من أبرز المشاريع البحثية: Encore-Ob/Server ( جامعة براون )، وEXODUS ( جامعة ويسكونسن-ماديسون )، وIRIS (هيوليت-باكارد)، وODE ( مختبرات بيل )، وORION ( شركة تكنولوجيا الإلكترونيات الدقيقة والحاسوب أو MCC)، وVodak (GMD-IPSI)، وZeitgeist (تكساس إنسترومنتس). حظي مشروع ORION بأكبر عدد من الأوراق البحثية المنشورة مقارنةً بالمشاريع الأخرى. قام وون كيم من شركة MCC بتجميع أفضل هذه الأوراق في كتاب نشرته مطبعة معهد ماساتشوستس للتكنولوجيا. [ ٥ ]

شملت المنتجات التجارية المبكرة Gemstone (Servio Logic، التي تغير اسمها لاحقًا إلى GemStone Systems)، وGbase (Graphael)، وVbase (Ontologic). ودخلت منتجات تجارية إضافية إلى السوق في أواخر الثمانينيات وحتى منتصف التسعينيات، منها ITASCA (Itasca Systems)، وJasmine (Fujitsu، التي سوّقتها Computer Associates)، وMatisse (Matisse Software)، و Objectivity/DB (Objectivity, Inc.)، و ObjectStore ( Progress Software ، التي استحوذت عليها من eXcelon التي كانت تُعرف سابقًا باسم Object Design, Incorporated )، وONTOS (Ontos, Inc.، التي تغير اسمها لاحقًا من Ontologic)، وO2 [ 6 ] ( O2 Technology ، التي اندمجت مع عدة شركات، واستحوذت عليها Informix ، التي استحوذت عليها IBM بدورها )، وPOET (التي تُعرف الآن باسم FastObjects من Versant التي استحوذت على Poet Software)، وVersant Object Database ( Versant Corporation)، وVOSS (Logic Arts)، و JADE (Jade Software Corporation). لا تزال بعض هذه المنتجات موجودة في السوق، وقد انضمت إليها منتجات جديدة مفتوحة المصدر وتجارية مثل InterSystems Caché .

أضافت أنظمة إدارة قواعد بيانات الكائنات مفهوم الاستمرارية إلى لغات برمجة الكائنات. دُمجت المنتجات التجارية الأولى مع لغات برمجة متنوعة، منها: GemStone ( Smalltalk )، وGbase ( LISP )، وVbase ( COP )، وVOSS (نظام تخزين الكائنات الافتراضي لـ Smalltalk ). هيمنت لغة C++ على سوق أنظمة إدارة قواعد بيانات الكائنات التجارية خلال معظم فترة التسعينيات . وفي أواخر التسعينيات، أضاف الموردون لغة Java ، ومؤخرًا لغة C# .

ابتداءً من عام 2004، شهدت قواعد بيانات الكائنات فترة نمو ثانية عندما ظهرت قواعد بيانات الكائنات مفتوحة المصدر والتي كانت ميسورة التكلفة وسهلة الاستخدام على نطاق واسع، لأنها مكتوبة بالكامل بلغات البرمجة الكائنية مثل Smalltalk أو Java أو C#، مثل db4o من Versant (db4objects) وDTS/S1 من Obsidian Dynamics و Perst (McObject)، والمتاحة بموجب ترخيص مزدوج مفتوح المصدر وتجاري.

الجدول الزمني

اعتماد قواعد بيانات الكائنات

اكتسبت قواعد بيانات الكائنات القائمة على البرمجة المستمرة مكانة مميزة في مجالات التطبيق مثل الهندسة وقواعد البيانات المكانية والاتصالات السلكية واللاسلكية والمجالات العلمية مثل فيزياء الطاقة العالية [ 13 ] وعلم الأحياء الجزيئي . [ 14 ]

تركز مجموعة أخرى من قواعد بيانات الكائنات على الاستخدام المدمج في الأجهزة والبرامج المعبأة وأنظمة الوقت الحقيقي .

الميزات التقنية

تُوفر معظم قواعد بيانات الكائنات أيضًا نوعًا من لغات الاستعلام ، مما يسمح بالعثور على الكائنات باستخدام أسلوب البرمجة التصريحية . وتكمن أبرز الاختلافات بين المنتجات في مجال لغات استعلام الكائنات، وتكامل واجهات الاستعلام والتنقل. وقد بذلت مجموعة إدارة قواعد بيانات الكائنات (ODMG) محاولةً لتوحيد المعايير من خلال لغة استعلام الكائنات (OQL).

يمكن أن يكون الوصول إلى البيانات أسرع لأنه يمكن استرداد الكائن مباشرة دون بحث، عن طريق اتباع المؤشرات .

يتمثل أحد مجالات الاختلاف الأخرى بين المنتجات في طريقة تعريف مخطط قاعدة البيانات. ومع ذلك، فإن السمة العامة هي أن لغة البرمجة ومخطط قاعدة البيانات يستخدمان نفس تعريفات الأنواع.

يتم تسهيل تطبيقات الوسائط المتعددة لأن أساليب الفئة المرتبطة بالبيانات مسؤولة عن تفسيرها الصحيح.

توفر العديد من قواعد بيانات الكائنات، مثل Gemstone وVOSS، دعمًا للتحكم في الإصدارات . يمكن اعتبار الكائن مجموعةً من جميع إصداراته، كما يمكن التعامل مع إصدارات الكائن ككائنات مستقلة. وتوفر بعض قواعد بيانات الكائنات أيضًا دعمًا منهجيًا للمشغلات والقيود التي تُشكل أساس قواعد البيانات النشطة .

كما تتحسن كفاءة قاعدة البيانات هذه بشكل كبير في المجالات التي تتطلب كميات هائلة من البيانات حول عنصر واحد. على سبيل المثال، يمكن لمؤسسة مصرفية الحصول على معلومات حساب المستخدم وتزويده بكفاءة بمعلومات شاملة مثل المعاملات، وبيانات الحساب، وما إلى ذلك.

المعايير

كانت مجموعة إدارة بيانات الكائنات (ODMG) اتحادًا يضمّ مورّدي قواعد بيانات الكائنات وربط الكائنات بالعلاقات، وأعضاء من الأوساط الأكاديمية، وجهات معنية أخرى. وكان هدفها وضع مجموعة من المواصفات التي تسمح بإنشاء تطبيقات قابلة للنقل تخزّن الكائنات في أنظمة إدارة قواعد البيانات. وقد نشرت المجموعة عدة إصدارات من مواصفاتها، وكان آخرها الإصدار ODMG 3.0. وبحلول عام 2001، ادّعت معظم الشركات الكبرى المورّدة لقواعد بيانات الكائنات وربط الكائنات بالعلاقات التزامها بربط لغة جافا الخاص بمجموعة ODMG. أما الالتزام بالمكونات الأخرى للمواصفات فكان متفاوتًا. وفي عام 2001، قُدّم ربط لغة جافا الخاص بمجموعة ODMG إلى عملية مجتمع جافا كأساس لمواصفات كائنات بيانات جافا . وقررت الشركات الأعضاء في مجموعة ODMG حينها تركيز جهودها على مواصفات كائنات بيانات جافا. ونتيجةً لذلك، تم حلّ مجموعة ODMG في عام 2001.

تم استيعاب العديد من أفكار قواعد البيانات الكائنية أيضًا في SQL:1999 وتم تطبيقها بدرجات متفاوتة في منتجات قواعد البيانات العلائقية الكائنية .

في عام ٢٠٠٥، اقترح كوك وراي وروزنبرغر التخلي عن جميع جهود التوحيد القياسي لإدخال واجهات برمجة تطبيقات استعلام كائنية التوجه إضافية، واستخدام لغة البرمجة الكائنية التوجه نفسها، أي جافا و.NET، للتعبير عن الاستعلامات. ونتيجة لذلك، ظهرت الاستعلامات الأصلية . وبالمثل، أعلنت مايكروسوفت في سبتمبر ٢٠٠٥ عن استعلام اللغة المتكامل (LINQ) وDLINQ، وهو تطبيق لـ LINQ، لتوفير إمكانيات استعلام قواعد بيانات متكاملة لغوياً مع لغات البرمجة الخاصة بها C# وVB.NET 9.

في فبراير 2006، أعلنت مجموعة إدارة الكائنات (OMG) حصولها على حق تطوير مواصفات جديدة استنادًا إلى مواصفات ODMG 3.0، وتشكيل فريق عمل تقنية قواعد بيانات الكائنات (ODBT WG). وكان فريق عمل ODBT WG يهدف إلى وضع مجموعة من المعايير التي تُدمج التطورات في تقنية قواعد بيانات الكائنات (مثل النسخ المتماثل)، وإدارة البيانات (مثل الفهرسة المكانية)، وتنسيقات البيانات (مثل XML)، وإضافة ميزات جديدة إلى هذه المعايير لدعم المجالات التي تُعتمد فيها قواعد بيانات الكائنات (مثل أنظمة الوقت الحقيقي). إلا أن عمل فريق عمل ODBT WG توقف في مارس 2009، عندما قررت شركات توريد قواعد بيانات الكائنات المشاركة في هذا الجهد، في أعقاب الأزمة الاقتصادية التي عصفت بالعالم أواخر عام 2008، توجيه مواردها إلى مجالات أخرى.

في يناير 2007، منح اتحاد شبكة الويب العالمية (W3C) لغة XQuery صفة التوصية النهائية . تستخدم XQuery لغة XML كنموذج بيانات. وقد وُضعت بعض الأفكار التي طُوّرت في الأصل لقواعد بيانات الكائنات في XQuery، إلا أن XQuery ليست كائنية التوجه بطبيعتها. ونظرًا لشعبية XML، تتنافس محركات XQuery مع قواعد بيانات الكائنات كوسيلة لتخزين البيانات المعقدة أو المتغيرة التي يصعب تخزينها بسهولة في قاعدة بيانات علائقية. كما تتيح XQuery كتابة وحدات برمجية لتوفير ميزات التغليف التي توفرها الأنظمة كائنية التوجه.

تُعدّ XQuery v1 و XPath v2 والإصدارات الأحدث أدوات قوية ومتاحة في كلٍ من البرمجيات مفتوحة المصدر (FOSS) [ 15 ] [ 16 ] [ 17 ] ، بالإضافة إلى الأنظمة التجارية. تتميز بسهولة تعلمها واستخدامها، وقوتها وسرعتها الفائقة. وهي ليست قواعد بيانات علائقية، ولا تعتمد XQuery على لغة SQL (مع أن أحد مصممي XQuery شارك في ابتكار SQL). كما أنها ليست كائنية التوجه بالمعنى البرمجي: إذ لا تستخدم XQuery التغليف مع الإخفاء، أو الإرسال الضمني، أو الفئات والأساليب. وتستخدم قواعد بيانات XQuery عادةً XML و JSON كصيغة تبادل، مع إمكانية استخدام صيغ أخرى.

منذ أوائل العقد الأول من الألفية الثانية، اكتسبت لغة JSON انتشارًا واسعًا وشعبية كبيرة في التطبيقات التي يتحكم فيها المطورون بتنسيق البيانات. وقد أثبت JSONiq ، وهو نظير استعلامي للغة XQuery خاص بلغة JSON (يشاركها التعبيرات والعمليات الأساسية)، التكافؤ الوظيفي بين تنسيقي JSON وXML فيما يتعلق بالمعلومات الموجهة نحو البيانات. وفي هذا السياق، تمثلت الاستراتيجية الرئيسية لمطوري أنظمة إدارة قواعد البيانات الموجهة نحو الكائنات في تكييف JSON مع قواعد بياناتهم (باستخدامه كنوع بيانات داخلي).

في يناير 2016، مع إصدار PostgreSQL 9.5 [ 18 ] كان أول نظام إدارة قواعد بيانات كائنية مفتوح المصدر يقدم نوع بيانات داخلي JSON فعال (JSONB) مع مجموعة كاملة من الوظائف والعمليات، لجميع عمليات التلاعب العلائقية وغير العلائقية الأساسية.

مقارنة مع أنظمة إدارة قواعد البيانات العلائقية

تُخزّن قاعدة بيانات الكائنات البيانات المعقدة والعلاقات بينها مباشرةً، دون ربطها بصفوف وأعمدة علائقية ، مما يجعلها مناسبة للتطبيقات التي تتعامل مع بيانات بالغة التعقيد. [ 19 ] تتميز الكائنات بعلاقة متعددة الأطراف، ويتم الوصول إليها باستخدام المؤشرات. ترتبط المؤشرات بالكائنات لإنشاء العلاقات. ومن مزايا نظام إدارة قواعد بيانات الكائنات (OODBMS) إمكانية برمجته بتغييرات إجرائية طفيفة دون التأثير على النظام بأكمله. [ 20 ]

انظر أيضاً

مراجع

  1. مسرد تكامل البيانات مؤرشف في 20 مارس 2009، في Wayback Machine ، وزارة النقل الأمريكية، أغسطس 2001.
  2. ODBMS.ORG  :: قاعدة بيانات الكائنات (ODBMS) | قاعدة بيانات الكائنات (OODBMS) | بوابة موارد مجانية . ODBMS (31 أغسطس 2013). تم الاطلاع عليه بتاريخ 18 سبتمبر 2013. مؤرشف في 6 مارس 2014 على موقع Wayback Machine .
  3. ^ أوبراين، جا، وماراكاس، جنرال موتورز (2009). نظم المعلومات الإدارية (الطبعة التاسعة). نيويورك، نيويورك: ماكجرو هيل / إيروين
  4. ثلاثة أمثلة مرجعية من عام 1985 تستخدم المصطلح: T. Atwood، "نظام إدارة قواعد بيانات كائنية التوجه لتطبيقات دعم التصميم"، وقائع مؤتمر IEEE COMPINT 85 ، الصفحات 299-307، سبتمبر 1985؛ N. Derrett، W. Kent، و P. Lyngbaek، "بعض جوانب العمليات في قاعدة بيانات كائنية التوجه"، هندسة قواعد البيانات ، المجلد 8، العدد 4، جمعية IEEE للحاسبات، ديسمبر 1985؛ D. Maier، A. Otis، و A. Purdy، "تطوير قواعد بيانات كائنية التوجه في Servio Logic"، هندسة قواعد البيانات ، المجلد 18، العدد 4، ديسمبر 1985.
  5. كيم، وون. مقدمة في قواعد البيانات الموجهة للكائنات. مطبعة معهد ماساتشوستس للتكنولوجيا، 1990. ISBN 0-262-11124-1
  6. بانسيلون، فرانسوا؛ ديلوبيل، كلود؛ وكانيلاكس، باريس. بناء نظام قاعدة بيانات كائنية التوجه: قصة O2 . دار مورغان كوفمان للنشر، 1992. ISBN 1-55860-169-4.
  7. أولفسبي وآخرون (يوليو 1981). "تورنادو: نظام إدارة قواعد البيانات لأنظمة التصميم والتصنيع بمساعدة الحاسوب". التصميم بمساعدة الحاسوب . 13 (4): 193-197 . doi : 10.1016/0010-4485(81)90140-8 . 
  8. "شركة SpringSource تستحوذ على تقنية إدارة البيانات من Gemstone Systems" . WMware. 6 مايو 2010. مؤرشف من الأصل في 8 أغسطس 2014. تم الاطلاع عليه في 5 أغسطس 2014 .
  9. شركة جيم توك سيستمز (2 مايو 2013). "شركة جيم توك سيستمز تستحوذ على منتجات جيم ستون/إس من شركة في إم وير" . بي آر ويب. مؤرشف من الأصل في 10 أغسطس 2014. تم الاطلاع عليه في 5 أغسطس 2014 .
  10. "إعادة هيكلة موقعنا الإلكتروني الخاص بمجتمع فيرسانت" .
  11. "ريلم تُصدر قاعدة بيانات كائنية لـ Node.js" . InfoQ . مؤرشف من الأصل بتاريخ 2017-02-02.
  12. DB-Engines. "تصنيف قواعد بيانات الكائنات على DB-Engines" . DB-Engines . تم الاسترجاع في 21-05-2021 .
  13. "مسرع ستانفورد الخطي (SLAC)" .
  14. هيردي، باتريك؛ سيبالد، بيتر ر. (1992). "دمج مجموعات بيانات البيولوجيا الجزيئية باستخدام قواعد البيانات والبرمجة الموجهة للكائنات" . ملحق لوقائع مؤتمر أنظمة ولغات وتطبيقات البرمجة الموجهة للكائنات (ملحق) - OOPSLA '92 . الصفحات 177-178 . doi : 10.1145/157709.157747 . ISBN  0897916107. S2CID 45269462 . 
  15. "معالج BaseX XQuery" . basex.org . مؤرشف من الأصل بتاريخ 16-12-2023.
  16. "XQuery في eXist-db" . exist-db.org . مؤرشف من الأصل بتاريخ 2023-12-02.
  17. "ساكسون - استخدام XQuery" . www.saxonica.com . مؤرشف من الأصل بتاريخ 23-09-2020.
  18. "PostgreSQL: التوثيق: 10: 9.15. دوال ومعاملات JSON" . www.postgresql.org . مؤرشف من الأصل بتاريخ 18-05-2016.
  19. رادينغ، آلان (1995). "إذن ما هو نظام إدارة قواعد البيانات الكائنية (ODBMS)؟". عالم الكمبيوتر . 29 (45): 121-122 ، 129.
  20. بورليسون، دونالد. (1994). أنظمة إدارة قواعد البيانات الكائنية تكتسب مكانة في نظم المعلومات الإدارية، لكن أنظمة إدارة قواعد البيانات العلائقية لا تزال مهيمنة. مجلة البرمجيات، 14(11)، 63