كيفية الحفاظ على العلاقات بين البيانات في قاعدة بيانات NoSQL

نشرت: 2022-11-23

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

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

توجد علاقات بين المستندات المختلفة في MongoDB ، مما يدل على علاقتها المنطقية. باستخدام المناهج المشار إليها والمضمنة ، يمكن نمذجة العلاقات. لنلقِ نظرة على حالة تخزين العناوين للمستخدمين بعلاقات N: N في المثال التالي.

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

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

هل يمكن أن تكون قاعدة بيانات Nosql علائقية؟

تم التقاط الصورة بواسطة: wp

قواعد بيانات NoSQL ليست قواعد بيانات علائقية ، مما يعني أنه يمكن أن يكون لها هياكل مختلفة عن قواعد بيانات SQL (مثل الصفوف والأعمدة) ويمكن تكييفها لتلبية احتياجات المستخدم بسهولة أكبر.

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

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

من خلال تحديد مقدار مراكز المعالجة والذاكرة والتخزين المطلوبة ، يمكنك توفير قاعدة بيانات Azure في أقل من دقيقة. تلتزم Microsoft بالحفاظ على Azure نظامًا أساسيًا مفتوحًا ، لذلك توفر الشركة إصدارات مُدارة من قواعد البيانات مفتوحة المصدر الشائعة. تقوم طبقة الحوسبة بدون خادم تلقائيًا بتعليق قواعد البيانات أثناء فترات عدم النشاط ، مما يسمح بخصم رسوم التخزين فقط. استحوذت Oracle على Sun Microsystems ، وتم إنشاء الإصدار المُدار من MariaDB ليكون بمثابة مفترق لـ MySQL. قاعدة بيانات Azure لـ MariaDB هي خدمة قاعدة بيانات مُدارة بالكامل يتم توفيرها كجزء من سحابة Azure. الخدمة مبنية على محرك خادم إصدار مجتمع MariaDB. يمكنه التعامل مع أعباء العمل ذات المهام الحرجة من خلال توفير أداء يمكن التنبؤ به وتوسيع نطاق ديناميكي.

تعد كل من أداة واجهة سطر الأوامر أو خدمة ترحيل البيانات Azure طريقتين ممتازتين لترحيل قواعد بيانات Postgres إليها. بالإضافة إلى دعم التجميع النشط / النشط على المستوى العالمي ، يدعم CosmosDB كلاً من عمليات الكتابة والقراءة ، مما يتيح لك تكوين أي من مناطق قاعدة البيانات الخاصة بك للقيام بذلك. يمكن استخدام نظام قاعدة بيانات CosmosDB لترحيل قواعد بيانات Mongo أو Gremlin أو Cassandra الحالية مع الحد الأدنى من التغييرات في التعليمات البرمجية أو البيانات. يمكن بسهولة نقل تخزين Azure Table إلى CosmosDB Table API للخدمات التي تستهلكه. يحتوي الشكل 5-13 على خمسة نماذج تناسق محددة جيدًا لـ Azure Cosmos DB. تسهل هذه الخيارات إدارة المفاضلات بين التناسق والتوافر والأداء. يوضح الجدول أدناه مستويات التناسق لكل منها.

قدم Jeremy Likness ، مدير برنامج Microsoft ، شرحًا ممتازًا للنماذج الخمسة. تجمع تقنية قواعد البيانات الجديدة المعروفة باسم NewSQL بين قابلية التوسع الموزعة وضمانات ACID لإنشاء قاعدة بيانات موجهة للكائنات. عندما تكون البيئات السحابية سريعة الزوال ، فمن المنطقي أن تزدهر قواعد بيانات newSQL نتيجة لوجود أجهزة افتراضية أساسية يمكن إعادة تشغيلها أو إعادة جدولتها في أي وقت. يتضمن الشكل السابق مشاريع مفتوحة المصدر أنشأتها مؤسسة Cloud Native Computing Foundation. على عكس أحمال العمل الأخرى ، التي تستخدم بنية الخدمة ، يمكن للعميل إرسال طلب DNS واحد إلى مجموعة عمليات قاعدة بيانات NewSQL متطابقة. يمكننا التوسع دون التأثير على توفر طبعات التطبيق الحالية إذا قمنا بفصل طبعات قاعدة البيانات عن عناوين الخدمات المرتبطة بها. سينتج عن طلب معين لخدمة ما دائمًا نفس النتيجة بغض النظر عن عدد الطلبات التي يتم إرسالها في نفس الوقت.

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

هل يمكن أن يكون مونجودب علائقية؟

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

