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