لا توجد نتائج

بحثك لم يطابق أي نتائج.

نقترح أن تجرِّب ما يلي للمساعدة في العثور على ما تبحث عنه:

  • تحقق من تهجئة كلماتك الرئيسية التي تبحث عنها.
  • استخدم المرادفات للكلمة الرئيسية التي كتبتها، على سبيل المثال، جرِّب “تطبيق” بدلاً من “برنامج.”
  • جرِّب إحدى عمليات البحث الشائعة الموضحة أدناه.
  • ابدأ بحثًا جديدًا.
الأسئلة الرائجة

ما المقصود بـ NoSQL؟

يشير مصطلح "NoSQL" إلى أنواع قواعد البيانات غير الارتباطية، وتعمل قواعد البيانات هذه على تخزين البيانات بتنسيق مختلف عن الجداول الارتباطية. وعلى الرغم من ذلك، يمكن الاستعلام عن قواعد بيانات NoSQL باستخدام واجهات برمجة تطبيقات اللغة الاصطلاحية ولغات الاستعلام المنظمة التصريحية ولغات الاستعلام عن طريق مثال، ولهذا السبب يُشار إليها أيضًا باسم قواعد بيانات "ليس فقط SQL".

فيم تُستخدم قاعدة بيانات NoSQL؟

تُستخدم قواعد بيانات NoSQL على نطاق واسع في تطبيقات الويب في الوقت الحقيقي والبيانات الكبيرة، لأن مزاياها الرئيسية تتمثل في قابلية توسيع/تضييق النطاق العالية والتوافر العالي.

تعد قواعد بيانات NoSQL أيضًا بمثابة الخيار المفضل للمطورين، لأنها تلائم بصورة طبيعية نموذج التطوير المرن من خلال التكيف السريع مع المتطلبات المتغيرة. تتيح قواعد بيانات NoSQL إمكانية تخزين البيانات بطرق أكثر سهولة من حيث الاستخدام وأسهل في الفهم، أو أقرب إلى الطريقة التي تستخدم بها التطبيقات البيانات - مع عدد أقل من عمليات التحويل المطلوبة عند التخزين أو الاسترداد باستخدام واجهات برمجة تطبيقات NoSQL. علاوة على ذلك، يمكن لقواعد بيانات NoSQL أن تحقق الاستفادة الكاملة من السحابة للتخلص من وقت التوقف نهائيًا.

SQL مقابل NoSQL

قواعد بيانات SQL ارتباطية، بينما قواعد بيانات NoSQL غير ارتباطية. يعد نظام إدارة قواعد البيانات الارتباطية (RDBMS) أساس لغة الاستعلام المنظمة (SQL)، والتي تتيح للمستخدمين الوصول إلى البيانات ومعالجتها في جداول منظمة بدرجة عالية. هذا هو النموذج التأسيسي لأنظمة قواعد البيانات مثل MS SQL Server، وIBM DB2، وOracle، وMySQL. ولكن من خلال قواعد بيانات NoSQL، قد تختلف صيغة الوصول إلى البيانات من قاعدة بيانات إلى أخرى.

قاعدة البيانات الارتباطية مقابل قاعدة بيانات NoSQL

للوصول إلى فهم لقواعد بيانات NoSQL، من المهم معرفة الفرق بين RDBMS وأنواع قواعد البيانات غير الارتباطية.

يتم تخزين البيانات الموجودة في RDBMS في كائنات قاعدة البيانات التي يطلق عليها اسم الجداول. الجدول عبارة عن مجموعة من إدخالات البيانات ذات الصلة، وتتألف من أعمدة وصفوف. تتطلب قواعد البيانات هذه تحديد المخطط بصورة مسبقة، أي يجب أن تكون جميع الأعمدة وأنواع البيانات المرتبطة بها معروفة مسبقًا حتى تتمكن التطبيقات من نسخ البيانات إلى قاعدة البيانات. كما تعمل أيضًا على تخزين المعلومات التي تربط جداول متعددة من خلال استخدام المفاتيح، وبالتالي إنشاء علاقة عبر عدة جداول. في أبسط الحالات، يتم استخدام مفتاح لاسترداد صف معين حتى يمكن فحصه أو تعديله.

