يشير المصطلح ‘NoSQL’ إلى أنواع قواعد البيانات غير العلاقية حيث تخزن قواعد البيانات هذه البيانات بصيغة تختلف عن الجداول العلاقية. ومع ذلك، يمكن الاستعلام عن قواعد بيانات NoSQL باستخدام واجهات برمجة تطبيقات لغة تعبيرية ولغات استعلام هيكلية إعلانية ولغات نموذجية للاستعلام، ولهذا السبب يُشار إليها أيضًا باسم قواعد البيانات "ليس فقط بلغة SQL".
تُستخدم قواعد البيانات NoSQL على نطاق واسع في تطبيقات الويب والبيانات الكبيرة في الوقت الحقيقي، لأن مزاياها الرئيسية هي قابلية التوسع العالية والتوافر العالي.
NoSQL تعد قواعد البيانات أيضًا الخيار المفضل للمطورين، حيث إنها تقدم نموذج تطوير يتسم بالبراعة من خلال التكيف السريع مع المتطلبات المتغيرة. تتيح قواعد بيانات NoSQL تخزين البيانات بطرق أكثر بساطة وسهولة في الفهم أو أقرب إلى طريقة استخدام البيانات من قبل التطبيقات - مع عدد أقل من التحويلات المطلوبة عند تخزينها أو استرجاعها باستخدام واجهات برمجة التطبيقات على نمط NoSQL. علاوةً على ذلك، يمكن لقواعد بيانات NoSQL الاستفادة الكاملة من السحابة لتوفير وقت تعطل لا مثيل له.
قواعد بيانات SQL علاقية، في حين أن قواعد بيانات NoSQL غير علاقية. يُعد نظام إدارة قواعد البيانات العلاقية (RDBMS) أساسًا للغة الاستعلام المنظمة (SQL) التي تتيح للمستخدمين الوصول إلى البيانات ومعالجتها في جداول منظمة للغاية. هذا نموذج أساسي لأنظمة قواعد البيانات مثل MS SQL Server وIBM DB2 وOracle وMySQL. ولكن باستخدام قواعد بيانات NoSQL، يمكن أن تختلف صياغة الوصول إلى البيانات عن قاعدة البيانات إلى قاعدة البيانات.
لفهم قواعد بيانات NoSQL، من المهم معرفة الفرق بين "نظام إدارة قواعد البيانات العلاقية" (RDBMS) والأنواع غير العلاقية لقواعد البيانات.
يتم تخزين البيانات الموجودة في RDBMS نظام إدارة قواعد البيانات العلاقية في كائنات قاعدة البيانات التي تسمى الجداول. الجدول عبارة عن مجموعة من إدخالات البيانات المرتبطة، ويتكون من أعمدة وصفوف. تتطلب قواعد البيانات هذه تعريف المخطط مقدمًا، أي أن جميع الأعمدة وأنواع البيانات المقترنة بها يجب أن تكون معروفة مسبقًا حتى تتمكن التطبيقات من كتابة البيانات في قاعدة البيانات. كما تقوم بتخزين المعلومات التي تربط الجداول المتعددة من خلال استخدام المفاتيح، مما يؤدي إلى إنشاء علاقة عبر جداول متعددة. في أبسط حالة، يتم استخدام مفتاح لاسترجاع صف معين بحيث يمكن فحصه أو تعديله.
وعلى العكس من ذلك، في قواعد بيانات NoSQL، يمكن تخزين البيانات دون تعريف المخطط مقدمًا—ما يعني أنك تتمتع بالقدرة على الانتقال والتكرار بسرعة، مع تعريف نموذج البيانات أثناء التنقل. يمكن أن يكون هذا مناسبًا لمتطلبات الأعمال المحددة، سواءً كان مستندًا إلى الرسم البياني أو مستندًا إلى العمود أو مستندًا إلى مستند أو كمخزن لقيمة المفتاح.
كانت قواعد البيانات العلاقية حتى وقت قريب أكثر النماذج استخدامًا على نطاق واسع. ولا تزال كبيرة للغاية في كل مكان مع العديد من الشركات؛ إلا أن تنوع البيانات وسرعتها وحجمها الذي يتم الوصول إليه اليوم يتطلب أحيانًا قاعدة بيانات مختلفة تمامًا لاستكمال قاعدة البيانات العلاقية. وقد أثار ذلك الاعتماد في بعض مناطق قواعد بيانات NoSQL - والتي يشار إليها أيضًا باسم "قواعد البيانات غير العلاقية". بسبب قدرتها على التوسع أفقيًا وسريعًا، يمكن لقواعد البيانات غير الارتباطية التعامل مع حركة المرور المرتفعة، الأمر الذي يجعلها أيضًا قابلة للتكيف بدرجة كبيرة.
ومع احتياج الشركات والمنظمات إلى الابتكار بسرعة، فإن القدرة على الحفاظ على مرونتها ومواصلة العمل على أي نطاق هو اسم اللعبة. توفر قواعد البيانات NoSQL مخططات مرنة وتدعم أيضًا مجموعة متنوعة من نماذج البيانات المثالية لبناء التطبيقات التي تتطلب كميات كبيرة من البيانات وزمن انتقال أو أوقات استجابة منخفضة - مثل تطبيقات الويب الخاصة بالألعاب عبر الإنترنت والتجارة الإلكترونية.
تعتمد قواعد بيانات NoSQL عادةً على بيانات غير منسقة، وتدعم أنواع التطبيقات التي تستخدم جداول (أو حاويات) أقل ولا يتم إنشاء نماذج علاقات البيانات الخاصة بها باستخدام المراجع، بل باعتبارها سجلات (أو مستندات) مضمنة. تعتمد العديد من تطبيقات الأعمال المكتبية التقليدية في مجال المالية والمحاسبة وتخطيط موارد المؤسسات على بيانات عالية التطبيع لمنع أوجه الخلل في البيانات وكذلك تكرار البيانات. وهذه هي عادةً أنواع التطبيقات التي ليست مناسبة لقاعدة بيانات NoSQL.
هناك تمييز آخر لقواعد بيانات NoSQL وهو تعقيد الاستعلام. NoSQL تعمل قواعد البيانات بشكل رائع مع الاستعلامات في جدول واحد. ومع ذلك، فمع زيادة تعقيد الاستعلامات، تكون قواعد البيانات العلاقية خيارًا أفضل. لا توفر قاعدة البيانات NoSQL عادةً روابط معقدة واستعلامات فرعية وتداخل استعلامات في عبارة WHERE.
في بعض الأحيان، لا يلزم أن يكون هناك اختيار بين قواعد البيانات العلاقية وغير العلاقية. في العديد من المناسبات، اختارت الشركات قواعد البيانات التي تقدم نموذجًا مجمعًا، حيث يمكنها استخدام مزيج من نماذج البيانات العلاقية وغير العلاقية. يوفر هذا النهج الهجين مرونة متزايدة في التعامل مع أنواع مختلفة من البيانات، مع ضمان اتساق القراءة والكتابة دون انخفاض الأداء.
أحد الصفات الرئيسية بين قواعد بيانات NoSQL وأنواع قواعد البيانات الأخرى هو أن قواعد بيانات NoSQL تستخدم عادةً وحدة تخزين غير منظمة. تم تصميم قواعد بيانات NoSQL التي تم تطويرها خلال العقدين الماضيين لإجراء استعلامات سريعة وبسيطة وبيانات هائلة وتغييرات متكررة للتطبيقات. بالإضافة إلى ذلك، فإن قواعد البيانات هذه تجعل البرمجة أكثر بساطة بالنسبة للمطورين.
هناك عامل تمييز آخر مهم وهو أن قواعد بيانات NoSQL تعتمد على عملية تسمى "تقسيم" لتوسيع النطاق أفقيًا، مما يعني أنه يمكن إضافة المزيد من الأجهزة لمعالجة البيانات عبر خوادم متعددة. يتطلب القياس الرأسي الذي تم العثور عليه في قواعد بيانات SQL الأخرى إضافة المزيد من الطاقة والذاكرة إلى الجهاز الموجود، والذي يمكن أن يكون غير قابل للاستمرار مع الحاجة إلى مزيد من التخزين.
تعني طبيعة التوسع الأفقي باستخدام قواعد بيانات NoSQL أنها تستطيع التعامل مع كميات كبيرة للغاية من البيانات - حتى مع تزايد البيانات - بطريقة أكثر فعالية. قد يكون من المفيد التفكير في القياس الرأسي مثل إضافة أرضية جديدة إلى منزلك ، في حين أن القياس الأفقي يشبه إنشاء منزل آخر بجوار المنزل الأصلي.
إن السرعة التي لم يسبق لها مثيل وحجم التفاعل الرقمي واستهلاك البيانات التي شوهدت في العقدين الماضيين كانت تتطلب من الشركات اعتماد نهج أكثر حداثة وسلاسة في كيفية تخزين البيانات وكيفية الوصول إليها. مع مطالبة المستخدمين في جميع أنحاء العالم بتدفق مستمر من المحتوى والوظائف، لا عجب أن تتكيف قواعد البيانات بسرعة. مع وضع ذلك في الاعتبار، إليك بعض الأسباب الرئيسية التي تجعل المطورين يختارون قواعد بيانات NoSQL/غير العلاقية:
هناك أربعة أنواع رئيسية من قواعد بيانات NoSQL:
تسهل Oracle NoSQL Database Cloud Service على المطورين إنشاء التطبيقات باستخدام نماذج قاعدة البيانات المستندة إلى المستندات والعمود والقيمة الأساسية التي توفر أوقات استجابة يمكن التنبؤ بها لمدة ملي ثانية مع النسخ المتماثل للبيانات للتوافر العالي. توفر الخدمة معاملات ACID وتوسيع بدون خوادم وأمان شامل وتسعير منخفض الدفع لكل استخدام.
تُعد خدمة Oracle NoSQL Database Cloud الآن جزءًا من Oracle Cloud Free Tier، والتي تتضمن تجربة ترويجية مجانية محدودة الوقت تتيح لك استكشاف مجموعة واسعة من الخدمات السحابية، بالإضافة إلى مجموعة من الخدمات "المجانية دائمًا" التي لا تنتهي صلاحيتها مطلقًا.