SQL هي طريقة عمرها عقود من الزمن للوصول إلى قواعد البيانات العلائقية، ومعظم الأشخاص الذين يعملون مع قواعد البيانات على دراية بها. مع تغير البيانات غير المنظمة وكميات التخزين وقوة المعالجة وأنواع التحليلات على مر السنين، فقد شهدنا توفر تقنيات قواعد بيانات مختلفة تناسب بشكل أفضل أنواع حالات الاستخدام الأحدث. تُسمَّى قواعد البيانات هذه عادة NoSQL.
تختلف SQL عن NoSQL فيما إذا كانت علائقية (SQL) أم غير علائقية (NoSQL)، وإذا ما كانت مخططاتهما محددة مسبقًا أو ديناميكية، وكيفية توسعهما، ونوع البيانات التي تتضمنها وإذا ما كانت أكثر ملاءمة للمعاملات متعددة الصفوف أو البيانات غير المنظمة.
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.
SQL، والتي تعني "لغة الاستعلام الهيكلية"، هي لغة البرمجة التي تم استخدامها على نطاق واسع في إدارة البيانات في أنظمة إدارة قواعد البيانات العلائقية (RDBMS) منذ سبعينيات القرن العشرين. في السنوات الأولى، عندما كان التخزين باهظ الثمن، ركزت قواعد بيانات SQL Database على تقليل ازدواجية البيانات.
وبالانتقال السريع إلى يومنا هذا، لا تزال SQL تُستخدم على نطاق واسع في استعلام قواعد البيانات العلائقية، حيث يتم تخزين البيانات في صفوف وجداول مرتبطة بطرق مختلفة. قد يرتبط سجل جدول واحد بآخر أو بالعديد من سجلات الجداول الأخرى، أو قد تكون العديد من سجلات الجدول مرتبطة بالعديد من السجلات في جدول آخر. تتميز قواعد البيانات العلائقية هذه، التي توفر تخزينًا سريعًا للبيانات واستعادتها، بالقدرة على التعامل مع كميات كبيرة من البيانات واستعلامات SQL المعقدة.
NoSQL عبارة عن قاعدة بيانات غير علائقية، ما يعني أنها تسمح بهياكل مختلفة عن قاعدة بيانات SQL (ليس الصفوف والأعمدة) ومرونة أكبر لاستخدام التنسيق الذي يناسب البيانات بشكل أفضل. لم تتم صياغة مصطلح "NoSQL" حتى أوائل عام 2000. هذا لا يعني أن الأنظمة لا تستخدم SQL، حيث إن قواعد بيانات NoSQL تدعم في بعض الأحيان بعض أوامر SQL. بتعبير أدق، يتم تعريف "NoSQL" في بعض الأحيان على أنه "ليس SQL فقط".
لوضع الأساس، شاهد الفيديو التالي من Jamil Spain:
تُعدُّ قواعد بيانات SQL ذات قيمة في التعامل مع البيانات المنظَّمة، أو البيانات التي لها علاقات بين متغيراتها وكياناتها.
بشكل عام، يمكن لقواعد بيانات SQL التوسع عموديًا، ما يعني أنه يمكنك زيادة الحمل على الخادم عن طريق الانتقال إلى خادم أكبر يضيف المزيد من القدرات أو وحدة المعالجة المركزية أو ذاكرة الوصول العشوائي أو SSD . بينما يتم استخدام قابلية التوسع الرأسي في أغلب الأحيان، يمكن لقواعد بيانات SQL أيضًا التوسع أفقيًا من خلال منطق التجزئة أو التقسيم، على الرغم من أن ذلك غير مدعوم بشكل جيد.
ينظم مخطط قاعدة بيانات SQL البيانات بطرق جدولية علائقية، باستخدام جداول تحتوي على أعمدة أو سمات وصفوف من السجلات. نظرًا لأن SQL تعمل بمخطط محدد مسبقًا بشكل صارم، فإنه يتطلب تنظيم وهيكلة البيانات قبل البدء بقاعدة بيانات SQL.
يجب أن تتسم أنظمة إدارة قواعد البيانات الرقمية التي تستخدم SQL بأربع خصائص. تضمن هذه معالجة المعاملات بنجاح وأن قاعدة بيانات SQL تتمتع بمستوى عالٍ من الموثوقية:
نظرًا لأن قواعد بيانات SQL لها تاريخ طويل الآن، لديها مجتمعات كبيرة، والعديد من الأمثلة على قواعدها البرمجية المستقرة على الإنترنت. هناك العديد من الخبراء المتاحين لدعم SQL وبرمجة البيانات العلائقية.
على عكس SQL، تسمح لك أنظمة NoSQL بالعمل مع هياكل بيانات مختلفة داخل قاعدة بيانات. نظرًا لأنها تسمح بمخطط ديناميكي للبيانات غير المنظمة، فهناك حاجة أقل للتخطيط المسبق وتنظيم البيانات مسبقًا، كما يُصبح إجراء التعديلات أسهل. وتتيح لك قواعد بيانات NoSQL إضافة سمات وحقول جديدة، فضلًا عن استخدام بناء جملة متنوع عبر قواعد البيانات.
وتتميز قواعد بيانات NoSQL بقدرة أفضل على التوسع أفقيًا، ما يعني أنه يمكنك إضافة خوادم أو عُقد إضافية حسب الحاجة لزيادة الحمل.
قواعد بيانات NoSQL ليست علائقية؛ لذلك، لا يقتصر الأمر على تخزين البيانات في الصفوف والجداول فقط. بل إنها تنقسم عمومًا إلى أحد أربعة أنواع من الهياكل:
في حين أن SQL تتطلب خصائص ACID، فإن NoSQL يتبع نظرية CAP (على الرغم من أن بعض قواعد بيانات NoSQL - مثل IBM's DB2، وMongoDB، وAWS's DynamoDB، وApache's CouchDB - يمكنها أيضًا دمج قواعد ACID واتباعها).
تنص نظرية CAP على أن أنظمة البيانات الموزعة تسمح بمقايضة يمكنها ضمان اثنتين فقط من الخصائص الثلاث التالية (التي تشكل اختصار CAP) في أي وقت:
على الرغم من اعتماد NoSQL بسرعة، إلا إن مجتمعات المستخدمين الخاصة بها أقل، وبالتالي فإن الدعم الذي تحظى به أقل. يستفيد مستخدمو NoSQL من الأنظمة مفتوحة المصدر، على عكس العديد من لغات SQL المملوكة.
يُعد SQL خيارًا جيدًا عند العمل بالبيانات العلائقية. قواعد البيانات العلائقية فعالة ومرنة ويسهل الوصول إليها بواسطة أي تطبيق. من فوائد قاعدة البيانات العلائقية أنه عندما يقوم أحد المستخدمين بتحديث سجل معين، يتم تحديث كل مثيل لقاعدة البيانات تلقائيًا، ويتم توفير هذه المعلومات في الوقت الفعلي.
تجعل لغة SQL وقواعد البيانات العلائقية من السهل التعامل مع قدر كبير من المعلومات، وتوسيع النطاق حسب الضرورة، والسماح بالوصول المرن إلى البيانات - حيث تحتاج فقط إلى تحديث البيانات مرة واحدة بدلًا من تغيير ملفات متعددة على سبيل المثال. كما أنها الأفضل لتقييم سلامة البيانات. نظرًا لأنه يتم تخزين كل جزء من المعلومات في مكان واحد، فلا توجد مشكلة في إرباك الإصدارات السابقة للصورة.
تستخدم معظم شركات التكنولوجيا الكبرى SQL، بما في ذلك Uber وNetflix وAirbnb. حتى الشركات الكبرى مثل Google وFacebook وAmazon، التي تبني أنظمة قواعد البيانات الخاصة بها، تستخدم SQL للاستعلام عن البيانات وتحليلها.
في حين أن SQL ذات قيمة لضمان صحة البيانات، فإن NoSQL جيدة عندما يكون توفر البيانات الكبيرة سريعًا أكثر أهمية. وهي أيضًا اختيار جيد عندما تحتاج الشركة إلى توسيع النطاق بسبب المتطلبات المتغيرة. كما أن NoSQL سهلة الاستخدام ومرنة وتوفر أداءً عاليًا.
وتُعدُّ NoSQL أيضًا خيارًا جيًدا عندما تكون هناك كميات كبيرة من مجموعات البيانات (أو المتغيرة باستمرار) أو عند العمل مع نماذج بيانات مرنة أو احتياجات لا تتناسب مع نموذج علائقي. عند العمل مع كميات كبيرة من البيانات غير المنظمة، تكون قواعد بيانات المستندات (مثل CouchDB وMongoDB وAmazon DocumentDB) مناسبة تمامًا. للوصول السريع إلى التخزين بدون ضمانات قوية للسلامة، قد يكون Redis هو الخيار الأفضل. عندما تكون هناك حاجة إلى بحث معقَّد أو مرن عبر الكثير من البيانات، يُعد Elastic Search خيارًا جيدًا.
وتُعد قابلية التوسع إحدى الفوائد المهمة لقواعد بيانات NoSQL. وعلى عكس SQL، فإن متطلبات التجزئة المضمَّنة والتوافر العالي تسمح بالتوسع الأفقي. علاوةً على ذلك، فإن قواعد بيانات NoSQL مثل Cassandra، التي طورتها شركة Facebook، تتعامل مع كميات هائلة من البيانات المنتشرة عبر العديد من الخوادم، دون وجود نقاط فشل واحدة، مما يوفر أقصى قدر من التوافر.
تشمل الشركات الكبرى الأخرى التي تستخدم أنظمة NoSQL لأنها تعتمد على كميات كبيرة من البيانات غير المناسبة لقاعدة البيانات العلائقية Amazon وGoogle وNetflix. وبشكل عام، كلما كانت مجموعة البيانات أكثر شمولًا، زادت احتمالية أن يكون NoSQL خيارًا أفضل.
يعد اختيار قاعدة بيانات أو اقتراح قاعدة بيانات مسؤولية رئيسية لمعظم الخبراء، و"SQL مقابل NoSQL" هو معيار مفيد لصناعة القرار. عند التفكير في أيٍّ من قاعدتي البيانات، من المهم أيضًا مراعاة احتياجات البيانات الحساسة والمقايضات المقبولة التي تؤدي إلى تحقيق أهداف الأداء ومدة التشغيل.
يدعم IBM Cloud الإصدارات المستضافة على السحابة للعديد من قواعد البيانات SQL وNoSQL باستخدام قواعد البيانات السحابية الأصلية. للحصول على إرشادات إضافية حول اختيار الخيار الأفضل لك، راجع "نظرة عامة موجزة على مشهد قاعدة البيانات" و"كيفية اختيار قاعدة بيانات على IBM Cloud".
هل أنت مهتم بالتعمق أكثر في قواعد البيانات الفردية؟ اطَّلع على سلسلة منشورات مدونتنا "Database Deep Dives".
صمم استراتيجية بيانات تقضي على صوامع البيانات، وتقلل من التعقيدات وتحسّن جودة البيانات للحصول على تجارب استثنائية للعملاء والموظفين.
يتيح لك watsonx.data توسيع نطاق التحليلات والذكاء الاصطناعي باستخدام جميع بياناتك، أينما كانت، من خلال مخزن بيانات مفتوح وهجين ومُدار.
استفِد من قيمة بيانات المؤسسة باستخدام IBM Consulting، من خلال بناء مؤسسة تعتمد على الرؤى التي تقدِّم ميزة للأعمال.