وبالعكس، في قواعد بيانات NoSQL، يمكن تخزين البيانات بدون تحديد المخطط بصورة مسبقة - مما يعني أنك تمتلك القدرة على النقل والتكرار بصورة سريعة، وتحديد نموذج البيانات أثناء التنقل. قد يكون هذا مناسبًا لمتطلبات عمل محددة، سواء كان هذا العمل يعتمد على الرسم البياني أو الأعمدة أو المستندات أو كان في صورة مخزن ذي قيمة مفتاح.

حتى وقت قريب للغاية، كانت قواعد البيانات الارتباطية بمثابة النماذج الأكثر استخدامًا. إنها لا تزال موجودة في كل مكان من خلال العديد من الشركات؛ وعلى الرغم من ذلك، فإن تنوع البيانات التي يتم الوصول إليها اليوم وسرعتها وحجمها يتطلب أحيانًا قاعدة بيانات مختلفة تمامًا لاستكمال قاعدة البيانات الارتباطية. وقد أدى ذلك إلى اعتماد قواعد بيانات NoSQL في بعض المجالات - والتي يشار إليها أيضًا باسم "قواعد البيانات غير الارتباطية". نظرًا لقدرة قواعد البيانات غير الارتباطية على التوسع أفقيًا وبمعدل سريع، فإنه يمكنها التعامل مع حركة المرور العالية، مما يجعلها أيضًا قابلة للتكيف بدرجة كبيرة.

متى يكون من الأفضل اختيار قاعدة بيانات NoSQL؟

في ظل احتياج الشركات والمؤسسات إلى الابتكار بسرعة، فإن القدرة على مواصلة الحفاظ على المرونة ومواصلة العمل على أي نطاق هو اسم اللعبة. توفر قواعد بيانات NoSQL مخططات مرنة وتدعم أيضًا مجموعة متنوعة من نماذج البيانات المثالية لتصميم التطبيقات التي تتطلب كميات كبيرة من البيانات وزمن وصول أو أوقات استجابة منخفضة - على سبيل المثال، الألعاب عبر الإنترنت وتطبيقات الويب للتجارة الإلكترونية.

متى يمكنك عدم اختيار قاعدة بيانات NoSQL؟

عادة ما تعتمد قواعد بيانات NoSQL على بيانات غير طبيعية، مما يؤدي إلى دعم أنواع التطبيقات التي تستخدم عددًا أقل من الجداول (أو الحاويات) والتي لا يتم تصميم علاقات البيانات الخاصة بها باستخدام المراجع، بل في صورة سجلات (أو مستندات) مضمنة. تعتمد العديد من تطبيقات الأعمال المكتبية الخلفية الكلاسيكية في قطاعات التمويل والمحاسبة وتخطيط موارد المؤسسة على بيانات طبيعية بدرجة كبيرة لمنع حدوث حالات شاذة في البيانات فضلاً عن تكرار البيانات. وتعد هذه عادةً أنواع التطبيقات التي لا تناسب قاعدة بيانات NoSQL.

هناك تمييز آخر لقواعد بيانات NoSQL يتمثل في تعقيد الاستعلام. تعمل قواعد بيانات NoSQL على نحو جيد مع الاستعلامات في ضوء جدول واحد. وعلى الرغم من ذلك، في ظل زيادة تعقيد الاستعلامات، تعد قواعد البيانات الارتباطية خيارًا أفضل. لا تقدم قاعدة بيانات NoSQL في الظروف العادية عمليات ربط معقدة واستعلامات فرعية وتداخل الاستعلامات في عبارة WHERE.

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

ما الذي تقدمه NoSQL ولا تقدمه قواعد البيانات الأخرى؟

يتمثل أحد الاختلافات الرئيسية بين قواعد بيانات NoSQL وأنواع قواعد البيانات الأخرى في أن قواعد بيانات NoSQL تستخدم التخزين غير المنظم في الظروف العادية. تم تطوير قواعد بيانات NoSQL خلال العِقدين الماضيين، وتم تصميمها بهدف الاستعلامات السريعة والبسيطة والبيانات الضخمة وتغييرات التطبيقات المتكررة. بالإضافة إلى ذلك، تجعل قواعد البيانات هذه البرمجة أكثر بساطة للمطورين.

