برنامج NoSQL التعليمي: ما هو، أنواع قواعد بيانات NoSQL وأمثلة عليها

ما هو NoSQL؟

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

قاعدة بيانات NoSQL يرمز إلى "ليس فقط SQL" أو "ليس SQL". على الرغم من أن المصطلح الأفضل هو "NoREL"، إلا أن NoSQL انتشرت. قدم كارل ستروز مفهوم NoSQL في عام 1998.

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

قاعدة بيانات NoSQL

لماذا NoSQL؟

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

لحل هذه المشكلة، يمكننا "توسيع نطاق" أنظمتنا من خلال ترقية أجهزتنا الحالية. هذه العملية مكلفة.

البديل لهذه المشكلة هو توزيع تحميل قاعدة البيانات على مضيفين متعددين كلما زاد التحميل. تُعرف هذه الطريقة باسم "التحجيم".

NoSQL

قاعدة بيانات NoSQL غير علائقية، لذا فهي تتوسع بشكل أفضل من قواعد البيانات العلائقية لأنها مصممة مع وضع تطبيقات الويب في الاعتبار.

تاريخ موجز لقواعد بيانات NoSQL

  • 1998 - استخدم كارلو ستروزي مصطلح NoSQL للإشارة إلى قاعدة بياناته العلائقية خفيفة الوزن ومفتوحة المصدر
  • 2000- قاعدة بيانات الرسم البياني Neoتم إطلاق 4j
  • 2004- تم إطلاق Google BigTable
  • 2005- تم إطلاق CouchDB
  • 2007- ورقة بحثية عن Amazon تم الافراج عن دينامو
  • 2008 - الفيسبوك مفتوح المصدر Cassandra تنفيذ المشاريع
  • 2009- أعيد تقديم مصطلح NoSQL

مميزات NoSQL

غير علائقية

  • قواعد بيانات NoSQL لا تتبع أبدًا نموذج علائقي
  • لا تقم مطلقًا بتزويد الجداول بسجلات ذات أعمدة ثابتة
  • العمل مع المجاميع القائمة بذاتها أو BLOBs
  • لا يتطلب تعيين الكائنات العلائقية وتطبيع البيانات
  • لا كومplex ميزات مثل لغات الاستعلام ومخططي الاستعلام وروابط التكامل المرجعي وACID

خالية من المخطط

  • قواعد بيانات NoSQL إما خالية من المخططات أو تحتوي على مخططات مريحة
  • لا تتطلب أي نوع من تعريف مخطط البيانات
  • عروض غير متجانسةneoلنا هياكل البيانات في نفس المجال
مميزات NoSQL
NoSQL خالي من المخططات

واجهة برمجة تطبيقات بسيطة

  • يوفر واجهات سهلة الاستخدام لتخزين البيانات والاستعلام عنها
  • تسمح واجهات برمجة التطبيقات بمعالجة البيانات وطرق الاختيار على مستوى منخفض
  • تُستخدم البروتوكولات المستندة إلى النصوص غالبًا مع HTTP REST مع JSON
  • لا تستخدم في الغالب لغة استعلام NoSQL قياسية
  • قواعد البيانات الممكّنة على الويب والتي تعمل كخدمات مواجهة للإنترنت

وزعت

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

أنواع قواعد بيانات NoSQL

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

أنواع قواعد بيانات NoSQL:

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

أنواع قواعد بيانات NoSQL

زوج القيمة الرئيسية على أساس

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

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

على سبيل المثال، قد يحتوي زوج المفتاح والقيمة على مفتاح مثل "موقع ويب" مرتبط بقيمة مثل "Guru99".

زوج القيمة الرئيسية على أساس

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

Redis وDynamo وRiak هي بعض أمثلة NoSQL لقواعد بيانات مخزن القيمة الرئيسية. كلها مبنية على Amazonورقة دينامو.

على أساس العمود

تعمل قواعد البيانات الموجهة نحو الأعمدة على الأعمدة وتعتمد على ورقة BigTable المقدمة من Google. يتم التعامل مع كل عمود على حدة. يتم تخزين قيم قواعد البيانات ذات العمود الواحد بشكل متجاور.

قاعدة بيانات NoSQL القائمة على العمود

قاعدة بيانات NoSQL القائمة على العمود

إنها تقدم أداءً عاليًا في استعلامات التجميع مثل SUM وCOUNT و AVG، MIN وما إلى ذلك حيث أن البيانات متاحة بسهولة في عمود.

