فَهم نماذج مخازن البيانات

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

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

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

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

إشعار

قم بالتعرف على المزيد حول تحديد متطلبات خدمة البيانات الخاصة بك ومراجعتها لاعتماد السحابة، في Microsoft Cloud Adoption Framework الخاص بـ Azure. وبالمثل، يمكنك أيضا أن تتعرف على تحديد أدوات وخدمات التخزين.

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

تنظم قواعد البيانات العلائقية البيانات كسلسلة من الجداول ثنائية الأبعاد ذات الصفوف والأعمدة. يوفر معظم البائعين لهجة من لغة الاستعلام المركبة (SQL) لاسترداد البيانات وإدارتها. عادةً ما ينفذ نظام RDBMS آلية متسقة للمعاملات تتوافق مع نموذج ACID (الذري، المتسق، المعزول، الدائم) لتحديث المعلومات.

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

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

خدمات Azure

حمل العمل

  • يتم القيام بإنشاء سجلات وتحديثها بشكل متكرر.
  • يلزم إكمال عمليات متعددة في معاملة واحدة.
  • يتم فرض علاقات باستخدام قيود قاعدة البيانات.
  • يتم استخدام الفهارس لتحسين أداء الاستعلام.

نوع البيانات

  • يتم تطبيع البيانات بشكل كبير.
  • مخططات قاعدة البيانات مطلوبة ويتم فرضها.
  • علاقات أطراف بأطراف بين كيانات البيانات في قاعدة البيانات.
  • يتم تحديد القيود في المخطط ويتم فرضها على أي بيانات في قاعدة البيانات.
  • تتطلب البيانات سلامة عالية. يلزم الحفاظ على الفهارس والعلاقات بدقة.
  • تتطلب البيانات اتساقًا قويًا. تعمل المعاملات بطريقة تضمن أن جميع البيانات متسقة بنسبة 100٪ لجميع المستخدمين والعمليات.
  • حجم الخاص بإدخالات البيانات الفردية صغير إلى متوسط الحجم.

الأمثلة

  • إدارة المخزون
  • إدارة الطلبات
  • قاعدة البيانات الخاصة بالتقارير
  • المحاسبة

مخازن/ قيم المفتاح

يربط مخزن المفتاح/القيمة كل قيمة بيانات بمفتاح مميز. يتم دعم معظم مخازن المفاتيح/القيم عمليات الاستعلام والإدراج والحذف البسيطة فقط. لتعديل قيمة (إما جزئيًا أو كليًا)، يلزم أن يقوم التطبيق بالكتابة فوق البيانات الموجودة للقيمة بأكملها. في معظم عمليات التنفيذ، تعتبر قراءة قيمة واحدة أو كتابتها عملية ذرية.

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

Diagram of a key-value store

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

يمكن أن يكون مخزن مفتاح/قيمة واحد قابلاً للتطوير بشكل كبير، حيث يمكن لمخزن البيانات توزيع البيانات بسهولة عبر عقد متعددة على أجهزة منفصلة.

خدمات Azure

حمل العمل

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

نوع البيانات

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

الأمثلة

  • تخزين مؤقت للبيانات
  • إدارة جلسات العمل
  • التفضيلات الخاصة بالمستخدم وإدارة ملف التعريف
  • التوصية الخاصة بالمنتج وتقديم الإعلانات

قواعد البيانات الخاصة بالمستندات

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

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

Diagram of a document store

خدمة Azure

حمل العمل

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

نوع البيانات

  • يمكن أن تتم إدارة البيانات بطريقة غير عادية.
  • يعد حجم بيانات المستند الفردية صغير نسبيًا.
  • يمكن لكل نوع مستند استخدام مخططه الخاص به.
  • يمكن أن تشمل المستندات حقولاً اختيارية.
  • تعد بيانات المستند شبه منظمة، ما يعني أن أنواع البيانات لكل حقل غير محددة بدقة.

