برنامج NoSQL التعليمي: ما هو، أنواع قواعد بيانات NoSQL وأمثلة عليها
ما هو NoSQL؟
NoSQL قاعدة البيانات هي نظام إدارة بيانات غير علائقي، ولا يتطلب مخططًا ثابتًا. إنه يتجنب الروابط، ويسهل توسيع نطاقه. الغرض الرئيسي من استخدام قاعدة بيانات NoSQL هو تخزين البيانات الموزعة ذات احتياجات تخزين البيانات الضخمة. يتم استخدام NoSQL للبيانات الضخمة وتطبيقات الويب في الوقت الفعلي. على سبيل المثال، تقوم شركات مثل Twitter وFacebook وGoogle بجمع تيرابايت من بيانات المستخدم كل يوم.
قاعدة بيانات NoSQL يرمز إلى "ليس فقط SQL" أو "ليس SQL". على الرغم من أن المصطلح الأفضل هو "NoREL"، إلا أن NoSQL انتشرت. قدم كارل ستروز مفهوم NoSQL في عام 1998.
يستخدم RDBMS التقليدي بناء جملة SQL لتخزين البيانات واستردادها للحصول على مزيد من الأفكار. بدلاً من ذلك، يشتمل نظام قاعدة بيانات NoSQL على نطاق واسع من تقنيات قواعد البيانات التي يمكنها تخزين البيانات المنظمة وشبه المنظمة وغير المنظمة ومتعددة الأشكال. دعونا نتعرف على NoSQL من خلال رسم تخطيطي في هذا البرنامج التعليمي لقاعدة بيانات NoSQL:
لماذا NoSQL؟
أصبح مفهوم قواعد بيانات NoSQL شائعًا لدى عمالقة الإنترنت مثل Google، وFacebook، Amazonوما إلى ذلك الذين يتعاملون مع كميات هائلة من البيانات. يصبح وقت استجابة النظام بطيئًا عند استخدام RDBMS لكميات هائلة من البيانات.
لحل هذه المشكلة، يمكننا "توسيع نطاق" أنظمتنا من خلال ترقية أجهزتنا الحالية. هذه العملية مكلفة.
البديل لهذه المشكلة هو توزيع تحميل قاعدة البيانات على مضيفين متعددين كلما زاد التحميل. تُعرف هذه الطريقة باسم "التحجيم".
قاعدة بيانات NoSQL غير علائقية، لذا فهي تتوسع بشكل أفضل من قواعد البيانات العلائقية لأنها مصممة مع وضع تطبيقات الويب في الاعتبار.
تاريخ موجز لقواعد بيانات NoSQL
- 1998 - استخدم كارلو ستروزي مصطلح NoSQL للإشارة إلى قاعدة بياناته العلائقية خفيفة الوزن ومفتوحة المصدر
- 2000- قاعدة بيانات الرسم البياني Neoتم إطلاق 4j
- 2004- تم إطلاق Google BigTable
- 2005-XNUMX-XNUMX CouchDB إطلاق
- 2007- ورقة بحثية عن Amazon تم الافراج عن دينامو
- 2008 - الفيسبوك مفتوح المصدر Cassandra تنفيذ المشاريع
- 2009- أعيد تقديم مصطلح NoSQL
مميزات NoSQL
غير علائقية
- قواعد بيانات NoSQL لا تتبع أبدًا نموذج علائقي
- لا تقم مطلقًا بتزويد الجداول بسجلات ذات أعمدة ثابتة
- العمل مع المجاميع القائمة بذاتها أو BLOBs
- لا يتطلب تعيين الكائنات العلائقية وتطبيع البيانات
- لا توجد ميزات معقدة مثل لغات الاستعلام، ومخططات الاستعلام، وعمليات الانضمام إلى التكامل المرجعي، وACID
خالية من المخطط
- قواعد بيانات NoSQL إما خالية من المخططات أو تحتوي على مخططات مريحة
- لا تتطلب أي نوع من تعريف مخطط البيانات
- يقدم هياكل غير متجانسة من البيانات في نفس المجال

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

