عام

ما هي ال NOSQL وما الحاجة لها ؟

على فرض أننا قمنا بانشاء جدول باستخدام SQL يحتوي على (اسم المستخدم والبريد الالكتروني  و رقم الهاتف )

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

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

لذلك هناك عدة طرق لحل هذه المشكلة وهي :

  • ان نقوم بالـ Vertical Scaling او Scale-up للخوادم وهي تعني اضافة المزيد من الذاكرة والمعاجلات والاقراص الصلبة، لكن سنصل في نهاية الأمر لمرحلة لا يمكننا فيها اضافة المزيد من الموارد، إضافة لكون هذه الطريقة مكلفة جداً.
  • وأيضا  ان نقوم بالـ Horizontal Scaling او Scale-out وهي تعني اضافة المزيد من الخوادم وايصالها ببعضها البعض عوضاً عن إضافة المزيد من الموارد لخادم واحد فقط. هذه العملية لا تتعامل معها قواعد بيانات الـ SQL بطريقة ممتازة وكفائة عالية جداً حيث أنه لا يمكن ان تضمن صحة البيانات المتواجدة على الخوادم المختلفة في نفس الوقت اضافةً إلى كون الاستعلام عن جداول على خوادم مختلفة (عمل Join فيما بينهم) لا يخدم الاداء المطلوب.

لذلك تم تطوير قواعد البيانات NOSQL للتغلب على بعض القصور الموجود في قواعد بيانات SQL أثناء عملية التوسع (Scaling) والتعامل مع البيانات الضخمة.

حيث ان قواعد البيانات NOSQL تفضل الإستغناء عن مبدأ الـ Consistincy (ببساطة هو جعل البيانات متشابهة تماماً في جميع نسخ قواعد البيانات المنتشرة على خوادم مختلفة) مقابل الحصول على أداء عالي وجعل البيانات متاحة في جميع الأوقات (Performance and Availability).

أهم مزايا قواعد بيانات الـ NOSQL:

  • تقوم بتخزين البيانات في ملفات (Documents) عوضاً عن الجداول.
  • لا تتبع تصميم ثابت.
  • لا تستخدم لغة الـ SQL للاستعلام عن البيانات.
  • تدعم الـJoin للربط بين الملفات (Documents) ولكن لا تشجع على استخدامها.
  • لاتشجع على مبدأ الـ Normalization ولا مانع في تكرار البيانات.
  • تدعم التوسع واتاحة البيانات في جميع الاوقات بشكل ممتاز (Performance and Availability).

عن الكاتب

سهاد نصار

اترك تعليق

14 − ثلاثة عشر =

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.