ما قواعد بيانات NoSQL؟

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

ما هي مزايا قواعد بيانات NoSQL

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

تم تصميم قواعد بيانات NoSQL خصيصًا لنماذج البيانات غير العلائقية ولديها مخططات مرنة لبناء تطبيقات حديثة. تُعرف قواعد بيانات هذه على نطاق واسع بسهولة تطويرها ووظائفها وأدائها المتدرج. يتم تعديد فوائد قواعد بيانات NoSQL أدناه.

المرونة

تقدم قواعد البيانات NoSQL عمومًا مخططات مرنة تتيح إمكانية تطوير أسرع وأكثر تكرارًا. نموذج البيانات المرنة يجعل قواعد البيانات NoSQL مثالية للبيانات شبه المنظمة وغير المنظمة.

قابلية التوسع

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

الأداء العالي

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

وظيفية للغاية

تقدم قواعد البيانات NoSQL واجهات برمجة تطبيقات وأنواع بيانات عالية الفعالية محددة الغرض لكل من نماذج بياناتها المعنية.

ما هي حالات استخدام قواعد بيانات NoSQL

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

إدارة البيانات في الوقت الفعلي

يمكنك تقديم التوصيات في الوقت الفعلي والتخصيص وتجارب المستخدم المحسنة مع قواعد بيانات NoSQL. على سبيل المثال، تقدم Disney+ مكتبة المحتوى الرقمي الشاملة لأكثر من 150 مليون مشترك باستخدام تقنية قاعدة بيانات NoSQL. يمكنه توسيع نطاق الميزات الشائعة وتقديمها مثل متابعة المشاهدة وقائمة المراقبة والتوصيات المخصصة مع Amazon DynamoDB.

أمن السحابة

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

تطبيقات عالية التوافر

تعد قواعد بيانات NoSQL الموزعة ممتازة لإنشاء تطبيقات عالية التوافر وزمن انتقال منخفض للمراسلة والوسائط الاجتماعية ومشاركة الملفات والمزيد. على سبيل المثال، لدى Snapchat أكثر من 290 مليون مستخدم يرسلون مليارات الصور ورسائل الفيديو يوميًا. يستخدم أنظمة قاعدة بيانات NoSQL لتقليل متوسط زمن الوصول لإرسال الرسائل بنسبة 20%.

كيف تعمل قواعد بيانات NoSQL

تستخدم قواعد بيانات NoSQL مجموعة متنوعة من نماذج البيانات للوصول إلى البيانات وإدارتها. تم تحسين هذه الأنواع من قواعد البيانات خصيصًا للتطبيقات التي تتطلب نماذج بيانات مرنة وحجم بيانات كبير ووقت استجابة منخفض، والتي يتم تحقيقها من خلال تخفيف بعض قيود تناسق البيانات لقواعد البيانات العلائقية. هناك اختلافات في التنفيذ بناءً على نموذج البيانات. ومع ذلك، تستخدم العديد من قواعد بيانات Javascript Object Notation (JSON)، وهو تنسيق مفتوح لتبادل البيانات يمثل البيانات كمجموعة من أزواج الاسم والقيمة.

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

فكّر في هذا المثال على وضع نماذج مخطط قاعدة بيانات بسيطة للكتب:

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

مصطلحات SQL في مقابل مصطلحات NoSQL

يقارن الجدول التالي بين المصطلحات التي تستخدمها قواعد بيانات NoSQL والمصطلحات التي تستخدمها قواعد بيانات SQL.

SQL MongoDB DynamoDB Cassandra  Couchbase
الجدول المجموعة الجدول الجدول حاوية البيانات
الصف المستند العنصر الصف المستند
العمود الحقل السمة العمود الحقل
المفتاح الأساسي معرف الكائن المفتاح الأساسي
المفتاح الأساسي معرف المستند
الفهرس الفهرس الفهرس الثانوي الفهرس الفهرس
العرض العرض الفهرس الثانوي العام العرض المتحقق العرض
الجدول أو الكائن المتداخل المستند المدمج الخريطة الخريطة الخريطة
المصفوفة المصفوفة القائمة القائمة القائمة

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

هناك العديد من أنظمة قواعد بيانات NoSQL المختلفة بسبب الاختلافات في طريقة إدارة وتخزين البيانات بدون مخطط. نوضح بعض الأنواع الشائعة أدناه.

قواعد بيانات القيمة الرئيسية

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

قواعد بيانات المستندات

تحتوي قواعد بيانات المستندات على نفس تنسيق نموذج المستند الذي يستخدمه المطورون في كود التطبيق الخاص بهم. تعمل على تخزين البيانات في صورة كائنات JSON مرنة، وشبه منظمة البنية، وهرمية بطبيعتها.. تسمح الطبيعة المرنة وشبه الهيكلية والهرمية للمستندات وقواعد بيانات المستندات بالتطور مع احتياجات التطبيقات. يعمل نموذج قاعدة بيانات المستندات بشكل جيد مع الكتالوجات وملفات تعريف المستخدمين وأنظمة إدارة المحتوى، حيث يكون كل مستند فريدًا ويتطور بمرور الوقت. تعد Amazon DocumentDB (بالتوافق مع MongoDB) وMongoDB قواعد بيانات مستندات شائعة توفر واجهات برمجة تطبيقات قوية وسهلة الاستخدام للتطوير المرن والتكراري.