الأمثلة

  • كتالوج المنتجات
  • إدارة المحتوى
  • إدارة المخزون

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

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

يمكن لقواعد بيانات Microsoft Azure Active Directory Graph إجراء استعلامات بكفاءة عبر شبكة العقد والحواف وتحليل العلاقات بين الكيانات. توضح الصورة التالية قاعدة بيانات موظفي المنظمة على شكل رسم بياني. الكيانات عبارة عن موظفين وأقسام، وتشير الحواف إلى علاقات إعداد التقارير والأقسام التي يعمل فيها الموظفون.

Diagram of a document database

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

خدمات Azure

حمل العمل

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

نوع البيانات

  • عقد وعلاقات.
  • تعد العقد مشابهة لصفوف الجدول أو مستندات JSON.
  • تعد العلاقات بنفس أهمية العقد، ويتم عرضها بشكل مباشر في لغة الاستعلام.
  • كائنات مركبة، مثل شخص لديه عدة أرقام هاتف، تميل إلى أن تنقسم إلى عقد منفصلة أصغر، مدمجة مع علاقات يمكن اجتيازها

الأمثلة

  • مخططات المؤسسة
  • رسوم بيانية اجتماعية
  • الكشف عن الغش
  • محركات التوصية

تحليلات البيانات

تقوم مخازن تحليلات البيانات بتوفير حلولاً موازية على نطاق واسع لاستيعاب البيانات وتخزينها وتحليلها. يتم توزيع البيانات من خلال خوادم متعددة لزيادة قابلية التوسع إلى أقصى حد. تستخدم تنسيقات ملفات البيانات الكبيرة مثل ملفات المحدد (CSV) و parquetوORC على نطاق واسع في تحليلات البيانات. عادةً ما يتم تخزين البيانات التاريخية في مخازن البيانات مثل تخزين البيانات الثنائية الكبيرة أوAzure Data Lake Storage Gen2، والتي يتم الوصول إليها بعد ذلك بواسطة Azure Synapse أو Databricks أو HDInsight كجداول خارجية. يتم وصف سيناريو نموذجي باستخدام البيانات المخزنة كملفات parquet للأداء، في المقالة قم باستخدام الجداول الخارجية مع Synapse SQL.

خدمات Azure

حمل العمل

  • تحليلات البيانات
  • Enterprise BI

نوع البيانات

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

الأمثلة

  • مستودع بيانات المؤسسة

قواعد بيانات مجموعة الأعمدة

تقوم قاعدة بيانات مجموعة الأعمدة بتنظم البيانات في صفوف وأعمدة. في أبسط أشكالها، من الممكن أن تظهر قاعدة بيانات مجموعة الأعمدة مشابهة جدًا لقاعدة البيانات العلائقية، على الأقل من الناحية المفاهيمية. تتمركز القوة الحقيقية لقاعدة بيانات مجموعة الأعمدة في نهجها غير المطابق لهيكلة البيانات المتفرقة.

يمكنك التفكير في قاعدة بيانات مجموعة الأعمدة على أنها تشتمل على بيانات جدولية تتكون من صفوف وأعمدة، ولكن يمكنك تقسيم الأعمدة إلى مجموعات تعرف باسم مجموعات الأعمدة. تحتوي كل مجموعة أعمدة على مجموعة من الأعمدة المرتبطة منطقياً معاً وعادة ما يتم استردادها أو معالجتها كوحدة. من الممكن تخزين البيانات الأخرى التي يتم الوصول إليها بشكل منفصل في مجموعات أعمدة منفصلة. ضمن مجموعة الأعمدة، يمكن إضافة أعمدة جديدة ديناميكيًا، ويمكن أن تكون الصفوف متفرقة (أي لا يحتاج الصف إلى قيمة لكل عمود).

