مقدمة

مكتمل

في هذه الوحدة، نناقش عددًا قليلاً من مخازن البيانات NoSQL الأكثر شهرة وهما: Apache HBase، وMongoDB، وApache Cassandra.

كما تذكرون من وقت سابق في هذه الوحدة، حركة NoSQL في قواعد البيانات كانت مدفوعة في المقام الأول بتحديات البيانات الضخمة من حيث الحجم والأداء. فعلى سبيل المثال، تم إنشاء BigTable من Google للتعامل مع الكميات المتزايدة من المعلومات التي تحتاجها الشركة لتنفيذ العمليات. على سبيل المثال، ارتفع مؤشر Google على الويب من 26 مليون صفحة في عام 1998 إلى أكثر من تريليون عنوان URL فريد في عام 2008. فإن معالجة مثل هذه الكميات الكبيرة من البيانات باستخدام نموذج علائقي يصبح متعبًا إن لم يكن مستحيلاً. بالإضافة إلى ذلك، فإن مشاكل البيانات الضخمة، مثل تحليلات الويب، لا تتطلب القيود المحددة وضمانات ACID التي توفرها أنظمة إدارة قواعد البيانات العلائقية (RDBMSs)، ولكن بدلاً من ذلك يمكن أن تستفيد من نموذج بيانات مرن يضمن سهولة بعض ضمانات التناسق للأداء وقابلية التوسع.

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

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

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

NoSQL webtable.

الشكل 1: NoSQL webtable

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

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

تخزين كائن سحابي

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

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

الأهداف التعليمية

خلال هذه الوحدة النمطية، سوف تتمكن مما يلي:

  • شرح Apache HBase، وApache Cassandra، ونماذج بيانات قواعد بيانات MongoDB NoSQL.
  • سرد العمليات الشائعة في HBase وCassandra وMongoDB.
  • تلخيص بنيات HBase وCassandra وMongoDB.
  • سرد حالات استخدام HBase وCassandra وMongoDB.
  • شرح نماذج بيانات تخزين كائن سحابة OpenStack Swift.
  • مناقشة ضمانات التناسق التي تقدمها Swift.

المتطلبات الأساسية

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