jeudi 30 août 2018

ما هو NoSQL  وما الفرق بينه وبين  SGBDR؟

ما هو NoSQL وما الفرق بينه وبين SGBDR؟

ما هو NoSQL  وما الفرق بينه وبين  SGBDR؟



 SGBDR هو نظام لإدارة قواعد البيانات بشكل علائقي، لكن ما الذي يعنيه هذا ؟ هذا يعني ان البيانات يتم تخزينها في قواعد البيانات على شكل جداول، بحث ان لكل جدول إسم معين تحت إسم قاعدة بيانات محددة، يمكن لقاعدة البيانات ان تضم عددا كبيرا من الجداول، يتكون الجدول من عناصر داخلية أيضا تسمى بالـ Columns أو الأعمدة، يتخصص العمود بالإسم و نوع المدخل الذي يقبله كقيمة Value، اي مثلا عمود الإسم يقبل Value من نوع Varchar(50) على سبيل المثال، اي نص لا يتجاوز عدد أحرفه 50 حرفا

يتم الربط بين الجداول في قواعد البيانات حسب الحاجة، إذ يوجد مجموعة من خواص الربط مثل (One to One , One to Many, Many to Many ...)، يتم الربط بين جدول و جدول اخر عبر مفتاح خارجي Foreign Key يتم إضافته في الجدول الثاني، يحتوي هذا الأخير قمة نفس الـ Primary Key الخاص بالجدول الأول، و بذلك يتم الربط بينهما، في حالة many-to-many على سبيل المثال يتم إنشاء جدول جديد يضم Primary Key الخاص بالجدولين دفعة واحدة و يكونان Primary Key أساسيات العلاقات يمكنك الإطلاع عليها أكثر  
بإختصار مختصر شديد الإختصار، النظام العلائقي يتكون من جداول ذات اعمدة محددة لنوع القيمة و يتم الربط بينها عبر الـ Foreign Keys .


الـ NoSQL  و هي إختصار لعبارة Not Only SQL، في نظاك SGBDR نعتمد على قاعدة بيانات ثم وسطها جداول و وسط الجداول اعمدة و كل جدول مربوط مع جدول اخر حسب الحاجة، تأتي الـ NoSQL لتقول لنا تبا لكل هذا، انت لست بحاجة الى كل هذا التنظيم، يمكن فعل الأمر بطريقة أخرى و هي طريقة Structured، بحيث يوجد العنصر الأصلي او الـ Root او الجذر في رأس الـ Structure، ثم أسفلها عناصر محددة، لكل عنصر Key خاص به او مفتاح من أجل تعريفه مثل id، و لكل Key قيمة خاصة به تسمى Value ، و تحمل الـ Value اي قيمة كيفما كانت بدون تحديد سابق لقيمتها كما في الـ SGBDR، لتصير النتيجة النهائية نتيجة على شكل شجرة مهيكلة ( كما في الصورة اعلاه ) و يمكن إستخراج تلك البيانات على شكل قيم Json إن صح التعبير
لا نحتاج في الـ NoSql إلى انشاء قاعدة بيانات ( بل نحتاج الى إنشاء Directory Root الذي يلعب دور قاعدة البيانات ) و لا نحتاج الى تحديد الجداول، و لا نحتاج الى تحديد قيم محددة لكل عنصر، و لا نحتاج الى تعديد نوع البيانات التي يمكن إدخالها في كل مفتاح، قد تعتقد للوهلة الأولى ان الأمر عشوائي، لكم يمكن تنظيمه و يمكن جلب البيانات التي تريد عن طريق جلب الـ Direcotry الأول ثم الـ Childs الخاصة به .

من يستخدم NoSQL ؟
ان مفهوم القواعد البيانات العلائقية غير مناسب إطلاقا حين يتم التعامل مع قواعد بيانات بشكل ضخم ( خصوصا في مجال الـ Big Data ) بحيث يتم تخزين في كل ثانية آلاف المعلومات الغير محددة و المحددة، فمثلا يتم تخزين صور و نصوص فقط في الوف البيانات المستخرجة في الثانية، بل احتمالية إستخراج اي نوع من البيانات كانت، ثم القيام بعملية الفلترة لاحقا، لذلك إرتأت العديد من الشركات ان النظام العلائقي غير مناسب لأسباب سنذكرها لك في الفقرة القادمة، فالنظام العلائقي محدود بالأساس في نوع البيانات المخزنة، لذلك وجب عليك إستخدام نظام جديد لتخزين البيانات و كان الـ NoSQL هو الحل

اليوم تستخدم كل الشركات الكبرى عالميا و خصوصا الرائدة في مجال البيانات الضخمة و الـ Big Data الـ NoSQL، من فيسبوك و تويتر و جوجل و مايكروسوفت و غيرها من الشركات، و لك أنت أيضا الحق كمستخدم عادي إستخدام الـ NoSQL متى إحتجتها كذلك، او في أي مشروع برمجي لك أيضا

المنصات التي تدعم النوعين، فمع أن الـ NoSQL قوية إلا انها لازالت غير مدعومة من العديد من منصات إدارة قواعد البيانات، على عكس الـ SGBDR المدعوم تقريبا من العديد من الـ Web Servers و منصات إدارة قواعد البيانات
أهم منصة تدعم الـ NoSQL حاليا هي الـ MongoDB، و ربما هو الأشهر أيضا، يوجد أيضا منصات اخرى مثل OrientDB و ClusterPoint و غيرها، لكن MongoDB هي الأشهر و الأكثر إستخداما في إدارة الـ NoSQL، إلى جانب أيضا منصة Firebase من جوجل التي تدعم إنشاء قواعد من نوع NoSQL و التعامل معها

التسميات:
واتساب

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

Aucun commentaire:

Enregistrer un commentaire