قواعد بيانات الرسوم البيانية

تم تصميم قواعد بيانات الرسوم البيانية خصيصًا لتسهيل إنشاء وتشغيل التطبيقات التي تعمل مع مجموعات البيانات شديدة الارتباط. تستخدم العقد لتخزين كيانات البيانات والحواف لتخزين العلاقات بين الكيانات. تحتوي الحافة دائمًا على عقدة بداية وعقدة نهاية ونوع واتجاه. يمكن أن يصف العلاقات بين الوالدين والطفل والإجراءات والملكية وما شابه ذلك. لا يوجد حد لعدد ونوع العلاقات التي يمكن أن تمتلكها العقدة. يمكنك استخدام قاعدة بيانات الرسم البياني لإنشاء وتشغيل التطبيقات التي تعمل مع مجموعات البيانات عالية الاتصال. تتضمَّن حالات الاستخدام النموذجية لقاعدة بيانات رسومية الشبكات الاجتماعية، ومحركات التوصيات، واكتشاف الاحتيال، والرسوم البيانية المعرفية. Amazon Neptune هي خدمة قاعدة بيانات بيانية مُدارة بالكامل تدعم كلاً من نموذج الرسم البياني للممتلكات وإطار وصف الموارد (RDF) مع اختيار اثنين من واجهات برمجة التطبيقات للرسم البياني (TinkerPop وRDF/SPARQL).

قواعد البيانات في الذاكرة

بينما تقوم قواعد البيانات الأخرى غير الارتباطية بتخزين البيانات على القرص أو محركات أقراص SSD، فإن مخازن البيانات في الذاكرة مصممة للتخلص من الحاجة إلى الوصول إلى الأقراص. إنها مثالية للتطبيقات التي تتطلب أوقات استجابة ميكروثانية أو ذات ارتفاعات كبيرة في حركة المرور. يمكنك استخدامها في تطبيقات الألعاب وتكنولوجيا الإعلانات لميزات مثل قوائم المتصدرين ومتاجر الجلسات والتحليلات في الوقت الفعلي. Amazon MemoryDB for Redis هي خدمة قاعدة بيانات في الذاكرة متوافقة مع Redis ومتينة توفر زمن انتقال قراءة بالميكروثانية وزمن انتقال الكتابة بالمللي ثانية من رقم واحد ومتانة عبر مناطق توافر متعددة Multi-AZ. Amazon Elasticache هي خدمة تخزين مؤقت مُدارة بالكامل في الذاكرة ومتوافقة مع كل من Redis وMemcached، لخدمة أعباء العمل ذات زمن انتقال منخفض وعالية الإنتاجية. يعد مُسرِّع Amazon DynamoDB‏ (DAX) مثالًا آخر على مخزن البيانات المصمم لهذا الغرض والذي يجعل DynamoDB يقرأ بترتيب من حيث الحجم بشكل أسرع.

قواعد بيانات البحث

قاعدة بيانات محرك البحث هي نوع من قواعد البيانات غير العلائقية المخصصة للبحث عن محتوى البيانات، مثل سجلات مخرجات التطبيقات التي يستخدمها المطورون لاستكشاف المشكلات وإصلاحها. يستخدمون الفهارس لتصنيف الخصائص المتشابهة بين البيانات وتسهيل إمكانية البحث. تم تحسين قواعد بيانات محرك البحث لفرز البيانات غير المهيكلة مثل الصور ومقاطع الفيديو. تم تصميم Amazon OpenSearch Service خصيصًا لتوفير تصورات وتحليلات للبيانات التي يتم إنشاؤها آليًا في الوقت الفعلي تقريبًا عن طريق فهرسة السجلات والمقاييس شبه المهيكلة وتجميعها والبحث فيها.

ما هي الاختلافات بين قواعد بيانات NoSQL وSQL

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

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

 

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

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

أعباء العمل المثالية

 

 

تم تصميم قواعد البيانات العلائقية لتطبيقات معالجة المعاملات عبر الإنترنت (OLTP) ذات المعاملات والمتسقة بقوة. كما أنها جيدة للمعالجة التحليلية عبر الإنترنت (OLAP).   

تم تصميم قواعد بيانات NoSQL لعدد من أنماط الوصول إلى البيانات التي تتضمن تطبيقات ذات زمن انتقال منخفض. تم تصميم قواعد بيانات البحث من نوع NoSQL لتحليلات البيانات شبه المنظمة.

 

نموذج البيانات

يعمل النموذج الارتباطي على تطبيع البيانات في جداول تتألف من صفوف وأعمدة. يعمل مخطط على التحديد الصارم للجداول والصفوف والأعمدة والفهارس والعلاقات بين الجداول وعناصر قاعدة البيانات الأخرى. تفرض قاعدة البيانات التكامل المرجعي في العلاقات بين الجداول.

