أكوام من المستندات والملفات الخضراء في مكتب بإضاءة هادئة.

ملاحظات المنتج

قاعدة بيانات تتوسع بهدوء

ازدياد المستخدمين خبر سار، لكنه يطرح سؤالًا: إلى متى تستوعبهم قاعدة البيانات الحالية؟ تجهّز Authrim مساحة الحسابات الجديدة قبل الحاجة إليها، حتى لا يبدأ النمو بمشروع ترحيل.

إضافة التخزين قبل نقل البيانات

تضع Cloudflare D1، التي يستخدمها Authrim، حداً لكل قاعدة: 500 MB في الخطة المجانية و10 GB في المدفوعة. ومع نمو المستخدمين والبيانات، ستحتاج إلى موضع تخزين آخر.

صُمم Authrim لتوزيع الحسابات بين قواعد متعددة منذ البداية، دون نقل كل الحسابات القديمة عند التوسع. نسمي كل وحدة تخزين جزءاً أو shard.

تبقى الحسابات الحالية في مكانها، وتُضاف وجهات للحسابات الجديدة. هذا أساس توسيع تخزين الحسابات.

أنواع البيانات تنمو بسرعات مختلفة

تُخزن إعدادات المستأجر مثل عملاء OAuth والسياسات، والحسابات والبيانات الشخصية، وفهارس العثور على موقع الحساب بالبريد الإلكتروني بصورة منفصلة.

زيادة المستخدمين لا تعني توسيع كل القواعد معاً. تختلف أعداد السجلات وسرعة نمو الحسابات والفهارس، فتُضاف السعة حيث تلزم.

إعدادات المستأجر عملاء OAuth والسياسات حفظ إعدادات المستأجر الحسابات والبيانات الشخصية تخزين Core وPII منفصل متابعة التخصيص والنمو فهارس البحث العثور على موقع الحساب توقع السعة وإضافتها يسمح الفصل بإضافة السعة لكل نوع من البيانات عند الحاجة.
تُحفظ الحسابات والمعلومات الشخصية في قواعد منفصلة. يشرح مقال أين تُحفظ البيانات الشخصية؟ سبب ذلك.

متابعة عدد الحسابات التي يمكن إضافتها

يُخصص الحساب الجديد لأحد الأجزاء المتاحة لمستأجره. تُفضل الأجزاء السليمة التي تكون نسبة الحسابات المخصصة فيها إلى العدد المستهدف أقل.

المعيار ليس نسبة استخدام القرص، بل كم حساباً إضافياً يمكن قبوله ضمن الهدف المضبوط. إذا كان الهدف 100,000 حساب، فإن هامش 20,000 حساب يساعد في تحديد موعد تجهيز الجزء التالي.

عندما يقل الهامش المتاح، يُخصص جزء احتياطي جاهز. وينطبق ذلك على الأجزاء المشتركة بين مستأجرين أو المخصصة لمستأجر واحد.

مستأجرون مشتركون

يشترك A وB وC، والفواصل تحدد حدودهم

مستأجرون مخصصون

للمستأجر A وحده

تخزين مشترك ومخصص

مجموعة مشتركة مخصص: D مشترك بين A وB وC خاص بالمستأجر D
في النشر المشترك والمخصص والمختلط، تستقبل الأجزاء المضافة الحسابات الجديدة. يمثل مستوى الماء عدد الحسابات المخصصة، لا استخدام القرص ولا لحظة الإنشاء. والفواصل تعبر عن العزل المنطقي للمستأجرين.

ما الذي لا يلزم تكراره في التشغيل اليومي؟

بعد إعداد الإنشاء التلقائي، لا يحتاج المشغّل إلى إنشاء قاعدة وجداول وربط وجهة تسجيل جديدة كلما زاد التسجيل. كما لا تتطلب كل إضافة سعة خطة لنقل الحسابات الموجودة.

يتابع المشغّل التقدم والأخطاء والاستخدام والتكلفة. وتظل مشكلات الصلاحيات أو حدود الخدمة بحاجة إلى تدخله. في هذا التقسيم للعمل، يجهز Authrim وجهة التخزين التالية.

المساحة المتاحة اليوم لا تكفي للتوقع

مع سعة متبقية لـ20,000 حساب، تختلف مهلة الاستعداد بين خدمة تضيف 100 حساب يومياً وأخرى تضيف 10,000 في الساعة.