أنواع قواعد بيانات NoSQL
قواعد بيانات NoSQL يتم تصنيفها بشكل أساسي إلى أربعة أنواع: زوج القيمة الرئيسية، والموجه نحو الأعمدة، والمستند إلى الرسم البياني، والموجه نحو المستندات. كل فئة لها سماتها وقيودها الفريدة. لا تعد أي من قواعد البيانات المحددة أعلاه أفضل لحل جميع المشكلات. يجب على المستخدمين تحديد قاعدة البيانات بناءً على احتياجات منتجاتهم.
أنواع قواعد بيانات NoSQL:
- على أساس زوج القيمة الرئيسية
- الرسم البياني الموجه نحو العمود
- الرسوم البيانية على أساس
- موجه المستند
زوج القيمة الرئيسية على أساس
يتم تخزين البيانات في أزواج المفتاح/القيمة. لقد تم تصميمه بطريقة تمكنه من التعامل مع الكثير من البيانات والأحمال الثقيلة.
تقوم قواعد بيانات تخزين زوج المفتاح والقيمة بتخزين البيانات كجدول تجزئة حيث يكون كل مفتاح فريدًا، ويمكن أن تكون القيمة JSON أو BLOB (كائنات ثنائية كبيرة) أو سلسلة وما إلى ذلك.
على سبيل المثال، قد يحتوي زوج المفتاح والقيمة على مفتاح مثل "موقع ويب" مرتبط بقيمة مثل "Guru99".
إنها واحدة من أبسط أمثلة قاعدة بيانات NoSQL. يتم استخدام هذا النوع من قواعد بيانات NoSQL كمجموعة وقواميس ومصفوفات ترابطية وما إلى ذلك. تساعد مخازن القيمة الأساسية المطور على تخزين بيانات أقل من المخطط. أنها تعمل بشكل أفضل لمحتويات عربة التسوق.
Redis وDynamo وRiak هي بعض أمثلة NoSQL لقواعد بيانات مخزن القيمة الرئيسية. كلها مبنية على Amazonورقة دينامو.
على أساس العمود
تعمل قواعد البيانات الموجهة نحو الأعمدة على الأعمدة وتعتمد على ورقة BigTable المقدمة من Google. يتم التعامل مع كل عمود على حدة. يتم تخزين قيم قواعد البيانات ذات العمود الواحد بشكل متجاور.

