مشكلة Database Lock بسبب Power BI

x32x01
  • بواسطة x32x01 ||
مشكلة تقنية دمّرت السيستم لأسابيع… والسبب كان مفاجأة 😵‍💫
حابب أشارك معاكم مشكلة تقنية بهَدلتنا حرفيًا أسابيع
مشاكل في كل حتة:
  • مشاكل Billing 💸
  • مشاكل في العمليات المالية
  • مشاكل مع المستخدمين
  • مشاكل في الـ Jobs
  • Errors بتطلع واحدة واحدة وبشكل عشوائي 😤
والغريب؟
المشاكل دي مكنتش موجودة خالص وظهرت فجأة وبالتدريج.


العرض المشترك لكل المشاكل 🔍

بعد شوية تحليل، لقينا إن كل المشاكل ليها سبب واحد: Database Locks ⛔
  • قفل على جداول
  • قفل على Rows
  • Transactions بتستنى
  • Requests بتتكدّس
راجعنا:
  • الضغط
  • الكود
  • الاستعلامات
  • Indexes
وحتى بعد التحسين… المشكلة مكملة 😐 بل وانتقلت لجداول مفيش عليها ضغط أصلاً!


المفاجأة: أداة تقارير هي السبب 😳

بعد تقليب الدنيا، اكتشفنا إن في أداة اتربطت قريب: Power BI 📊
قلنا:
مفيش مشكلة… المستخدم Read Only
مستحيل يكون السبب وده كان أكبر خطأ ❌


Power BI بيشتغل إزاي؟ 🤔

بعد ما دخلنا نبحث بعمق، اكتشفنا إن:
  • Power BI ليه أكتر من Mode
  • وليه أكتر من طريقة Query Execution
  • بعض الإعدادات بتخلّيه:
    • يعمل Heavy Read Queries
    • يعمل Full Table Scan
    • يستخدم Read Locks
      (حسب Isolation Level)
يعني: ❌ قراءة بس ❌ بس قراءة قاتلة 😅


مثال بسيط على اللي كان بيحصل 💥

استعلام تقارير شكله بريء:
SQL:
SELECT *
FROM transactions
WHERE created_at >= '2026-01-01'
لكن:
  • بدون Index
  • على جدول ضخم
  • ومع Isolation Level عالي
النتيجة؟ ⛔ Locks ⛔ Blocking ⛔ شلل في السيستم كله


ليه Read Only مش ضمان؟ ⚠️

ناس كتير فاكرة إن: Read Only = Safe
وده مش صح دايمًا ❌
لأن:
  • Read Locks ممكن تمنع Writes
  • Full Scan ممكن يقفل Resources
  • Long Running Queries = Disaster
خصوصًا في:
  • Billing
  • Financial Systems
  • High Traffic SaaS


الحل اللي أنقذنا 🔧

الحل كان Architectural مش كود بس 👇
عملنا:
  • Replication Server
  • Read Only
  • مخصص للتقارير
وبقى:
  • Power BI
  • أي أداة خارجية
تشتغل على: ✅ Replica
❌ مش على الـ Primary DB
والـ Main Database؟
✔️ متصلة بالسيستم بس
✔️ مستقرة
✔️ بلا Locks


الدروس المستفادة 🎯

متستخدمش أداة قبل ما تفهمها​

أي Tool:
  • اقرأ عنها
  • افهم طريقة شغلها
  • اعرف أسوأ سيناريو ليها

متحللش المشكلة من زاوية الكود بس​

مش كل Bug سببه:
  • Code
  • Query
أحيانًا:
  • Tool
  • Config
  • Architecture

خلي قائدك دايمًا في الصورة 🧠

  • بلّغ
  • ناقش
  • خُد قرار مشترك
ده بيحميك وبيحمي السيستم 👌

حلّل قبل ما تحكم​

اطرح كل المعطيات .. اربط الأحداث - وشوف:
إيه اتغير قبل ما المشكلة تظهر؟
غالبًا هناك هتلاقي السبب الحقيقي 🔍

الخلاصة 💡

المشكلة:
❌ مش في Power BI
❌ مش في Read Only User
المشكلة:
✅ في سوء الاستخدام
✅ وعدم عزل التقارير عن السيستم
افصل: OLTP عن OLAP ونام مرتاح 😄
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
97
x32x01
x32x01
x32x01
الردود
0
المشاهدات
480
x32x01
x32x01
x32x01
الردود
0
المشاهدات
149
x32x01
x32x01
x32x01
الردود
0
المشاهدات
119
x32x01
x32x01
x32x01
الردود
0
المشاهدات
469
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,135
المشاركات
2,343
أعضاء أكتب كود
525
أخر عضو
sadoki
عودة
أعلى