من عوامل التمييز الأخرى المهمة أن قواعد بيانات NoSQL تعتمد على عملية يطلق عليها اسم "تجزئة" للتوسع أفقيًا، وهذا يعني أنه يمكن إضافة المزيد من الأجهزة لمعالجة البيانات عبر خوادم متعددة. يتطلب توسيع النطاق الرأسي الموجود في قواعد بيانات SQL الأخرى إضافة المزيد من الطاقة والذاكرة إلى الجهاز الحالي، وهو ما يمكن أن يكون غير مستدام نظرًا لوجود حاجة إلى المزيد والمزيد من مساحة التخزين.

تشير طبيعة عملية توسيع النطاق الأفقي باستخدام قواعد بيانات NoSQL إلى أنها تستطيع معالجة كميات كبيرة جدًا من البيانات - حتى مع نمو البيانات - بطريقة أكثر كفاءة. قد يكون من المفيد التفكير في توسيع النطاق الرأسي مثل إضافة طابق إلى منزلك، في حين أن توسيع النطاق الأفقي يشبه إنشاء منزل آخر بجوار المنزل الأصلي.

مزايا قاعدة بيانات NoSQL

تطلبت السرعة وتوسيع/تضييق النطاق غير المسبوقين للتفاعل الرقمي واستهلاك البيانات التي لوحظت في العِقدين الماضيين من الشركات اعتماد نهج أكثر حداثة وانسيابية من حيث كيفية تخزين البيانات والوصول إليها. نظرًا لمطالبة المستخدمين في جميع أنحاء العالم بوجود تدفق مستمر للمحتوى والوظائف، فليس من المفاجئ أنه يجب أن تتكيف قواعد البيانات بصورة سريعة. مع مراعاة ذلك، فيما يلي بعض الأسباب الرئيسية التي تجعل المطورين يفضلون اختيار قواعد البيانات NoSQL/غير الارتباطية:

  • المرونة: من خلال قواعد بيانات SQL، يتم تخزين البيانات في بنية أكثر صرامة ومحددة بصورة مسبقة. ولكن من خلال NoSQL، يمكن تخزين البيانات على نحو أكثر حرية بدون تلك المخططات الصارمة. يتيح هذا التصميم إمكانية الابتكار والتطوير السريعين للتطبيق. يمكن للمطورين التركيز على إنشاء أنظمة لتقديم الخدمة لعملائهم على نحو أفضل دون القلق بشأن المخططات. يمكن لقواعد بيانات NoSQL إجراء المعالجة بسهولة باستخدام أي تنسيق للبيانات، مثل البيانات المنظمة وشبه المنظمة وغير المنظمة في مخزن بيانات واحد.
  • قابلية التوسيع: بدلاً من التوسيع من خلال إضافة المزيد من الخوادم، يمكن توسيع نطاق قواعد بيانات NoSQL باستخدام الأجهزة الأساسية. يمتلك هذا القدرة على دعم حركة المرور المتزايدة بهدف تلبية المتطلبات بدون توقف. من خلال توسيع النطاق، يمكن أن تصبح قواعد بيانات NoSQL أكبر وأكثر قوة، ولذلك أصبحت الخيار المفضل لتطوير مجموعات البيانات.
  • الأداء العالي: يمكن أن تكون بنية توسيع النطاق في قاعدة بيانات NoSQL ذات قيمة خاصة في حالة زيادة حجم البيانات أو حركة المرور. على النحو الموضح في الرسم أدناه، تضمن هذه البنية تحقيق أوقات استجابة سريعة ومتوقعة تقدر برقم واحد من المللي ثانية. يمكن لقواعد بيانات NoSQL أيضًا استيعاب البيانات وتقديمها على نحو سريع وموثوق، ولهذا السبب يتم استخدام قواعد بيانات NoSQL في التطبيقات التي تجمع وحدات تيرابايت من البيانات كل يوم، بينما تتطلب أيضًا وجود تجربة مستخدم تفاعلية للغاية. في الرسم البياني الموضح أدناه، نستعرض معدل الواردات الذي يحقق 300 قراءة في الثانية (الخط الأزرق) مع زمن وصول 95 في نطاق 3-4 مللي ثانية، ومعدل واردات 150 عملية كتابة في الثانية (الخط الأخضر) مع زمن وصول 95 في نطاق 4-5 مللي ثانية.

    قاعدة بيانات nosql

  • التوافر: تعمل قواعد بيانات NoSQL تلقائيًا على نسخ البيانات نسخًا متماثلاً عبر خوادم أو مراكز بيانات أو موارد سحابية متعددة. ويؤدي هذا بدوره إلى تقليل زمن الوصول للمستخدمين، بغض النظر عن مكان وجودهم. كما تعمل هذه الميزة أيضًا على تقليل عبء إدارة قاعدة البيانات، مما يوفر الوقت للتركيز على الأولويات الأخرى.
  • وظيفية للغاية: تم تصميم قواعد بيانات NoSQL لمخازن البيانات الموزعة التي لها احتياجات تخزين بيانات كبيرة للغاية. وهذا ما يجعل NoSQL الخيار الأمثل للبيانات الكبيرة، وتطبيقات الويب في الوقت الحقيقي، وتحليلات العملاء الشاملة، والتسوق عبر الإنترنت، والألعاب عبر الإنترنت، وإنترنت الأشياء، والشبكات الاجتماعية، وتطبيقات الإعلان عبر الإنترنت.

