إنشاء مساحة المفاتيح في Cassandra: إنشاء وتعديل وإسقاط مع المثال
ما هو Keyspace في Cassandra?
مساحة المفاتيح في Cassandra عبارة عن حاوية بيانات، تشبه قاعدة البيانات في RDMBS (أنظمة إدارة قواعد البيانات العلائقية). Cassandra تحدد Keyspace كيفية نسخ البيانات على العقد.
كيفية إنشاء مساحة المفاتيح في Cassandra
مساحة المفاتيح هي كائن يحتوي على عائلات الأعمدة والأنواع التي يحددها المستخدم. في Cassandra، مساحة المفاتيح مشابهة لـ RDBMS قاعدة البيانات. تحتوي Keyspace على عائلات الأعمدة والفهارس والأنواع المحددة من قبل المستخدم والوعي بمركز البيانات والاستراتيجية المستخدمة في keyspace وعامل النسخ وما إلى ذلك.
يأمر "إنشاء مساحة المفاتيح"يتم استخدامه لإنشاء مساحة مفاتيح في Cassandra.
بناء الجملة
Create keyspace KeyspaceName with replication={'class':strategy name, 'replication_factor': No of replications on different nodes};
مكونات مختلفة من Cassandra مفتاح
- الإستراتيجيات: أثناء الإعلان عن اسم الإستراتيجية في Cassandra. هناك نوعان من الاستراتيجيات المعلنة في Cassandra بناء الجملة.
- استراتيجية بسيطة:تستخدم الإستراتيجية البسيطة عندما يكون لديك مركز بيانات واحد فقط. في هذه الإستراتيجية، يتم وضع النسخة المتماثلة الأولى على العقدة التي حددها المقسم. يتم وضع العقد المتبقية في اتجاه عقارب الساعة في الحلقة دون مراعاة موقع الرف أو العقدة.
- استراتيجية طوبولوجيا الشبكة:تستخدم استراتيجية طوبولوجيا الشبكة عندما يكون لديك أكثر من مركز بيانات. في هذه الاستراتيجية، عليك توفير عامل تكرار لكل مركز بيانات على حدة. تضع استراتيجية طوبولوجيا الشبكة النسخ المتماثلة في العقد في اتجاه عقارب الساعة في نفس مركز البيانات. تحاول هذه الاستراتيجية وضع النسخ المتماثلة في رفوف مختلفة.
- عامل النسخ: عامل النسخ هو عدد النسخ المتماثلة للبيانات الموضوعة على العقد المختلفة. لعدم وجود فشل، 3 هو عامل النسخ الجيد. أكثر من عاملي تكرار يضمن عدم وجود نقطة فشل واحدة. في بعض الأحيان، يمكن أن يكون الخادم معطلاً، أو يمكن أن تحدث مشكلة في الشبكة، ثم توفر النسخ المتماثلة الأخرى الخدمة دون أي فشل.
- على سبيل المثال: فيما يلي لقطة للأمر الذي تم تنفيذه "إنشاء مساحة مفتاحية" والذي سيؤدي إلى إنشاء مساحة مفاتيح فيها Cassandra.
Create keyspace University with replication={'class':SimpleStrategy,'replication_factor': 3};
بعد التنفيذ الناجح للأمر "إنشاء Keyspace"، سيتم إنشاء جامعة Keyspace في Cassandra مع استراتيجية "SimpleStrategy" وعامل النسخ 3.
تغيير مساحة المفاتيح Cassandra
يغير الأمر "Alter Keyspace" عامل النسخ المتماثل واسم الإستراتيجية وخصائص الكتابة الدائمة في مساحة المفاتيح التي تم إنشاؤها فيها Cassandra.
بناء الجملة
Alter Keyspace KeyspaceName with replication={'class':'StrategyName', 'replication_factor': no of replications on different nodes} with DURABLE_WRITES=true/false
الجوانب الرئيسية أثناء تغيير Keyspace في Cassandra
- اسم مساحة المفاتيح: لا يمكن تغيير اسم مساحة المفاتيح Cassandra.
- اسم الإستراتيجية: يمكن تغيير اسم الإستراتيجية عن طريق تحديد اسم إستراتيجية جديد.
- عامل النسخ المتماثل: يمكن تغيير عامل النسخ المتماثل عن طريق تحديد عامل النسخ المتماثل الجديد.
- DURABLE_WRITES: يمكن تغيير قيمة DURABLE_WRITES عن طريق تحديد قيمتها صواب/خطأ. افتراضيا، هذا صحيح. إذا تم التعيين على "خطأ"، فلن تتم كتابة أي تحديثات في سجل الالتزام والعكس صحيح.
- التنفيذ: إليك لقطة للأمر الذي تم تنفيذه "Alter Keyspace" والذي يغير إستراتيجية keyspace من "SimpleStrategy" إلى "NetworkTopologyStrategy" وعامل النسخ من 3 إلى 1 لـ DataCenter1.
Alter Keyspace University with replication={'class':'NetworktopologyStrategy', 'DataCenter1':1};
بعد التنفيذ الناجح للأمر "Alter Keyspace"، سيتم تغيير اسم الإستراتيجية من "SimpleStrategy" إلى "NetworkTopologyStrategy" وسيتم تغيير عامل النسخ من 3 إلى 1 لـ "DataCenter1".
Cassandra إسقاط مساحة المفاتيح
يأمر 'إسقاط مساحة المفاتيحيسقط مساحة المفاتيح بما في ذلك جميع البيانات وعائلات الأعمدة والأنواع والفهارس المحددة من قبل المستخدم Cassandra. قبل إسقاط مساحة المفاتيح، Cassandra يأخذ لقطة من مساحة المفاتيح. إذا كانت مساحة المفاتيح غير موجودة في ملف Cassandra, Cassandra سيُرجع خطأ ما لم يتم استخدام IF EXISTS.
بناء الجملة
Drop keyspace KeyspaceName
مثال
فيما يلي لقطة للأمر الذي تم تنفيذه "Drop Keyspace" والذي سيؤدي إلى إسقاط جامعة keyspace.
Drop keyspace University;
بعد التنفيذ الناجح للأمر "Drop keyspace University"، سيتم إسقاط جامعة keyspace من Cassandra مع كافة البيانات والمخطط.
فيما يلي اللقطة التي يظهر فيها الخطأ عند محاولة الوصول إلى مساحة المفاتيح غير الموجودة.
ملاحظات: لا يوجد فرق في إسقاط مساحة المفاتيح وحذف مساحة المفاتيح. إسقاط مساحة المفاتيح يساوي حذف مساحة المفاتيح.