ArangoDB: تحقيق النجاح مع قاعدة بيانات متعددة القيم

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

على عكس قواعد البيانات العلائقية، لا تلتزم قواعد البيانات NoSQL بمعيار عالمي مثل SQL. بدلاً من ذلك، يتم تصنيفها بناءً على هيكل التخزين الخاص بها. من بين الأنواع الشائعة هي:

  • القيمة الرئيسية: تشبه Map في Java أو القاموس في Python، هذا الهيكل يسترجع القيم بالكامل كـ BLOBs باستخدام مفتاح.
  • عمود واسع: مشابه للقيمة الرئيسية لكنه يقسم القيم إلى أعمدة، مما يوفر استرجاع بيانات أكثر تفصيلاً.
  • المستند: مُنظم مثل JSON أو XML، يوفر هذا النوع مرونة أكبر في الاستعلام.
  • الرسم البياني: يمكّن من نمذجة العلاقات المعقدة والاستعلام عنها من خلال تمثيل الكيانات وارتباطاتها.

تجمع قاعدة البيانات متعددة النماذج هذه القدرات في نظام واحد. على سبيل المثال، تدعم ArangoDB نماذج القيمة الرئيسية والمستندات والرسم البياني، مما يلغي الحاجة إلى قواعد بيانات منفصلة.

توضح هذه المقالة كيفية استخدام ArangoDB لاستكشاف نماذج القيمة الرئيسية والمستندات في تطبيقات Java باستخدام Jakarta NoSQL.

إعداد قاعدة بيانات ArangoDB

للبدء في استخدام ArangoDB، يوفر Docker طريقة مباشرة لإدارة خدمات الطرف الثالث. من خلال تشغيل الأمر التالي، يمكنك إعداد نسخة من قاعدة بيانات ArangoDB بسهولة:

Shell

 

استكشاف بيانات المفتاح والقيمة

تعتبر قواعد البيانات ذات المفتاح والقيمة مثالية لنماذج البيانات البسيطة. دعنا نقوم بإنشاء تطبيق عيني لإدارة بيانات المطار باستخدام قدرات ArangoDB في المفتاح والقيمة. ستتضمن كيان “المطار” حقلين: “الرمز” (المعرف) و”الاسم”.

Java

 

بعد تعريف الكيان، يمكنك استخدام “قالب المفتاح والقيمة” للتفاعل مع قاعدة البيانات. في هذا البرنامج التعليمي، سنكتشف مزيدًا من قدرة Jakarta NoSQL وراء التعليقات باستخدام Eclipse JNoSQL؛ يمكنك إنشاء المستودع عندما ينفذ Eclipse JNoSQL ويدعم Jakarta Data.

Java

 

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

http://localhost:8529/_db/airport/_admin/aardvark/index.html#collections

العمل مع بيانات المستند

جاكارتا NoSQL يوفر ميزات غنية للعمل مع قواعد بيانات الوثائق، بما في ذلك دعم التوريث والنمذجة البيانية الهرمية. بينما لا تدعم قواعد بيانات NoSQL هذه الميزات بشكل عام، إلا أن جاكارتا NoSQL يسد هذه الفجوة من خلال واجهة برمجة التطبيقات الخاصة به. دعونا نستخدم جاكارتا NoSQL مع ArangoDB لإدارة بيانات موفري الخدمات السحابية، بما في ذلك تخصصين: خدمات الويب من Amazon (AWS) وAzure.

تستخدم جاكارتا NoSQL تعليمات @DiscriminatorColumn، @DiscriminatorValue، و@Inheritance لإدارة التوريث في قواعد بيانات الوثائق. 

  • تحدد تعليمة @DiscriminatorColumn الحقل المستخدم لتحديد نوع الكيان في مستند قاعدة البيانات. 
  • تعليمة @DiscriminatorValue تحدد القيمة المحددة لكل فرع فرعي، مما يضمن تحديد هويتها بشكل صحيح.
  • تعليمة @Inheritance تشير إلى أن تسلسل الفئات سيتم تعيينه في قاعدة البيانات.

أولاً، قم بتعريف الفئة الأساسية لموفري الخدمات السحابية:

Java

 

ثم، نقدم فئات موفري الخدمات السحابية المتخصصة. توضح هذه الأمثلة كيف تستفيد جاكارتا NoSQL من التعليمات @DiscriminatorValue للتمييز بين أنواع المستندات المختلفة. ترث كل تخصص – AWS و Azure – من الفئة الأساسية CloudProvider، بالإضافة إلى تحديد سمات فريدة لكل موفر. بالإضافة إلى ذلك، يتم توفير طرق المصنع (of) لإنشاء بيانات عينية لأغراض العرض.

موفر_سحابة_AWS

Java

 

مزود السحابة Azure

Java

 

أخيرًا، دعنا نرى كيفية استخدام DocumentTemplate للتفاعل مع قاعدة البيانات. يوضح هذا الكود إنشاء مثيلات من مزودي AWS و Azure، إدراجها في قاعدة البيانات، واسترجاعها. تستفيد التنفيذ من واجهة برمجة التطبيقات لـ Jakarta NoSQL للتعامل مع استمرارية البيانات، مضمنة التطبيق السلس لمنطق الوراثة والفصل أثناء التخزين والاسترجاع.

Java

 

الاستنتاج

تجعل قدرات ArangoDB متعددة النماذج خيارًا متنوعًا لتطبيقات الحاضر. يجمع بين نماذج المفتاح-القيمة والمستند في قاعدة بيانات واحدة، مما يبسط هندسة بياناتك مع الاحتفاظ بالمرونة. باستخدام Jakarta NoSQL، يصبح دمج ArangoDB في تطبيقات Java سلسًا، مستفيدًا من التعليقات المألوفة والنماذج البرمجية.

للحصول على الشفرة الكاملة، قم بزيارة مستودع GitHub.

Source:
https://dzone.com/articles/arangodb-success-through-multivalue-database