ما المقصود بقاعدة بيانات NoSQL؟

12 ديسمبر 2022

ما المقصود بقاعدة بيانات NoSQL؟

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

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

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

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

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

مقارنة بين قواعد البيانات غير العلائقية ولغة الاستعلام المهيكلة

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

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

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

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

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

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

للتعمق أكثر في الاختلافات بين الخيارين، راجع "مقارنة بين قواعد بيانات لغة الاستعلام المهيكلة وقواعد البيانات غير العلائقية: ما الفرق بينهما؟"

تصميم ثلاثي الأبعاد لكرات تتدحرج على مسار

أحدث الأخبار والرؤى حول الذكاء الاصطناعي 


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

أنواع قواعد البيانات غير العلائقية

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

تدير قاعدة البيانات غير العلائقية المعلومات باستخدام أي من نماذج البيانات الأساسية هذه:

مخزن المفتاح-القيمة

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

مخزن المستندات

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

هل تريد معرفة المزيد عن MongoBD؟ راجع البرنامج التعليمي لشركة IBM حول بدء استخدام IBM Cloud Databases لـ MongoDB.

المخزن واسع الأعمدة

تخزن قواعد البيانات هذه المعلومات في أعمدة، ما يتيح للمستخدمين الوصول إلى الأعمدة المحددة التي يحتاجونها فقط من دون تخصيص ذاكرة إضافية على بيانات غير ذات صلة. وتحاول قاعدة البيانات هذه حل أوجه القصور في مخازن المفتاح-القيمة ومخازن المستندات، ولكن نظرًا لأنه يمكن أن يكون نظامًا أكثر تعقيدًا في إدارته، فلا يوصى باستخدامه للفرق والمشاريع الجديدة. يعد Apache HBase وApache Cassandra مثالين على قواعد البيانات مفتوحة المصدر واسعة الأعمدة. بُني Apache HBase فوق نظام Hadoop Distributed Files الذي يوفر طريقة لتخزين مجموعات البيانات المتفرقة التي تُستخدم عادةً في العديد من تطبيقات البيانات الضخمة. من ناحية أخرى، صُمم Apache Cassandra لإدارة كميات كبيرة من البيانات عبر خوادم متعددة وتجميعات تمتد عبر مراكز بيانات متعددة. واستُخدم لمجموعة متنوعة من حالات الاستخدام، مثل مواقع الشبكات الاجتماعية وتحليلات البيانات في الوقت الحقيقي.

مخزن الرسم البياني

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

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

المخزن داخل الذاكرة

مع هذا النوع من قواعد البيانات، مثل IBM SolidDB، تتواجد البيانات في الذاكرة الرئيسية بدلاً من القرص، ما يجعل الوصول إلى البيانات أسرع من قواعد البيانات التقليدية القائمة على القرص.

أمثلة على قواعد البيانات غير العلائقية

دخلت العديد من الشركات في مجال قواعد البيانات غير العلائقية. بالإضافة إلى تلك المذكورة أعلاه، إليك بعض قواعد البيانات غير العلائقية الشائعة:

  • Apache CouchDB، وهي قاعدة بيانات مفتوحة المصدر قائمة على مستندات JSON تستخدم JavaScript كلغة استعلام
  • Elasticsearch، وهي قاعدة بيانات قائمة على المستندات تتضمن محرك بحث نصي كامل.
  • Couchbase، وهي قاعدة بيانات قائمة على المفتاح-القيمة والمستندات تمكّن المطورين من إنشاء تطبيقات مرنة وسريعة الاستجابة للحوسبة السحابية والحوسبة المحمولة وحوسبة الحافة.

لمعرفة المزيد عن حالة قواعد البيانات، راجع "نظرة عامة موجزة على مشهد قواعد البيانات".

Mixture of Experts | بودكاست

فك تشفير الذكاء الاصطناعي: تقرير إخباري أسبوعي

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

مزايا قواعد البيانات غير العلائقية

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

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

وباختصار، توفر قواعد البيانات غير العلائقية أداءً عاليًا وتوافرًا وقابلية للتوسع.

حالات استخدام قواعد البيانات غير العلائقية

تعتمد بنية قاعدة البيانات غير العلائقية التي تختارها على كيفية تخطيط مؤسستك لاستخدامها. فيما يأتي بعض الاستخدامات المحددة لأنواع مختلفة من قواعد البيانات غير العلائقية.

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

الخدمات المصغرة وقواعد البيانات غير العلائقية

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

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

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

حلول ذات صلة
برامج وحلول قواعد البيانات

استخدم حلول قاعدة بيانات IBM لتلبية احتياجات أحمال التشغيل المتنوعة عبر السحابة الهجينة.

استكشاف حلول قواعد البيانات
قاعدة بيانات السحابة الأصلية مع IBM Db2

اكتشف، IBM Db2، وهي قاعدة بيانات علائقية توفر مستوى عالٍ من الأداء وقابلية التوسع والموثوقية لتخزين وإدارة البيانات المنظمة. وتتوفر كنظام SaaS على IBM Cloud أو للاستضافة الذاتية.

اكتشف Db2
خدمات الاستشارات في مجال البيانات والتحليلات

استفِد من قيمة بيانات المؤسسة مع IBM Consulting لبناء مؤسسة تعتمد على الرؤى لتحقيق ميزة تنافسية في الأعمال.

اكتشف خدمات التحليلات
اتخِذ الخطوة التالية

استخدم حلول قاعدة بيانات IBM لتلبية احتياجات أحمال التشغيل المتنوعة عبر السحابة الهجينة.

استكشاف حلول قواعد البيانات اكتشف IBM Db2