قواعد البيانات التخزين دليل

بياناتك في المكان الخطأ: دليل بسيط للتخزين وقواعد البيانات

عقود في مرفقات البريد، وسجلات عملاء في جدول يعدله أربعة أشخاص، وصور ممسوحة في مجلد اسمه 'نهائي-النهائي'. المشكلة ليست الفوضى، بل أن كل نوع بيانات يحتاج بيتاً مختلفاً. هذه هي الخريطة.

APFlow
المدونة · يونيو ٢٠٢٦ · ٨ دقائق
Tall organized warehouse shelves
Photo: Lance Chang, Unsplash
TL;DR
  • ·أربعة بيوت تكفي كل شيء تقريباً: مخزن الملفات للمستندات والوسائط، وقاعدة بيانات علائقية (Postgres) للسجلات التي يجب أن تكون صحيحة، وأداة جداول سهلة (Airtable) لقوائم الفرق الصغيرة، ومخزن متجهات للبحث بالمعنى.
  • ·قاعدة المطابقة بسيطة: الملفات في مخزن الملفات ووصفها فقط في قاعدة البيانات؛ والحقائق التي تتغير معاً في Postgres؛ وما يديره فريق غير تقني وحده يمكن أن يعيش في Airtable حتى يكبر عنه.
  • ·كل واحد من هذه له نسخة تعمل على خوادمكم، فالشركة الخاضعة للتنظيم تستطيع تشغيل الخريطة كلها داخل شبكتها.

كل شركة تنمو تصطدم بالجدار نفسه. العقد في مكان ما داخل البريد. وقائمة العملاء جدول له خمس نسخ متعارضة. والمستندات الممسوحة في مجلد مشترك لا يجرؤ أحد على ترتيبه. ثم يحاول أحدهم أتمتة مسار عمل فيكتشف المشكلة الحقيقية: البيانات بلا بيت صحيح. هذا الدليل يعطيك البيوت الأربعة التي تكفي كل أنواع بيانات الشركات تقريباً، وما الذي يسكن في كل بيت، وقاعدة الاختيار.

البيوت الأربعة

Object storage
للملفات والوسائط: المستودع
يخزن ملفات PDF والمسح الضوئي والصور والصوت والفيديو والنسخ الاحتياطية
أمثلة Amazon S3 وCloudflare R2؛ وMinIO على خوادمكم
القاعدة الملف يسكن هنا؛ ووصفه فقط يسكن في قاعدة البيانات
PostgreSQL
للسجلات التي يجب أن تكون صحيحة: السجل الرسمي
يخزن العملاء والطلبات والفواتير والموافقات: حقائق تتغير معاً
لماذا هو المعاملات تضمن أن الطلب ودفعته يتحدثان معاً أو لا يتحدثان أبداً
القاعدة إذا كان رقمان يجب ألا يختلفا أبداً، فمكانهما هنا
Airtable
لقوائم الفرق الصغيرة: الدفتر المشترك
يخزن جداول المحتوى ومتابعة المرشحين والمخزون البسيط
لماذا هو الفرق غير التقنية تديره وحدها: نماذج وعروض وأتمتة
القاعدة ممتاز حتى آلاف الصفوف أو حسابات المال؛ بعدها انتقلوا إلى Postgres
Vector store
للبحث بالمعنى: أمين المكتبة
يخزن بصمات رقمية للنصوص والصور، للبحث بالتشابه
أمثلة pgvector داخل Postgres؛ أو Qdrant مستقلاً
القاعدة عندما يجب أن ينجح 'ابحث عن غرامات تأخير التسليم' دون تطابق الكلمات

كيف تعمل معاً: فاتورة واحدة في أربعة بيوت

تتبع فاتورة ممسوحة واحدة في منظومة حقيقية. الصورة نفسها (4 ميجابايت) تذهب إلى مخزن الملفات. الحقائق المستخرجة (المورد والمبلغ والتاريخ والحالة) تصبح صفاً في Postgres يشير إلى الصورة. وبصمة رقمية لنص الفاتورة تذهب إلى مخزن المتجهات، ليبحث أحدهم الشهر القادم عن "فاتورة الصيانة من مورد جدة" ويجدها دون أن يتذكر كلمة واحدة بدقة. وفريق العمليات يتابع حالات الأسبوع في عرض Airtable يتغذى من Postgres. أربعة بيوت، ومستند واحد، وصفر نسخ متعارضة من الحقيقة.

الأخطاء التي تصنع الفوضى

  1. 1 ملفات داخل قاعدة البيانات
    تخزين الصور داخل قاعدة البيانات يضخم النسخ الاحتياطية ويبطئ كل شيء. الملف إلى مخزن الملفات؛ وقاعدة البيانات تحفظ الرابط فقط.
  2. 2 الجدول الذي صار هو النظام
    جدول مشترك يعدله خمسة أشخاص ليس قاعدة بيانات: لا تاريخ ولا قواعد ولا حقيقة واحدة. اليوم الذي تختلف فيه نسختان على دفعة هو يوم الانتقال إلى Postgres.
  3. 3 شراء مشكلة بحث لا تحلها قاعدة بيانات
    البحث بالكلمات لا يجد 'غرامة تأخير التسليم' داخل عقد يقول 'تعويض عن تأخر الاستلام'. هذه مشكلة معنى، وتحتاج المتجهات، وهي موضوع مقالنا المعمّق عن قواعد بيانات المتجهات بالتفصيل.
ملاحظة الاستضافة الذاتية

كل بيت في هذه الخريطة له نسخة تعمل داخل شبكتكم: MinIO لمخزن الملفات، وPostgres مع pgvector، وأدوات جداول مثل NocoDB بدل Airtable. إذا كان المنظم يحدد أين تسكن البيانات، فالخريطة لا تتغير؛ الذي يتغير هو مكان التشغيل فقط.

شارك

ضعوا عمليةً واحدة في الإنتاج.

مكالمة من ١٥ دقيقة، ثم تقييم حقيقي لما يستطيع الوكيل تشغيله على خوادمكم.

احجز مكالمة تقييم ←
تابع القراءة