م.سعد الضبي Saad AL-Dheby
م.سعد الضبي Saad AL-Dheby

@Programmer2019

14 تغريدة 116 قراءة Sep 04, 2020
ثريد
في هذه التغريدة سوف نتعرف على بنية ال DataBase ومقارنتها بين ال Sql و ال NoSql
في عالم قواعد البيانات ، هناك نوعان رئيسيان هما: SQL و NoSQL
كلاهما يختلفان في طريقة بنائهما ونوع المعلومات التي يخزنانها وطريقة التخزين التي يستخدمونها.
تعريف ال SQL: هي اختصار لجملة (Structured Query Language) هي اللغة القياسية للتعامل مع قواعد البيانات او تستخدم الطريقة العلائقية التي تحدد علاقة البيانات ببعضها البعض و يتم تجزئة البيانات على شكل كائنات وكل كيان يمثل جدول ويتم ربط الجداول ببعضها عن طريق المفاتيح الاساسية
تعريف NOSQL
NoSQL هو نظام DMS غير علائقي ، ولا يعتمد على العلاقات بين الجداول ولا يتطلب مخططًا ثابتًا ، والهدف من ذلك هو التوسع
1- طريقة التخزين Storage
يخزن SQL البيانات في جداول حيث يمثل كل صف كيانًا ويمثل كل عمود نقطة بيانات.
أما طريقة تخزين ال NoSql يمكن أن تحتوي قواعد بيانات NoSQL على نماذج تخزين أدناه:
▫️ تقوم بتخزين البيانات في ملفات Documents ولا تتبع الربط بين البيانات مع انه تدعمه
ال Schema:
في SQL ينبغي عليك تصميم وانشاء الجداول قبل ادخال البيانات
لكن في NoSql فالامر ديناميكي بحيث تستطيع اضافة اعمدة جديدة اثناء ادخال البيانات
الاستعلام Querying
تستخدم قواعد بيانات SQL بناء جملة SQL لتحديد البيانات ومعالجتها ، وهو أمر قوي للغاية.
في قواعد بيانات NoSQL ، تركز الاستعلامات بشكل أكبر على مجموعة المستندات. أنواع مختلفة من قواعد البيانات لها طرق استعلام مختلفة.
قابلية التوسع:
Scalability
في معظم السيناريوهات الشائعة ، تكون قاعدة بيانات SQL قابلة للتطوير عموديًا مما يعني أنه يمكنك زيادة الحمل على خادم واحد عن طريق زيادة أشياء مثل وحدة المعالجة المركزية أو ذاكرة الوصول العشوائي أو SSD ، والتي قد تكون باهظة الثمن.
أما NoSQL قابلة للتطوير أفقيًا ، مما يعني أنه يمكننا إضافة المزيد من الخوادم بسهولة في البنية التحتية لقاعدة بيانات NoSQL الخاصة بنا للتعامل مع الكثير من حركة المرور.
هذا يعني أنك تتعامل مع المزيد من حركة المرور عن طريق التجزئة أو إضافة المزيد من الخوادم في قاعدة بيانات NoSQL
• الوثوقية Reliability (ACID):
لغة Sql هي اكثر وثوقية من NOSQL لان NoSql تضحي بالوثوقية بسبب قابلية التوسع
متى تستخدم قواعد بيانات SQL و NoSQL؟
عندما يتعلق الأمر بقواعد البيانات ، لا يوجد حل واحد يناسب جميع السيناريوهات. لهذا السبب تعتمد معظم الشركات على كلا النوعين من قواعد البيانات لحالات الاستخدام المختلفة.
على الرغم من أن قاعدة بيانات NoSQL أصبحت شائعة بسبب سرعتها وقابليتها للتوسع ، إلا أن هناك حالات تؤدي فيها قواعد بيانات SQL بشكل أفضل. لذا فإن اختيار قاعدة البيانات الصحيحة مهم.
أسباب استخدام SQL:
▫️ عندما تحتاج إلى الامتثال ACID
▫️ يتم تنظيم بياناتك والهيكل بالكاد يتغير
▫️ عند الانضمام وتنفيذ الاستعلامات المعقدة
أسباب استخدام NoSQL:
▫️ لتخزين كميات كبيرة من البيانات
▫️ بحاجة إلى قابلية التوسع
▫️ التطور السريع
▫️ البيانات ليست منظمة
شركات تدعم sql
PostgresSQL, MySQL, Oracle DB, Maria DB, Sqlite
شركات تدعم No SQL
Mongo DB, Couch DB, Cassandra, Redis, HBase etc

جاري تحميل الاقتراحات...