تُستخدم قواعد بيانات NoSQL المبنية على الأعمدة على نطاق واسع لإدارة مستودعات البيانات، ذكاء الأعمال، CRM، كتالوجات بطاقة المكتبة،

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

المنحى المستند

يقوم NoSQL DB الموجه نحو المستند بتخزين البيانات واستردادها كزوج قيمة رئيسي ولكن يتم تخزين جزء القيمة كمستند. يتم تخزين المستند بتنسيقات JSON أو XML. يتم فهم القيمة بواسطة قاعدة البيانات ويمكن الاستعلام عنها.

العلائقية مقابل. وثيقة

العلائقية مقابل. وثيقة

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

يتم استخدام نوع المستند في الغالب لـ أنظمة إدارة المحتوى (CMS).ومنصات التدوين والتحليلات في الوقت الحقيقي وتطبيقات التجارة الإلكترونية. لا ينبغي أن تستخدم لكومplex المعاملات التي تتطلب عمليات أو استعلامات متعددة مقابل هياكل مجمعة مختلفة.

Amazon سيمبلي دي بي، كاوتش دي بي، MongoDB، رياك، لوتس نوتس، MongoDB، هي وثيقة شعبية نشأت أنظمة إدارة قواعد البيانات.

على أساس الرسم البياني

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

على أساس الرسم البياني

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

تستخدم قاعدة بيانات الرسم البياني في الغالب للشبكات الاجتماعية والخدمات اللوجستية والبيانات المكانية.

Neo4J، الرسم البياني اللانهائي, OrientDBFlockDB هي بعض قواعد البيانات الشائعة القائمة على الرسوم البيانية.

أدوات آلية الاستعلام لـ NoSQL

آلية استرداد البيانات الأكثر شيوعًا هي الاسترداد المستند إلى REST للقيمة بناءً على مفتاحها/معرفها مع مورد GET

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

ما هي نظرية CAP؟

وتسمى نظرية CAP أيضًا بنظرية بروير. تنص على أنه من المستحيل أن يقدم مخزن البيانات الموزع أكثر من ضمانين من أصل ثلاثة

  1. اتساق
  2. التوفر
  3. التسامح التقسيم

الاتساق:

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

المخزون:

يجب أن تكون قاعدة البيانات متاحة دائمًا وسريعة الاستجابة. لا ينبغي أن يكون هناك أي توقف.

التسامح التقسيم:

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

الاتساق في نهاية المطاف

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

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

BASE: Bاساسيا Aمتوفر ، Sفي كثير من الأحيان ، Eالاتساق الظاهري

  • في الأساس، تعني كلمة "متاح" أن قاعدة البيانات متاحة طوال الوقت وفقًا لنظرية CAP
  • الحالة الناعمة تعني حتى بدون مدخلات؛ قد تتغير حالة النظام
  • ويعني الاتساق النهائي أن النظام سيصبح متسقًا بمرور الوقت

الاتساق في نهاية المطاف

مزايا NoSQL

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

عيوب NoSQL

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

نبذة عامة

  • NoSQL عبارة عن نظام إدارة بيانات غير علائقي، ولا يتطلب مخططًا ثابتًا، ويتجنب عمليات الانضمام، كما أنه سهل التوسع
  • أصبح مفهوم قواعد بيانات NoSQL شائعًا لدى عمالقة الإنترنت مثل Google، وFacebook، Amazonوما إلى ذلك الذين يتعاملون مع كميات هائلة من البيانات
  • في عام 1998 - استخدم كارلو ستروزي مصطلح NoSQL لقاعدة بياناته العلائقية خفيفة الوزن ومفتوحة المصدر.
  • لا تتبع قواعد بيانات NoSQL أبدًا النموذج العلائقي، فهي إما خالية من المخططات أو تحتوي على مخططات مريحة
  • أربعة أنواع من قاعدة بيانات NoSQL هي 1). زوج القيمة الرئيسية على أساس 2). الرسم البياني الموجه نحو العمود 3). الرسوم البيانية على أساس 4). موجه نحو الوثيقة
  • يمكن لـ NOSQL التعامل مع البيانات المنظمة وشبه المنظمة وغير المنظمة بنفس التأثير
  • تتكون نظرية CAP من ثلاث كلمات: الاتساق والتوافر والتسامح مع التقسيم
  • BASE تعني Bاساسيا Aمتوفر ، Sفي كثير من الأحيان ، Eالاتساق الظاهري
  • يعني مصطلح "الاتساق النهائي" الحصول على نسخ من البيانات على أجهزة متعددة للحصول على درجة عالية من التوفر وقابلية التوسع
  • NOSQL تقديم قدرات استعلام محدودة