إنها تقدم أداءً عاليًا في استعلامات التجميع مثل SUM وCOUNT و AVG، MIN وما إلى ذلك حيث أن البيانات متاحة بسهولة في عمود.
تُستخدم قواعد بيانات NoSQL المبنية على الأعمدة على نطاق واسع لإدارة مستودعات البيانات، ذكاء الأعمال، CRM، كتالوجات بطاقة المكتبة،
هبيس, CassandraوHBase وHypertable هي أمثلة لاستعلام NoSQL لقاعدة البيانات القائمة على الأعمدة.
المنحى المستند
يقوم NoSQL DB الموجه نحو المستند بتخزين البيانات واستردادها كزوج قيمة رئيسي ولكن يتم تخزين جزء القيمة كمستند. يتم تخزين المستند بتنسيقات JSON أو XML. يتم فهم القيمة بواسطة قاعدة البيانات ويمكن الاستعلام عنها.
في هذا الرسم البياني الموجود على يسارك، يمكنك أن ترى أن لدينا صفوفًا وأعمدة، وعلى اليمين، لدينا قاعدة بيانات مستندات لها بنية مشابهة لـ JSON. الآن بالنسبة لقاعدة البيانات العلائقية، عليك أن تعرف ما هي الأعمدة الموجودة لديك وما إلى ذلك. ومع ذلك، بالنسبة لقاعدة بيانات المستندات، لديك مخزن بيانات مثل كائن JSON. لا تحتاج إلى تحديد ما يجعلها مرنة.
يُستخدم هذا النوع من المستندات في الغالب في أنظمة إدارة المحتوى ومنصات التدوين والتحليلات في الوقت الفعلي وتطبيقات التجارة الإلكترونية. ولا ينبغي استخدامه في المعاملات المعقدة التي تتطلب عمليات أو استعلامات متعددة ضد هياكل مجمعة مختلفة.
Amazon SimpleDB ، CouchDB, MongoDB، رياك، لوتس نوتس، MongoDB، هي وثيقة شعبية نشأت أنظمة إدارة قواعد البيانات.
على أساس الرسم البياني
تقوم قاعدة بيانات نوع الرسم البياني بتخزين الكيانات وكذلك العلاقات بين تلك الكيانات. يتم تخزين الكيان كعقدة مع العلاقة كحواف. الحافة تعطي علاقة بين العقد. كل عقدة وحافة لها معرف فريد.
بالمقارنة مع قاعدة البيانات العلائقية حيث تكون الجداول متصلة بشكل غير محكم، فإن قاعدة بيانات الرسم البياني هي قاعدة بيانات متعددة العلاقات بطبيعتها. يتم اجتياز العلاقة بسرعة حيث تم التقاطها بالفعل في قاعدة البيانات، وليس هناك حاجة لحسابها.
تستخدم قاعدة بيانات الرسم البياني في الغالب للشبكات الاجتماعية والخدمات اللوجستية والبيانات المكانية.
Neo4J، الرسم البياني اللانهائي, OrientDBFlockDB هي بعض قواعد البيانات الشائعة القائمة على الرسوم البيانية.
أدوات آلية الاستعلام لـ NoSQL
آلية استرداد البيانات الأكثر شيوعًا هي الاسترداد المستند إلى REST للقيمة بناءً على مفتاحها/معرفها مع مورد GET
توفر قاعدة بيانات مخزن المستندات استعلامات أكثر صعوبة لأنها تفهم القيمة في زوج القيمة الرئيسية. على سبيل المثال، CouchDB يسمح بتعريف طرق العرض باستخدام MapReduce
ما هي نظرية CAP؟
وتسمى نظرية CAP أيضًا بنظرية بروير. تنص على أنه من المستحيل أن يقدم مخزن البيانات الموزع أكثر من ضمانين من أصل ثلاثة
- اتساق
- التوفر
- التسامح التقسيم
الاتساق:
يجب أن تظل البيانات متسقة حتى بعد تنفيذ عملية ما. وهذا يعني أنه بمجرد كتابة البيانات، يجب أن يحتوي أي طلب قراءة مستقبلي على تلك البيانات. على سبيل المثال، بعد تحديث حالة الطلب، يجب أن يتمكن جميع العملاء من رؤية نفس البيانات.
المخزون:
يجب أن تكون قاعدة البيانات متاحة دائمًا وسريعة الاستجابة. لا ينبغي أن يكون هناك أي توقف.
التسامح التقسيم:
يعني تسامح القسم أن النظام يجب أن يستمر في العمل حتى لو كان الاتصال بين الخوادم غير مستقر. على سبيل المثال، يمكن تقسيم الخوادم إلى مجموعات متعددة والتي قد لا تتواصل مع بعضها البعض. هنا، إذا كان جزء من قاعدة البيانات غير متاح، فلن تتأثر الأجزاء الأخرى دائمًا.
الاتساق في نهاية المطاف
يعني مصطلح "الاتساق النهائي" الحصول على نسخ من البيانات على أجهزة متعددة للحصول على درجة عالية من التوفر وقابلية التوسع. وبالتالي، يجب نشر التغييرات التي تم إجراؤها على أي عنصر بيانات على جهاز واحد إلى النسخ المتماثلة الأخرى.
قد لا يكون تكرار البيانات فوريًا، حيث سيتم تحديث بعض النسخ على الفور بينما يتم تحديث نسخ أخرى في الوقت المناسب. قد تكون هذه النسخ متبادلة، ولكن مع مرور الوقت، تصبح متسقة. ومن هنا جاء اسم الاتساق النهائي.
BASE: Bاساسيا Aمتوفر ، Sفي كثير من الأحيان ، Eالاتساق الظاهري
- في الأساس، تعني كلمة "متاح" أن قاعدة البيانات متاحة طوال الوقت وفقًا لنظرية CAP
- الحالة الناعمة تعني حتى بدون مدخلات؛ قد تتغير حالة النظام
- ويعني الاتساق النهائي أن النظام سيصبح متسقًا بمرور الوقت
مزايا NoSQL
- يمكن استخدامه كمصدر بيانات أساسي أو تحليلي
- القدرة على البيانات الكبيرة
- لا توجد نقطة فشل واحدة
- النسخ المتماثل السهل
- لا حاجة لطبقة التخزين المؤقت منفصلة
- يوفر أداءً سريعًا وقابلية للتوسع الأفقي.
- يمكنه التعامل مع البيانات المنظمة وشبه المنظمة وغير المنظمة بنفس التأثير
- البرمجة الشيئية سهلة الاستخدام ومرنة
- لا تحتاج قواعد بيانات NoSQL إلى خادم مخصص عالي الأداء
- دعم اللغات والمنصات الرئيسية للمطورين
- سهلة التنفيذ من استخدام RDBMS
- يمكن أن يكون بمثابة مصدر البيانات الأساسي للتطبيقات عبر الإنترنت.
- يتعامل مع البيانات الضخمة التي تدير سرعة البيانات وتنوعها وحجمها وتعقيدها
- يتميز بالتفوق في عمليات قواعد البيانات الموزعة ومراكز البيانات المتعددة
- يلغي الحاجة إلى طبقة تخزين مؤقت محددة لتخزين البيانات
- يقدم تصميم مخطط مرن يمكن تغييره بسهولة دون توقف أو انقطاع الخدمة
عيوب NoSQL
- لا توجد قواعد التوحيد
- قدرات الاستعلام محدودة
- RDBMS قواعد البيانات والأدوات ناضجة نسبيا
- إنه لا يوفر أي إمكانيات تقليدية لقاعدة البيانات، مثل الاتساق عند إجراء معاملات متعددة في وقت واحد.
- عندما يزداد حجم البيانات، يكون من الصعب الحفاظ على قيم فريدة حيث تصبح المفاتيح صعبة
- لا يعمل بشكل جيد مع البيانات العلائقية
- منحنى التعلم صعب بالنسبة للمطورين الجدد
- الخيارات مفتوحة المصدر لا تحظى بشعبية كبيرة لدى المؤسسات.
ملخص
- NoSQL عبارة عن نظام إدارة بيانات غير علائقي، ولا يتطلب مخططًا ثابتًا، ويتجنب عمليات الانضمام، كما أنه سهل التوسع
- أصبح مفهوم قواعد بيانات NoSQL شائعًا لدى عمالقة الإنترنت مثل Google، وFacebook، Amazonوما إلى ذلك الذين يتعاملون مع كميات هائلة من البيانات
- في عام 1998 - استخدم كارلو ستروزي مصطلح NoSQL لقاعدة بياناته العلائقية خفيفة الوزن ومفتوحة المصدر.
- لا تتبع قواعد بيانات NoSQL أبدًا النموذج العلائقي، فهي إما خالية من المخططات أو تحتوي على مخططات مريحة
- أربعة أنواع من قاعدة بيانات NoSQL هي 1). زوج القيمة الرئيسية على أساس 2). الرسم البياني الموجه نحو العمود 3). الرسوم البيانية على أساس 4). موجه نحو الوثيقة
- يمكن لـ NOSQL التعامل مع البيانات المنظمة وشبه المنظمة وغير المنظمة بنفس التأثير
- تتكون نظرية CAP من ثلاث كلمات: الاتساق والتوافر والتسامح مع التقسيم
- BASE تعني Bاساسيا Aمتوفر ، Sفي كثير من الأحيان ، Eالاتساق الظاهري
- يعني مصطلح "الاتساق النهائي" الحصول على نسخ من البيانات على أجهزة متعددة للحصول على درجة عالية من التوفر وقابلية التوسع
- NOSQL تقديم قدرات استعلام محدودة






