مشكلة 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
المشاهدات
594
x32x01
x32x01
x32x01
الردود
0
المشاهدات
588
x32x01
x32x01
x32x01
الردود
0
المشاهدات
872
x32x01
x32x01
x32x01
الردود
0
المشاهدات
584
x32x01
x32x01
x32x01
  • x32x01
الردود
0
المشاهدات
594
x32x01
x32x01
الوسوم : الوسوم
database lock full table scan isolation level olap oltp performance optimization power bi read replica replication sql
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,320
المشاركات
2,533
أعضاء أكتب كود
567
أخر عضو
Mohaned
عودة
أعلى