أنواع قواعد بيانات NoSQL

هناك أربعة أنواع رئيسية من قواعد بيانات NoSQL:

  • القيمة الأساسية: يعد هذا هو النوع الأكثر مرونة لقاعدة بيانات NoSQL لأن التطبيق لديه قدرة كاملة على التحكم في ما يتم تخزينه في حقل القيمة دون أي قيود.
  • المستند: يُشار إليها أيضًا باسم مخزن المستندات أو قواعد البيانات الموجهة للمستندات، وتُستخدم قواعد البيانات هذه لتخزين البيانات شبه المنظمة واسترجاعها وإدارتها. لا يلزم تحديد الحقول التي سيشتمل عليها المستند.
  • الرسم البياني: تنظم قاعدة البيانات هذه البيانات في صورة عُقد وعلاقات، والتي تعرض الاتصالات بين العُقد. ويؤدي هذا إلى دعم تمثيل البيانات على نحو أغنى وأكمل. يتم تطبيق قواعد بيانات الرسومات البيانية في الشبكات الاجتماعية وأنظمة الحجز وأنظمة الكشف عن الاحتيال.
  • العمود العريض: تعمل قواعد البيانات هذه على تخزين البيانات وإدارتها في صورة جداول وصفوف وأعمدة. ويتم نشرها على نطاق واسع في التطبيقات التي تحتاج إلى تنسيق عمود لتسجيل البيانات الخالية من المخطط.

تجربة Oracle NoSQL Database

تُسهل Oracle NoSQL Database Cloud Service للمطورين إمكانية إنشاء تطبيقات باستخدام نماذج قواعد بيانات المستندات والعمودية والقيمة الأساسية التي توفر أوقات استجابة يمكن التنبؤ بها تتكون من رقم واحد مع نسخ البيانات نسخًا متماثلاً لتحقيق التوافر العالي. تتيح الخدمة معاملات ACID، وتوسيع النطاق بدون خادم، وتحقق الأمان الشامل، وأسعار منخفضة للدفع مقابل الاستخدام.

أصبحت خدمة Oracle NoSQL Database Cloud service الآن جزءًا من Oracle Cloud Free Tier، والتي تتضمن إصدارًا تجريبيًا ترويجيًا مجانيًا محدود الوقت يتيح لك إمكانية استكشاف مجموعة كبيرة من الخدمات السحابية، بالإضافة إلى مجموعة من الخدمات المجانية دائمًا التي لا تنتهي صلاحيتها أبدًا.

استمتع بإنشاء التطبيقات واختبارها ونشرها على Oracle Cloud مجانًا.