يوضح الرسم التخطيطي التالي مثالاً مع مجموعتين من الأعمدة، Identity وContact Info. تحتوي بيانات كيان واحد على نفس مفتاح الصف في كل مجموعة أعمدة. تعتبر هذه البنية، حيث يمكن أن تختلف الصفوف الخاصة بأي كائن معين في عائلة الأعمدة ديناميكيًا، ميزة مهمة لنهج عائلة الأعمدة، مما يجعل هذا الشكل من مخزن البيانات مناسبًا للغاية لتخزين البيانات المهيكلة والمتقلبة.

Diagram of a column-family database

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

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

خدمات Azure

حمل العمل

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

نوع البيانات

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

الأمثلة

  • التوصيات
  • التخصيص
  • بيانات أداة الاستشعار
  • قياس تتبع الاستخدام
  • المراسلة
  • تحليلات خاصة بوسائل التواصل الاجتماعي
  • تحليلات خاصة بالويب
  • مراقبة نشاط
  • الطقس والبيانات الخاصة بالسلاسل الزمنية الأخرى

قواعد بيانات خاصة بمحرك البحث

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

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

من الممكن أن يكون البحث دقيقاً أو غامضاً. يعثر البحث غير الواضح على المستندات التي تطابق مجموعة من المصطلحات ويحسب مدى تطابقها. تدعم بعض محركات البحث أيضاً التحليل اللغوي الذي يمكن أن يرجع التطابقات استناداً إلى المرادفات، وتوسيعات النوع (على سبيل المثال، المطابقة dogs مع pets)، والاشتقاق (مطابقة الكلمات مع نفس الجذر).

خدمة Azure

حمل العمل

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

نوع البيانات

  • نص يكون شبه منظم أو غير منظم
  • نص مع الإشارة إلى بيانات منظمة

الأمثلة

  • كتالوجات المنتجات
  • موقع البحث
  • تسجيل الدخول

قواعد بيانات خاصة بالسلاسل الزمنية

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

خدمة Azure

حمل العمل

  • يتم إلحاق السجلات عمومًا بالتسلسل بالترتيب الزمني.
  • نسبة كبيرة من العمليات (95-99٪) هي عمليات كتابة.
  • تعد التحديثات نادرة.
  • تحدث عمليات الحذف بشكل مجمّع، ويتم إجراؤها على كتل أو سجلات متجاورة.
  • تتم قراءة البيانات بالتسلسل إما بترتيب زمني تصاعدي أو تنازلي، غالبًا بالتوازي.

نوع البيانات

  • يتم القيام باستخدام الطابع الزمني كمفتاح أساسي وآلية فرز.
  • ربما تحدد العلامات معلومات إضافية حول النوع والأصل ومعلومات أخرى حول الإدخال.

الأمثلة

  • المراقبة وبيانات تتبع الاستخدام الخاصة بالأحداث.
  • أداة الاستشعار أو بيانات IoT الأخرى.

تخزين عنصر

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

خدمة Azure

حمل العمل

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

نوع البيانات

  • يعد حجم البيانات كبير.
  • القيمة تكون مبهمة.

الأمثلة

  • صور ومقاطع الفيديو ومستندات مكتب وملفات PDF
  • HTML ثابت، JSON، CSS
  • ملفات خاصة بالسجل والتدقيق
  • النسخ الاحتياطي لقاعدة البيانات

الملفات المشتركة

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

خدمة Azure

حمل العمل

  • الترحيل من التطبيقات الموجودة التي تقوم بالتفاعل مع نظام الملفات.
  • يتطلب وجود واجهة SMB.

نوع البيانات

  • ملفات في مجموعة تدريجية من المجلدات.
  • من الممكن الوصول إليها باستخدام مكتبات الإدخال/إخراج القياسية.

الأمثلة

  • ملفات قديمة
  • المحتوى المشترك يمكن الوصول إليه من بين عدد من الأجهزة الافتراضية أو طبعات التطبيق

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

الخطوات التالية