تحديد ما إذا كانت قاعدة بيانات رسم بياني تناسب احتياجات تطبيقك من البيانات

مكتمل

تجد الشركات أحياناً أن عدم مرونة قواعد البيانات الارتباطية يمكن أن يُشكّل عائقاً أمام الإنتاجية. قد تساعد قواعد بيانات الرسم البياني في حل هذه المشكلة.

في شركة التجارة الإلكترونية الخاصة بك، تريد معرفة قواعد البيانات التي قد تعمل بشكل أفضل كقواعد بيانات الرسم البياني.

ستتعلم في هذه الوحدة كيف تختلف قواعد بيانات الرسم البياني عن قواعد البيانات الارتباطية.

ما قاعدة بيانات الرسم البياني؟

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

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

المكوّن الوصف
الرؤوس أو العُقد تمثل الرؤوس الكائنات. على سبيل المثال: شخص أو مكان أو منتج.
الحواف أو العلاقات تشير الحواف إلى العلاقات بين الرؤوس. على سبيل المثال: قد يعرف الشخص شخصًا آخر، أو قد يزور مكاناً ما.
الخصائص تُعبر الخصائص عن معلومات حول الرؤوس والحواف. على سبيل المثال:
  • قد تتضمن خصائص الرؤوس اسم الشخص وعمره.
  • قد تتضمن خصائص الحواف طابعًا زمنيًا لعملية شراء أو انتماءً هرمياً بين زملاء العمل.

بشكل رسمي أكثر، يُعرف نموذج البيانات هذا باسم نموذج الرسم البياني للخاصية، وتدعم Azure Cosmos DB هذا النموذج.

لقطة شاشة توضح الرسم البياني للبيانات وعلاقاتها

عادةً ما تُنفذ قواعد بيانات الرسم البياني كمخازن NoSQL، مثل Azure Cosmos DB أو MongoDB، وتتطلب عادةً مرونة في المخطط وتكراراً سريعاً. باستخدام نموذج بيانات الرسم البياني، يمكن إجراء تغييرات على نموذج البيانات بتأثير ضئيل على التطبيق أو دون تأثير في المطلق. نظرًا لأن العلاقات تُعامل على أنها بيانات بدلاً من بنية مخطط، فهناك العديد من السيناريوهات التي تكون فيها قواعد بيانات الرسم البياني مفيدة، إذ تتيح لك العرض والتخزين بكفاءة في تنسيق غير جدولي.

نقاط القوة والضعف في قواعد بيانات الرسم البياني

تندرج نقاط القوة والضعف في قواعد بيانات الرسم البياني ضمن المعايير التالية:

  • الأداء
  • المرونة
  • أوجه القصور

الأداء

مع قواعد البيانات الارتباطية التقليدية، ينخفض أداء استعلامات العلاقة مع زيادة عدد العلاقات. يظل الأداء ثابتًا مع قواعد بيانات الرسم البياني حتى مع استمرار تزايد البيانات والتعقيد.

المرونة

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

أوجه القصور

قواعد بيانات الرسم البياني ليست فعّالة في معالجة كميات كبيرة من المعاملات، كما أنها ليست فعالة في معالجة الاستعلامات التي تعبر قاعدة بيانات كاملة.

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

فحص نموذج البيانات لمعرفة مدى ملاءمته

كما هو موضح سابقاً، يوجد مكونان أساسيان يشكلان الرسم البياني:

  • العُقد، والتي تُعرف أيضاً باسم الرؤوس.

  • العلاقات، والتي تُعرف أيضًا باسم الحواف.

العُقد أو الرؤوس

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

على سبيل المثال، يمكنك تحديد العُقد مثل هذه:

  • العميل
  • الموظف
  • منتج
  • الطلب
  • الفئة
  • الفاتورة

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

العلاقات أو الحواف

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

على سبيل المثال، يمكنك تحديد علاقات مثل هذه:

  • الإعجابات
  • الأماكن
  • المخصصات
  • عمليات التقديم

الخصائص

كنا نصف في هذه الوحدة عملية إنشاء نموذج بيانات رسم بياني أساسي لشركة تجارة إلكترونية، والذي يوضح التفاعلات بين العملاء والمنتجات والطلبات.

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

Node العلاقة Node
عميل الإعجابات منتج
منتج المخصصات فئة
عميل الأماكن طلب
منتج المخصصات طلب
موظف عمليات التقديم فاتورة
طلب المخصصات فاتورة

يمكنك أيضاً تحسين نموذج البيانات الخاص بك عن طريق تحديد سمات كل من هذه الكيانات كخصائص قيم المفاتيح.

الخصائص هي أزواج الاسم-القيمة التي يمكنك تحديدها للعقد أو العلاقات، والتي تُمكّنك من تخزين البيانات ذات الصلة حول العقدة أو العلاقة التي تصفها.

لتحديد نوع الخصائص التي يمكنك استخدامها، يمكنك طرح بعض الأسئلة ذات الصلة حول البيانات التي تجمعها:

  • متى قدم العميل الطلب؟
  • كم كان سعر المنتج؟
  • متى قدم الموظف الفاتورة؟
  • ما الفاتورة التي ينتمي إليها الطلب؟

تمكّنك الطبيعة المرنة لقاعدة بيانات الرسم البياني من توسيع نموذجك وتغييره بمرور الوقت، وإضافة العلاقات والعقد والخصائص أو إزالتها.