ندفة الثلج هي قاعدة بيانات علائقية؟

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


أي قاعدة بيانات Nosql لا تدعم العلاقات أو تنضم؟

الصورة مأخوذة بواسطة: متوسط

هناك عدد قليل من قواعد بيانات nosql التي لا تدعم العلاقات أو عمليات الانضمام ، بما في ذلك MongoDB و Cassandra و Hbase. في حين أن قواعد البيانات هذه ليست شائعة مثل بعض القواعد الأخرى ، إلا أنها لا تزال مستخدمة من قبل العديد من المنظمات.

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

علاقة الكيان في نوصل

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

مخططات إيه لقواعد بيانات الوثيقة

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

علاقة كثير إلى كثير في Nosql

علاقة رقم بأطراف هي علاقة يمكن من خلالها ربط كيانين من خلال مثيلات متعددة من نفس الكيان. هناك بعض الأمثلة الواقعية: يمكن للأطباء علاج الكثير من المرضى مع وجود الكثير من الأطباء أيضًا.

أرغب في تنفيذ بنية تصنيف (مصطلحات جغرافية) لتطبيق node.js الخاص بي باستخدام قاعدة بيانات NoSQL. كانت الفكرة وراء العلامات الجغرافية هي تحديد الأشخاص الذين ولدوا في مدن أو بلدات معينة بهذه المصطلحات ، وتصفيتها لاحقًا ، ووضع علامات عليها. ولد جون دو في بلاكبيرن (لانكشاير) عام 1957 ، وبول براون في ليفربول عام 1960 ، وجورجيا دو في ويرال عام 1982. إذا كان هناك عدد قليل من عناصر الهيكل في الدولة التي تتبع العناصر الحديثة ، فسيتم ترشيحها بطرق غير ممكن. أنا مبتدئ في عالم NoSQL (لم أقم بتصميم أي قواعد بيانات NoSQL ، لذلك أمامي تحدٍ جاد في التصميم). أعتقد أن هناك عدة خيارات لحلها.

تدوين قدم الغراب: علاقة كثير إلى كثير

سترى عادةً Crow's Foot Notation في قاعدة بيانات عندما تمثل عددًا من العديد من العلاقات بيانياً. يتم تمثيل العلاقات بين الجداول بواسطة سلسلة من الأسطر ، وفقًا لهذا الترميز. عادةً ما تبدأ أصول الرسم البياني (الزاوية العلوية اليسرى) بخط يتجه لأسفل إلى الجدول المشار إليه باسم "أجنبي" (لأن هذا هو مكان الأصل). بعد ذلك ، ستنتقل الأسطر إلى الجدول ذي الصلة ، متبوعًا بالجدول الفرعي.

توثيق نوصل

توثيق Nosql هو عملية أو مجموعة من القواعد المستخدمة لكتابة كود nosql . إنه أسلوب ترميز مصمم لجعل كود nosql أكثر قابلية للقراءة وأسهل في الفهم.

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

في هذا البرنامج التعليمي ، سوف ننظر في كيفية عمل قاعدة بيانات NoSQL ولماذا هي مفيدة لمجموعة متنوعة من التطبيقات. بالإضافة إلى ذلك ، سنلقي نظرة على بعض المفاهيم الخاطئة الشائعة حول قواعد بيانات NoSQL وتطبيقاتها. وفقًا لـ DB-Engines ، تعد MongoDB قاعدة البيانات غير العلائقية الأكثر استخدامًا في العالم. لا تحتاج إلى أي برنامج على جهاز الكمبيوتر الخاص بك للاستعلام عن قاعدة بيانات MongoDB في هذا البرنامج التعليمي. الكتلة هي مجموعة من قواعد البيانات حيث يتم تخزين قواعد بيانات MongoDB . يمكن الوصول إلى مخزن بيانات Atlas عندما يكون لديك مجموعة. هناك ثلاثة أنواع من قواعد البيانات التي يمكنك إنشاؤها: يدويًا في Atlas Data Explorer ، أو في MongoDB Shell ، أو في MongoDB Compass ، اعتمادًا على لغة البرمجة المفضلة لديك.

سيوضح هذا المثال كيفية استيراد مجموعة بيانات أطلس النموذجية. قد توفر قاعدة بيانات NoSQL عددًا من المزايا للمطورين ، مثل نماذج البيانات المرنة ، والقياس الأفقي ، والاستعلامات السريعة ، وسهولة الاستخدام. يمكنك إدراج مستندات جديدة وتحرير المستندات الموجودة وحذف المستندات في Data Explorer. باستخدام إطار التجميع ، يمكنك تحليل بياناتك بطريقة فعالة للغاية. يمكنك بسهولة عرض بيانات Atlas و Atlas Data Lake على المخططات.