لذلك يتوقع Authrim السعة المستقبلية من معدلات التسجيل الأخيرة والتخصيص الحالي، للحسابات والفهارس معاً. تعمل مهمة دورية كل دقيقة، وتُحدّث توقعات الحسابات بعد التخصيص أيضاً.

تدخل الأجزاء الجاري إنشاؤها في الحساب، كي لا تنشئ عدة عمليات قواعد زائدة عندما تكتشف النقص نفسه.

من الإنشاء إلى الاستخدام

عندما لا تكفي الأجزاء الاحتياطية، ينشئ Authrim قواعد D1 عبر واجهة إدارة Cloudflare، ويجهز الجداول ووصول Workers ويوزع المواقع الجديدة. لا تصبح القاعدة وجهة للتخصيص إلا بعد نجاح فحوص القراءة والكتابة.

يجب تفعيل الإنشاء التلقائي وإعداد رمزي API منفصلين لـD1 وWorkers. وعندما يتعذر التنفيذ التلقائي، يتابع المشغّل عبر أداة الإعداد.

يُحفظ تقدم الإنشاء. يمكن إعادة المحاولة بعد عطل اتصال مؤقت اعتماداً على تلك الحالة. أما نقص الصلاحيات أو بلوغ حدود الموارد فيحتاج إلى معالجة السبب قبل الاستئناف.

إذا تأخر التجهيز ونفدت الأماكن، فقد تحتاج عمليات التسجيل الجديدة إلى إعادة المحاولة. الاستعداد المبكر يهدف إلى تقليل الانتظار.

المشغّل يقرر نقل البيانات

إضافة السعة ونقل البيانات عمليتان مختلفتان. فنقل مستأجر من جزء مشترك إلى جزء مخصص يحتاج أيضاً إلى نسخ بياناته الحالية.

يقرر المشغّل بدء النقل. وبعد الموافقة، يتولى Authrim المزامنة والتحقق والتحويل.

جزء مشترك A B C عدة مستأجرين في جزء واحد موافقة نقل الموافقة تبدأ النقل مزامنة وتحقق وتحويل يستخدمه مستأجر واحد A جزء مخصص
بعد الموافقة، تُزامن البيانات ويُتحقق منها قبل التحويل إلى التخزين المخصص. تتضمن العملية مرحلة توقف الكتابة لفترة قصيرة.

التغيير المدعوم حالياً هو من المشترك إلى المخصص. العودة إلى المشترك وإعادة توزيع الحسابات القائمة تلقائياً بالتساوي غير مطبقتين.

حذف جزء خرج من الاستخدام يحتاج إلى موافقة أيضاً. زيادة السعة لا تبدأ تلقائياً نقل البيانات الحالية أو حذفها.

ما الذي جرى قياسه؟

في اختبار خلال يوليو 2026 شمل 200,000 حساب، استخدمت Core نحو 208 MB وPII نحو 238 MB وLookup نحو 426 MB. كان كل منها أقل من 5% من حد 10 GB للقاعدة المدفوعة. ويتغير الاستخدام الفعلي بحسب السمات والفهارس.

الهدف الافتراضي 100,000 حساب لكل جزء، مع هامش لتجهيز التالي بدلاً من ملء القاعدة حتى حدها المادي.

Authrim في مرحلة ما قبل 1.0، والخبرة التشغيلية الطويلة على نطاق واسع ما زالت قيد البناء. قياس تخزين 200,000 حساب اختباري مختلف عن تشغيل خدمة يستخدمها ملايين الأشخاص يومياً.

خطط نقل أقل مع النمو

يمكن لخدمة صغيرة البدء بأجزاء قليلة وإضافة وجهات مع نمو التسجيل، دون تجهيز بنية ضخمة منذ اليوم الأول. يتضمن Authrim الاستعداد والإجراءات اللازمة لذلك.

عندما يزداد المستخدمون، نريد ألا يكون نقل قاعدة البيانات أول مهمة في القائمة. تقليل هذا العمل يتيح وقتاً أكبر لتطوير الخدمة نفسها.

قياس التخزين في 30 يوليو 2026 باستخدام 200,000 حساب اختباري. وحدة MB عشرية. حدود D1 موضحة في وثائق Cloudflare.