متى لا تستخدم التقسيم
تحل النسخ المتماثلة للقراءة والتقسيم والخوادم الأكبر معظم مشكلات التوسع — تعرّف على الحالات التي يكون فيها التقسيم إجابة خاطئة
متى لا تستخدم التقسيم درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.
التجزئة هي الحل الأخير
تضاعف التجزئة التعقيد التشغيلي. ومعظم التطبيقات لا تحتاج إليها أبدًا. استنفد الخيارات الأبسط أولًا.
الخطوة 1: التوسع الرأسي
استخدم خادمًا أكبر. تستطيع مثيلات السحابة الحديثة التعامل بسهولة مع:
- 128 نواة
- 1 TB من الذاكرة العشوائية
- 50,000 عملية إدخال وإخراج في الثانية عبر NVMe
يعني ذلك من 100k إلى 500k استعلام في الثانية على عقدة Postgres واحدة. وتناسب هذه القدرة معظم التطبيقات بسهولة.
الخطوة 2: النسخ المتماثلة للقراءة
إذا كانت القراءات هي الغالبة، فأضف نسخًا متماثلة. يمكن لنسخة أساسية واحدة و3 نسخ متماثلة تقديم عدد قراءات أكبر بعشرة أضعاف.
الخطوة 3: التخزين المؤقت
ضع Redis أو memcached أمام الاستعلامات كثيرة الاستخدام. وغالبًا ما يكون هذا الحل الأقل تكلفة.
الخطوة 4: التقسيم
يعالج التقسيم التصريحي الأصلي في PG مشكلة «كبر حجم الجدول» ضمن خادم واحد. وغالبًا ما يكون أسهل بمئة مرة من التجزئة.
الخطوة 5: تقسيم الخدمات
انقل المجالات المختلفة إلى قواعد بيانات مختلفة — قاعدة بيانات للطلبات، وأخرى للمستخدمين، وثالثة للتحليلات. ويمكن لكل منها التوسع بشكل مستقل.
الخطوة 6: انقل التحليلات إلى الخارج
استعلامات OLTP ← Postgres. الاستعلامات التحليلية ← ClickHouse أو BigQuery أو Snowflake. كثير من الحالات التي يُقال فيها «نحتاج إلى التجزئة» تعني في الواقع «التحليلات تستهلك نظام OLTP لدينا».
ثم، ربما، التجزئة
إذا ظللت تواجه نفاد الموارد عند 50TB من بيانات OLTP فقط، وكان حمل العمل يتطلب عمليات كتابة لا يستطيع خادم واحد التعامل معها، فابدأ التخطيط للأجزاء.
التكلفة التشغيلية للتجزئة
- مزيد من الخوادم للمراقبة وتثبيت التصحيحات
- يجب تنسيق النسخ الاحتياطية عبر الأجزاء
- تصل الاستعلامات عبر الأجزاء إلى شيفرة التطبيق
- إعادة التجزئة صعبة
- تتطلب الأجزاء الساخنة إعادة توازن نشطة
استراتيجية «التجزئة المتأخرة»
أنشئ النظام باستخدام أنماط تراعي التجزئة (أدرج tenant_id دائمًا، ولا تستخدم عدادات تزداد على مستوى النظام) حتى تتمكن من التجزئة لاحقًا. لكن لا تقسّم النظام حتى تضطر إلى ذلك.
مخطط مناسب للتجزئة
حتى إذا أبقيت النظام على عقدة واحدة، صمّمه كما لو أنك قد تستخدم التجزئة:
- tenant_id في كل صف
- UUID أو معرّفات موزّعة (بدلًا من الزيادة التلقائية)
- لا تستخدم متتاليات فريدة على مستوى النظام
- مفاتيح خارجية ضمن نطاق المستأجر
أقرّ بالموازنة
تزيد التجزئة السعة على حساب الإمكانات. إذ تصبح عمليات JOIN والمعاملات والاستعلامات أكثر صعوبة. تأكد من أن الفائدة تستحق ذلك.
مراجعة
تحل التجزئة مشكلة حقيقية، لكنها حل ثقيل.
- ابدأ بالتوسع الرأسي
- النسخ المتماثلة للقراءة والتخزين المؤقت
- استخدم التقسيم قبل التجزئة
- انقل التحليلات بعيدًا عن OLTP
- صمّم النظام ليكون قابلًا للتجزئة، وأجّل تنفيذ التجزئة الفعلية
تحقق سريع
تفكر في استخدام التجزئة لأن استعلامات OLTP بطيئة. ما الخطوة التي يُرجح أن تساعد قبل اللجوء إلى التجزئة؟
الأسئلة الشائعة
هل درس «متى لا تستخدم التقسيم» مجاني؟
نعم — نص درس «متى لا تستخدم التقسيم» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.
ماذا ستتعلم في «متى لا تستخدم التقسيم»؟
تحل النسخ المتماثلة للقراءة والتقسيم والخوادم الأكبر معظم مشكلات التوسع — تعرّف على الحالات التي يكون فيها التقسيم إجابة خاطئة تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟
لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «متى لا تستخدم التقسيم»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟
نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استراتيجيات التقسيم: النطاق والتجزئة والدليل
- الاستعلامات بين الأقسام: المشكلة الصعبة
- Citus وPostgres الموزع
- متى لا تستخدم التقسيم