Cassandra Architecture وعامل النسخ

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

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

Cassandra يخزن البيانات على عقد مختلفة باستخدام بنية توزيع من نظير إلى نظير.

تقوم جميع العقد بتبادل المعلومات مع بعضها البعض باستخدام بروتوكول القيل والقال. القيل والقال هو بروتوكول في Cassandra والتي من خلالها يمكن للعقد التواصل مع بعضها البعض.

مكونات من Cassandra Architecture

هناك المكونات التالية في Cassandra Archiالبنية:

Cassandra Architecture
Cassandra Archiمخطط فني

العقدة

العقدة هي المكان الذي يتم فيه تخزين البيانات. وهو المكون الأساسي ل Cassandra.

مركز البيانات

تسمى مجموعة من العقد مركز البيانات. يتم تصنيف العديد من العقد كمركز بيانات.

Cluster

المجموعة هي عبارة عن مجموعة من مراكز البيانات.

سجل الالتزام

يتم كتابة كل عملية كتابة في سجل الالتزام. يتم استخدام سجل الالتزام لاستعادة البيانات بعد حدوث الأعطال.

جدول الذاكرة

بعد كتابة البيانات في سجل الالتزام، تتم كتابة البيانات في جدول Mem. تتم كتابة البيانات في جدول Mem مؤقتًا.

SSTable

عندما يصل جدول Mem إلى حد معين، يتم مسح البيانات إلى ملف قرص SSTable.

نسخ البيانات في Cassandra

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

Cassandra يضع نسخًا متماثلة من البيانات على عقد مختلفة بناءً على هذين العاملين.

  • يتم تحديد مكان وضع النسخة المتماثلة التالية بواسطة استراتيجية النسخ المتماثل.
  • بينما يتم تحديد العدد الإجمالي للنسخ المتماثلة الموضوعة على العقد المختلفة بواسطة عامل النسخ.

يعني عامل النسخ المتماثل وجود نسخة واحدة فقط من البيانات بينما يعني عامل النسخ الثلاثة وجود ثلاث نسخ من البيانات في ثلاث عقد مختلفة.

لضمان عدم وجود نقطة واحدة من الفشل، يجب أن يكون عامل النسخ ثلاثة.

هناك نوعان من استراتيجيات النسخ المتماثل في Cassandra.

استراتيجية بسيطة في Cassandra

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

هنا هو التمثيل التصويري لSimpleStrategy:

استراتيجية بسيطة في Cassandra
استراتيجية بسيطة في Cassandra

استراتيجية طوبولوجيا الشبكة في Cassandra

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

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

فيما يلي التمثيل التصويري لاستراتيجية طوبولوجيا الشبكة:

استراتيجية طوبولوجيا الشبكة في Cassandra
استراتيجية طوبولوجيا الشبكة في Cassandra

كتابة Operaنشوئها في Cassandra

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

مستوى الاتساق يحدد عدد العقد التي ستستجيب مع إقرار النجاح.

سوف تستجيب العقدة مرة أخرى بإقرار النجاح إذا تمت كتابة البيانات بنجاح في سجل الالتزام و memTable.

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

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

هنا يتم شرح كيفية حدوث عملية الكتابة Cassandra,

  1. عندما يصل طلب الكتابة إلى العقدة، يتم أولاً تسجيل الدخول في سجل الالتزام.
  2. ثم Cassandra يكتب البيانات في جدول الذاكرة. البيانات المكتوبة في جدول الذاكرة في كل طلب كتابة تُكتب أيضًا في سجل الالتزام بشكل منفصل. جدول Mem عبارة عن بيانات مخزنة مؤقتًا في الذاكرة بينما يقوم سجل الالتزام بتسجيل سجلات المعاملات لأغراض النسخ الاحتياطي.
  3. عند امتلاء جدول الذاكرة، يتم نقل البيانات إلى ملف بيانات SSTable.
كتابة Operaنشوئها في Cassandra
كتابة Operaنشوئها في Cassandra

عرض Operaنشوئها في Cassandra

هناك ثلاثة أنواع من طلبات القراءة التي يرسلها المنسق إلى النسخ المتماثلة.

  1. طلب مباشر
  2. طلب الملخص
  3. قراءة طلب الإصلاح

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

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

الملخص

  • يشرح هذا البرنامج التعليمي Cassandra الهندسة المعمارية الداخلية، وكيف Cassandra يكرر البيانات ويكتبها ويقرأها في مراحل مختلفة.
  • وأيضا هنا يشرح كيف Cassandra يحافظ على مستوى الاتساق طوال العملية.
  • مكونات من Cassandra Archiالبنية: العقدة، مركز البيانات، Cluster، سجل الالتزام، جدول الذاكرة، SSTable
  • يعني عامل النسخ المتماثل وجود نسخة واحدة فقط من البيانات بينما يعني عامل النسخ الثلاثة وجود ثلاث نسخ من البيانات في ثلاث عقد مختلفة.
  • يتم استخدام SimpleStrategy عندما يكون لديك مركز بيانات واحد فقط.
  • يتم استخدام NetworkTopologyStrategy عندما يكون لديك أكثر من مركزي بيانات.