توفر قواعد بيانات NoSQL مجموعة متنوعة من نماذج البيانات، مثل القيمة الرئيسية والمستند والرسم البياني والعمود، والتي تم تحسينها للأداء والتوسُّع.

خصائص ACID

تقدم قواعد البيانات الارتباطية خصائص الدقة والاتساق والعزل والقدرة على التحمل (ACID):

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

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

الأداء

يعتمد الأداء إلى حد كبير على النظام الفرعي للمكتب. تحسين الاستعلامات والفهارس وتنسيق الجداول غالبًا ما يكون مطلوبًا لتحقيق أقصى أداء.

الأداء عمومًا من وظائف حجم قطاع الجهاز الأساسي وزمن استجابة الشبكة وتطبيق الاستدعاء.

المقياس

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

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

واجهات برمجة التطبيقات

يتم توصيل طلبات تخزين البيانات واستعادتها باستخدام استعلامات تتوافق مع لغة استعلام منظمة (SQL). يتم تحليل هذه الاستعلامات وتنفيذها بواسطة قاعدة البيانات الارتباطية.

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

متى يجب اختيار قواعد بيانات NoSQL على قواعد بيانات SQL

تعد قاعدة بيانات NoSQL هي الأفضل لمعالجة البيانات غير المحددة أو غير ذات الصلة أو المتغيرة بسرعة. من السهل استخدامه للمطورين عندما يفرض التطبيق مخطط قاعدة البيانات. يمكنك استخدامه للتطبيقات التي:

  • تحتاج إلى مخططات مرنة تتيح تطويرًا أسرع وأكثر تكرارًا.
  • إعطاء الأولوية للأداء على الاتساق القوي للبيانات والحفاظ على العلاقات بين جداول البيانات (التكامل المرجعي).
  • تتطلب تحجيمًا أفقيًا من خلال التقسيم عبر الخوادم.
  • دعم البيانات شبه المهيكلة وغير المهيكلة.

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

كيف يمكن لـ AWS دعم متطلبات قاعدة بيانات NoSQL الخاصة بك

لدى AWS العديد من خدمات قاعدة بيانات NoSQL لتلبية جميع متطلبات NoSQL الخاصة بك. على سبيل المثال:

  • Amazon DynamoDB هي إحدى خدمات قاعدة بيانات القيمة الأساسية بدون خادم ومدارة بالكامل توفر أداءً متسقًا مكونًا من رقم واحد بالمللي ثانية مع قابلية تطوير غير محدودة.
  • Amazon DocumentDB (المتوافقة مع MongoDB) هي قاعدة بيانات مستندات أصلية ومُدارة بالكامل خاصة بـ JSON، تُسهّل تشغيل أعباء العمل الصعبة للمستندات على نطاق واسع افتراضيًا وبتكلفة أقل بدون الحاجة إلى إدارة البنية الأساسية.
  • Amazon Neptune عبارة عن خدمة قاعدة بيانات بيانية مُدارة بالكامل بدون خادم ومصممة من أجل قابلية التوسع الفائقة والتوافر مع القدرة على الاستعلام عن مليارات العلاقات في ثوانٍ.
  • Amazon MemoryDB for Redis هي خدمة قاعدة بيانات متينة في الذاكرة توفر أوقات استجابة للقراءة والكتابة بالميكروثانية للحصول على أداء فائق السرعة.
  • Amazon Elasticache عبارة عن مخزن بيانات وخدمة ذاكرة تخزين مؤقت مُدارة بالكامل ومتوافقة مع Redis وMemcached، وتوفر أداءً محسنًا من حيث التكلفة في الوقت الفعلي.
  • Amazon Keyspaces (for Apache Cassandra) عبارة عن قاعدة بيانات ذات أعمدة عريضة بدون خادم ومدارة بالكامل ومصممة لتوفر ما يصل إلى 99.999% مع النسخ المتماثل متعدد المناطق. خدمة قاعدة بيانات متوافقة مع Apache Cassandra قابلة للتطوير ومتوفرة بشكل كبير.
  • Amazon Timestream عبارة عن قاعدة بيانات سلاسل زمنية بدون خادم ومدارة بالكامل تسهل تخزين وتحليل تريليونات الأحداث يوميًا بسرعة تصل إلى 1000 مرة أسرع من قواعد البيانات العلائقية. 
  • Amazon OpenSearch Service عبارة عن مجموعة بحث وتحليلات موزعة مُدارة بالكامل تتيح البحث في الوقت الفعلي ومراقبة وتحليل البيانات التجارية والتشغيلية.

ابدأ استخدام NoSQL على AWS من خلال إنشاء حساب مجاني اليوم!

ما هي قاعدة بيانات NoSQL المناسبة لك؟
قم بتحديث تطبيقاتك باستخدام قواعد بيانات مصممة لغرض مُعيَّن