- بواسطة x32x01 ||
🧠 ليه شركات كبيرة بتختار داتا بيز غير التقليدي؟
عمرك سألت نفسك ليه شركات ضخمة زي Netflix بتختار داتا بيز مختلفة عن المعتاد؟ليه تستخدم Apache Cassandra بدل MongoDB أو MySQL؟
الإجابة ببساطة: القرار مش تريند… القرار مبني على فهم السيستيم نفسه 💡
خلّيني أشرح لك الفكرة بمثال بسيط 👇
🧾 مثال الكاشير: الفكرة في سطرين
تخيل محل فيه كاشير واحد بس:- لو اتأخر
- لو خد بريك
- لو وقع السيستم
دلوقتي تخيل شبكة كاشيرات:
- كل واحد يستقبل طلبات
- لو واحد وقع، الباقي يكمل
- ممكن الأداء يقل شوية، بس الشغل ما يوقفش ✅
🌐 Cassandra بتشتغل إزاي؟
Cassandra شبه شبكة الكاشيرات بالظبط 👌 كل Node فيها:- متساوي (Equal)
- تقدر تقرأ وتكتب من أي Node
- مفيش Leader واحد متحكم في الدنيا
- Availability عالية جدًا 🔥
- مفيش Election
- مفيش توقف كامل
- Graceful Degradation لو حصل Fail
🍃 MongoDB بتختلف في إيه؟
MongoDB في شكلها التقليدي (Primary / Secondaries) شبه كاشير واحد للـ Write:- فيه Node أساسي للكتابة
- لو وقع:
- يحصل Election
- الـ Write يقف شوية
- لحد ما يطلع Leader جديد 😅
- MongoDB قوية جدًا في الاستعلامات
- مرنة وسهلة
- Schema وConsistency ممتازة في حالات كتير
🎯 تختار أنهي واحدة؟ اسأل نفسك السؤالين دول
1️⃣ طبيعة الداتا وAccess Pattern
- الداتا Key-Value
- أو مربوطة بـ User ID
- Writes وReads كتير
- من أماكن مختلفة
2️⃣ Multi-Region وLatency
- عندك Users في مناطق كتير 🌍
- عايز الخدمة قريبة من كل مستخدم
- ومينفعش أي Region يقع
🧩 الخلاصة: اختار بالعقل مش بالتريند
❌ متختارش داتا بيز علشان: مشهورة - كل الناس بتستخدمها - بتعمل كل حاجة✅ اختار على حسب:
- طبيعة الـ Business
- هل السيستيم لازم يفضل شغال دايمًا؟
اختار Design من غير Leader واحد 👉 - هل الترتيب والـ Consistency الصارمة أهم؟
اختار الداتا بيز التقليدية اللي انت متعود عليها 👉
لو البوست فادك؟
شير ولايك يا هندسة 😅❤️
وسيب رأيك في الكومنتات… تحب نكمل مقارنة بين أنظمة تانية؟ 👇