استعلام Nosql

غالبًا ما تُستخدم قواعد بيانات NoSQL عندما تكون قابلية التوسع أكثر أهمية من اتساق البيانات. تسمى قواعد بيانات NoSQL أحيانًا "ليس فقط SQL" للتأكيد على أنها قد تدعم لغات استعلام تشبه SQL.

في السابق ، تم دمج نماذج البيانات وأنظمة الاستعلام بشكل وثيق. يمكننا الآن إنشاء أنظمة قواعد بيانات تعطي الأولوية لإنتاجية المطور والبدء في استخلاص طريقة الاستعلام من نموذج البيانات من أجل إعطاء الأولوية لإنتاجية المطور. تم تأسيس SABER ، أول قاعدة بيانات تجارية في العالم ، في عام 1994 من قبل شركة IBM و American Airlines لتحسين كفاءة تذاكر الطيران. تم تحسين قواعد بيانات NoSQL من أجل قابلية التوسع ووقت التشغيل والتكرار والمرونة والمرونة على مدار السنوات القليلة الماضية. بالإضافة إلى إضافة خريطة تقليل كخيار في Riak و MongoDB ، قاموا أيضًا بإضافته إلى CouchDB و Riak. كنا نتوقع استعلامًا تعريفيًا مباشرًا ومباشرًا من SQL ، ولكن اتضح أنه أكثر من خدعة نصية. إذا كنت تقوم ببناء نظام قاعدة بيانات يمكن توسيعه بسهولة ، فإن الاستعلام ليس تركيزك الأساسي.

XQuery و Jsoniq هي محاولات لإنشاء لغة استعلام قياسية يمكن استخدامها لاسترداد المستندات ذات التسلسل الهرمي في قواعد بيانات المستند. تستخدم MarkLogic ، وهي قاعدة بيانات مستندات XML ، XQuery بالإضافة إلى XQuery ، بينما تستخدم ArrangoDB مجموعة شاملة خاصة بها تم ضبطها لنمذجة البيانات. كلتا اللغتين لديهما اتصال قوي بتنسيق البيانات المخزنة على القرص ، وقد تم استخدام كلا اللغتين تجاريًا. ترتبط إحدى لغتي الاستعلام أو كلتيهما المستخدمة في قاعدة بيانات المستندات بلغات الاستعلام المستخدمة في قاعدة البيانات. N1QL (أو لغة استعلام ليست من النموذج الأول) ، على عكس SQL ، تشبه بشكل كبير SQL في طبيعتها. على الرغم من حقيقة أن العلاقات لا يتم إنفاذها ، فإننا نتعاون في الوثائق ، بغض النظر عما إذا كانت رسمية أو غير رسمية. وضع كل من Couchbase و Cassandra الكثير من الوقت والجهد في فهارسهم وتحليل الاستعلام حتى يتمكنوا من الاستعلام عن البيانات بهذه الطريقة دون الحاجة إلى البحث العلائقي.

هل يمكنك الاستعلام في Nosql؟

لا يشير اسم NoSQL إلى SQL. SQL ليست الطريقة المفضلة لكتابة الاستعلام في No SQL. لا يقوم البرنامج بتخزين البيانات بتنسيق علائقي ، بل بطريقة منظمة.

ما هو نصقل المثال؟

قواعد بيانات NoSQL المستندة إلى الأعمدة ، مثل Cassandra و HBase و Hypertable ، شائعة.

هل النص أسهل من SQL؟

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

نموذج بيانات Nosql

ما هو نموذج بيانات NoSQL؟ ما هي إيجابيات وسلبيات؟ لا يوجد شيء مثل نظام إدارة قواعد البيانات العلائقية (RDBMS) ، وهذا نموذج يستحيل تكراره. نتيجة لذلك ، لا توجد طريقة واضحة للنموذج لفهم كيفية ارتباط البيانات - كيف يتم تجميعها جميعًا معًا.

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

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

هذا النموذج غير مدعوم من قبل نظام إدارة قواعد البيانات العلائقية (RDBMS) لأنه يعتمد على نموذج لا يدعمه أحد. يمكن أن يتم تخزين البيانات بعدة طرق ، بما في ذلك استخدام القرص أو الذاكرة الداخلية أو كليهما. يحتوي Redis Launchpad على عدد من التطبيقات المكتوبة باستخدام NoSQL و Redis.

بيانات طلب الوثيقة

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

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

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

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

الفرق بين المنغودب و SQL

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