تم تصميم Cassandra كنظام إدارة قاعدة بيانات موزع (DBMS)، وتعتمد على بنية نظير إلى نظير. كل عقدة، أو خادم فردي يقوم بتخزين جزء من البيانات، في مجموعة Cassandra متساوٍ، ولا يوجد اعتماد على العقدة الرئيسية.
يتم تقسيم البيانات عبر النظراء بدلاً من تخزينها في موقع مركزي، مما يزيل نقطة الفشل الواحدة (حيث يؤدي عطل واحد إلى عيوب متتالية). يتيح هذا التصميم تكرارًا سلسًا وتوزيعًا فعالًا للبيانات وخدمة مستمرة حتى أثناء فترة التعطل المخطط لها أو التغييرات المفاجئة.
توفر Cassandra الأتمتة، والنسخ الاحتياطي للبيانات، والمقاييس المتكاملة لحالات الاستخدام مثل إدارة أجهزة إنترنت الأشياء (IoT) المتصلة. توفر بشكل خاص قابلية التوسع الخطي، وتوافرًا عاليًا، وتحملًا للأخطاء، مما يجعلها خيارًا شائعًا لتطبيقات البيانات الكبيرة وأعباء العمل في الوقت الفعلي. اعتبارًا من سبتمبر 2024، تم استخدام Cassandra من قِبل أكثر من 30000 مؤسسة حول العالم.
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.
بدأت قصة Cassandra في عام 2007 في Facebook، حيث كان المهندسون يبحثون عن نظام يمكنه تخزين البيانات لمنصة الرسائل المتنامية للشركة. بدمج نماذج قواعد بيانات NoSQL راسخة (مثل Dynamo من Amazon و Bigtable من Google)، ابتكروا نظامًا يتميز بهياكل بيانات فعّالة واتساق نهائي—حيث تنتشر التحديثات تدريجيًا حتى تتطابق جميع النسخ المماثلة بمرور الوقت.
في عام 2008، تم إطلاق Cassandra كمشروع مفتوح المصدر، وسرعان ما اكتسب شهرة واسعة بين المطورين الباحثين عن بديل لقواعد البيانات العلائقية التقليدية. تولت مؤسسة Apache Software الإشراف عليه في عام 2009، مما أدى إلى إضفاء الطابع الرسمي على حوكمته وتسريع اعتماده من قِبل المجتمع.
ازداد زخم Cassandra مع استخدامه من قِبل شركات رائدة مثل eBay، و Spotify، و Instagram للتعامل مع البيانات الكبيرة. ومع صعود إنترنت الأشياء (IoT) والتخصيص الفوري، تعزز دور Cassandra كقاعدة بيانات مفضلة لتحقيق التوسع العالي والتوافر.
تمت إضافة دعم تجاري من DataStax لأدوات ومزايا على مستوى المؤسسات، ودروس تعليمية وخدمات، بينما طوّر المجتمع المفتوح أدوات ووسّع التوثيق. تبقى Cassandra اليوم محورًا أساسيًا للعديد من الأنظمة الموزعة، وتزدهر في كل من الأنظمة البنائية مفتوحة المصدر وعمليات النشر المخصصة للشركات.
من خدمات البث ووسائل التواصل الاجتماعي إلى التسوق عبر الإنترنت، يتوقع العملاء تجارب رقمية متاحة دائمًا. وبالنسبة للشركات، لم تعد مدة التشغيل مجرد هدف لتكنولوجيا المعلومات، بل أصبحت مقياسًا أساسيًا للأعمال. تكلفة التقصير باهظة: تُقدَّر خسائر الشركات الرائدة عالميًا بـ 400 مليار دولار أمريكي سنويًا بسبب فترات التعطل غير المخطط لها.
في الوقت نفسه، فإن التدفق الهائل للبيانات غير المنظمة من سجلات الأحداث، والقياس عن بُعد، وتدفقات البيانات يزيد من تعقيد العمليات عبر المناطق والبيئات السحابية، مما يزيد من احتمالية حدوث أعطال في الأنظمة. تحتاج المؤسسات إلى قاعدة بيانات موثوقة يمكنها التعامل مع أنواع البيانات المتنوعة، والتوسع لتلبية الطلب عبر البُنى التحتية العالمية. تم تصميم Cassandra لتلبية هذه المتطلبات.
تعتمد العديد من الصناعات على الأداء العالي لـ Cassandra لمعالجة مليارات عمليات الكتابة (الإدراج، والتحديث، والحذف)، بينما تقدم للمستخدمين دقة في الوقت الفعلي. تستمد مرونتها من خلال تكرار البيانات عبر الخوادم التجارية، أو الأجهزة القياسية الجاهزة، مما يقلل من مخاطر الانقطاعات ويضمن المتانة حتى في حالة فشل الأجهزة.
قدرة Cassandra على إدارة أعباء العمل عبر مراكز بيانات متعددة توفر الاتساق والتوافر للشركات في جميع أنحاء العالم. تستخدم مؤسسات مثل Netflix و Amazon قاعدة بيانات Cassandra لتقديم تجارب مخصصة مع الحماية من فترات التعطل وفقدان البيانات. في الواقع، أن فريق منصة إدارة الأصول في Netflix يستخدم Cassandra لإدارة ما يقرب من 1.9 مليار تعليق توضيحي (حوالي 2.6 تيرابايت)، وقد ضاعف حجم مجموعته من 12 إلى 24 عقدة.
على عكس قواعد البيانات العلائقية، التي تعتمد على تعريفات المخططات الصارمة والتحكم المركزي، تم بناء Cassandra لتحقيق التوسع الموزع. في الأنظمة العلائقية، يرتبط المفتاح الأساسي بنمذجة بيانات صارمة وقابلية توسع محدودة. على النقيض من ذلك، تستخدم Cassandra مفتاح التقسيم وعامل النسخ المتماثل لتحديد كيفية تخزين مجموعات البيانات عبر العقد ومراكز البيانات.
في حين تتفوق أنظمة لغة الاستعلام الهيكلية (SQL) في عمليات الربط المعقدة والتجميع، إلا أنها غالبًا ما تتسبب في حدوث اختناقات وتزيد من خطر وجود نقطة فشل واحدة. تتجنب Cassandra هذا الأمر من خلال تبني بنية موزعة واتساق نهائي. مقارنة بقاعدة بيانات MongoDB، تفضل Cassandra أعباء العمل كثيفة الكتابة والقابلة للتطوير خطيًا عبر مراكز بيانات متعددة.
بالنسبة للمؤسسات التي تدير كميات كبيرة من البيانات، توفر Cassandra مزايا واضحة: إنتاجية عالية، وزمن انتقال قصير، وتحمل الانقطاعات. ومع ذلك، لا توفر Cassandra نفس المستوى من الاستعلام المخصص الذي تقدمه بعض قواعد البيانات العلائقية. يجب على المطورين الذين يستخدمون Cassandra تصميم استراتيجيات نمذجة البيانات بعناية لتحسين عمليات الكتابة، النسخ المتماثل، وسلامة البيانات.
يجمع تصميم Cassandra بين الابتكارات في الأنظمة الموزعة وأدوات إدارة البيانات على مستوى المؤسسات. ومن المزايا الرئيسية ما يلي:
إن Cassandra نظام مفتوح المصدر تحت إشراف مؤسسة Apache Software، مما يساعد المؤسسات على تجنب الاحتكار من قِبل بائع واحد وتخصيص قاعدة البيانات لتناسب احتياجاتها. عند الحاجة إلى مساعدة على مستوى المؤسسات، يمكن للفرق استخدام موارد المجتمع أو اختيار الدعم التجاري والخدمات المُدارة.
يستخدم محرك التخزين في Cassandra تدفقًا متدرجًا (أو مسار كتابة) يتكون من: سجل الالتزام، وجدول في الذاكرة، وملفات جدول السلاسل المرتبة. يتيح هذا المسار قبول عمليات الكتابة بسرعة وحمايتها. يتم الاحتفاظ بالبيانات التي يتم الوصول إليها بشكل متكرر في الذاكرة المؤقتة للاستعلامات ذات زمن الانتقال القصير، بينما تساعد عملية الضغط، وهي وظيفة صيانة تلقائية، على ضمان تخزين فعال للبيانات على المدى الطويل.
وفقًا لـ نظرية CAP، عند حدوث انقسام في الشبكة، يمكن للنظام الموزع أن يحقق اثنتين فقط من ثلاث خصائص مرغوبة وهي: الاتساق، والتوافر، ومقاومة الانقسام (CAP). تتعامل Cassandra مع هذه المفاضلة من خلال مستويات الاتساق القابلة للتعديل، مما يسمح للمستخدمين بإعطاء الأولوية للتوافر أو الاتساق اعتمادًا على حالة الاستخدام.
نزيد Cassandra من سعتها عبر إضافة عُقد جديدة دون انقطاع الخدمة، مما يوفر قابلية توسع خطي على خوادم تجارية بدلاً من الترقيات العمودية المكلفة. عند إضافة عقد، تقوم Cassandra تلقائيًا بإعادة توزيع البيانات وحركة المرور عبر المجموعة، مما يسمح بتوسيع أعباء العمل وارتفاع الإنتاجية بشكل متناسب.
تقوم Cassandra بتكرار البيانات عبر العُقد ومراكز البيانات بحيث يتمتع المستخدمون المحليون بتجربة زمن انتقال قصير مع تجنب نقطة فشل واحدة. كما أنها تتكامل مع Kubernetes وأطر عمل واجهة برمجة التطبيقات (API) وبيئات Amazon Web Services (AWS). تمت كتابتها بلغة Java ويتم تشغيلها على أجهزة Java الافتراضية (JVM).
يستخدم الفريق لغة استعلام Cassandra (CQL)—التي تشبه لغة SQL—لتحديد الهياكل الأساسية بسرعة مثل مساحة المفاتيح، والجداول، والمفاتيح الأساسية. يمكن للأدوات التفاعلية مثل CQL shell (cqlsh) والبرامج التعليمية الرسمية أن تساعد أيضًا في تقليل وقت إعداد المطورين الجدد.
تتفاعل Cassandra مع التطبيقات من خلال CQL، وهي لغة خاصة بالمجال مستوحاة من لغة SQL. يعد بناء جملة CQL مألوفًا لمطوري قواعد البيانات، مما يسمح لهم بتعريف مساحة المفاتيح، والمخطط، وأنواع البيانات، بالإضافة إلى المفاتيح الأساسية ومفاتيح التقسيم.
على سبيل المثال، خلال إطلاق لعبة عالمية، قد يقوم المطور بإنشاء مساحة مفاتيح—التي تعادل قاعدة البيانات العليا في Cassandra وتحدد إعدادات التكرار.بعد ذلك، يمكنهم تصميم جداول حيث يضمن مفتاح التقسيم (مثل: معرّف اللاعب أو المنطقة) بقاء البيانات ذات الصلة على نفس العقد لتحقيق توزيع فعال للبيانات. باستخدام cqlsh، تمكن الفريق من تشغيل الدروس التعليمية، والتحقق من صحة الاستعلامات، وإدارة مجموعة Cassandra أثناء إضافتهم للعُقد الجديدة للتعامل مع الزيادة في أعداد اللاعبين.
نظرًا لأن Cassandra تركز على عمليات الكتابة والإنتاجية، فإن صيغتها تتجنب الميزات التي قد تبطئ الأداء، مثل عمليات الربط المعقدة. بدلاً من ذلك، يعتمد المطورون على الفهارس الثانوية والتجميعات ونمذجة البيانات لتحقيق المرونة.
على الرغم من أن لغة CQL تشبه لغة SQL، إلا أن اللغتين تعكسان مقاربات مختلفة لإدارة البيانات.
تعمل لغة SQL على جداول في حالتها المعيارية، في حين أن لغة CQL مصممة لبيانات Cassandra اللامعيارية والمتوافقة مع مفاتيح التقسيم.
تفترض SQL وجود تكامل صارم للبيانات، بينما توازن Cassandra بين الاتساق النهائي ومستويات الاتساق القابلة للتكوين.
تعتمد أنظمة SQL عادةً على التوسع العمودي، بينما تُمكن Cassandra من التوسع الخطي عن طريق إضافة عُقد جديدة إلى مجموعة Cassandra.
تُستخدم لغة SQL بشكل أفضل في العمليات التي تعتمد على المعاملات، بينما تُصمم لغة CQL للاستعلامات الفورية وعمليات الكتابة عالية الحجم.
يمكن للمطورين المنتقلين من SQL التكيف بسرعة مع بناء جملة CQL، ولكن يجب عليهم إعادة التفكير في استراتيجيات نمذجة البيانات للاستفادة من نهج الأنظمة الموزعة في Cassandra.
تُشغِّل Cassandra أعباء عمل حيوية وحاسمة عبر مختلف الصناعات التي تتطلب أداءً عاليًا، وزمن انتقال قصير، ومرونة. ومن الأمثلة على ذلك:
بصرف النظر عن هذه القطاعات، تدعم Cassandra المؤسسات التي تبني أنظمة موزعة للبيانات الكبيرة وتخزين البيانات القابل للتوسع. وبفضل مزيج من دعم واجهات برمجة التطبيقات، وأدوات المؤسسات، والدروس التعليمية المجانية المتاحة للمجتمع، تظل Cassandra حجر الزاوية في أنظمة إدارة قواعد البيانات الحديثة.
لكي تزدهر الشركات، يجب عليها استخدام البيانات لتعزيز ولاء العملاء، وأتمتة عمليات الأعمال، والابتكار باستخدام الحلول المستندة إلى الذكاء الاصطناعي.
استفِد من قيمة بيانات المؤسسة مع IBM Consulting لبناء مؤسسة تعتمد على الرؤى لتحقيق ميزة تنافسية في الأعمال.
تعرَّف على Cognos Analytics 12.0، رؤى مدعومة بالذكاء الاصطناعي لتحسين عملية اتخاذ القرارات.
†Apache Cassandra و Cassandra هما علامتان تجاريتان مسجلتان لمؤسسة Apache Software.