Directus مقابل Supabase في 2026: أي Backend يناسب مشروعك؟
لوحة التحكم Vercel الخاصة بك تُظهر فشل البناء. انتهت مهلة ترحيل Directus لأن محرر محتوى غيّر حقل المخطط الهيكلي الساعة 3 مساءً — بدون إشعار مسبق، بدون خطة تراجع. أو: انتهت صلاحية رموز مصادقة Supabase في منتصف الجلسة لأنك أساءت قراءة نافذة التحديث في سجل تغييراتهم قبل ثلاثة إصدارات. لقد أطلقت 47 مشروعاً عبر كلا المنصتين منذ 2023. في كل مرة يسأل مؤسس "Directus أم Supabase؟"، الإجابة تنقسم على سؤال واحد: هل تبني عملية محتوى أم تطبيق مستخدم؟ يلتف Directus حول أي قاعدة بيانات SQL في نظام إدارة محتوى بصري مع واجهات برمجية REST و GraphQL يتم إنشاؤها تلقائياً. يبدأ Supabase مع PostgreSQL ويطبق المصادقة واشتراكات الوقت الفعلي والتخزين ووظائف الحافة في الأعلى. يعطيك كلاهما قاعدة بيانات. يعطيك كلاهما API. كلاهما يتضمن لوحة تحكم. لكن Directus يعامل محررو المحتوى كمستخدمين من الدرجة الأولى؛ Supabase يعامل المطورين كالمستخدمين الوحيدين. يحدد هذا الانقسام أيهما سينجو من إطلاقك للإنتاج — وأيهما يخلق ديون الدعم بعد ستة أشهر.
دعني أرشدك عبر ما تعلمته من البناء مع كليهما في الإنتاج.
جدول المحتويات
- الفلسفة والهوية الأساسية
- قاعدة البيانات ونمذجة البيانات
- مقارنة طبقة API
- تجربة إدارة المحتوى
- المصادقة والتفويض
- إمكانيات الوقت الفعلي
- الاستضافة الذاتية والبنية الأساسية
- تحليل الأسعار 2026
- تجربة المطور
- متى تستخدم كل واحدة
- الأسئلة الشائعة

الفلسفة والهوية الأساسية
يُطلق Directus على نفسه "منصة بيانات" لكن دعنا نكون صريحين -- إنها نظام إدارة محتوى بدون رأس في أساسها. تأخذ قاعدة البيانات SQL الموجودة لديك (PostgreSQL أو MySQL أو MariaDB أو MS SQL أو SQLite أو Oracle أو CockroachDB) وتطبق واجهة إدارة محتوى في الأعلى. الفكرة الرئيسية: Directus لا يمتلك مخطط البيانات الخاص بك. يمكنك الإشارة إلى قاعدة بيانات موجودة وسيقوم تلقائياً بفحص الجداول والعلاقات. هذا قوي إذا كان لديك بالفعل قاعدة بيانات وتحتاج إلى طبقة إدارة.
Supabase هو Backend-as-a-Service (BaaS). إنه PostgreSQL مع البطاريات المرفقة: المصادقة وتخزين الملفات واشتراكات الوقت الفعلي ووظائف الحافة وتضمينات المتجهات لأحمال عمل الذكاء الاصطناعي. يفترض Supabase أنك تبني تطبيقاً وليس إدارة محتوى. لوحة التحكم مصممة للمطورين وليس لمحررو المحتوى.
هذا الاختلاف الفلسفي مهم أكثر من أي مقارنة ميزة. إذا كنت تبني موقعاً يركز على المحتوى حيث يحتاج المحررون إلى نشر منشورات المدونة وإدارة الوسائط ومعاينة التغييرات -- فإن Directus مصمم خصيصاً لذلك. إذا كنت تبني تطبيق SaaS حيث يقوم المستخدمون بالتسجيل وتخزين البيانات والتفاعل في الوقت الفعلي -- فإن Supabase مصنوعة لذلك.
لكن معظم المشاريع الحقيقية ليست بهذا الوضوح. وهنا حيث تصبح الأمور مثيرة للاهتمام.
قاعدة البيانات ونمذجة البيانات
Directus
يستخدم Directus نهج "قاعدة البيانات أولاً". تقوم بتحديد مخطط البيانات من خلال واجهة Directus أو مباشرة في قاعدة البيانات -- كلاهما يعمل. تقوم تطبيق المسؤول بإنشاء النماذج والعلاقات والتحقق تلقائياً بناءً على المخطط الخاص بك. هل تريد علاقة many-to-many بين articles و tags؟ أنشئ جدول التقاطع (أو اسمح لـ Directus بإنشاؤه)، وتقوم واجهة المسؤول تلقائياً بعرض محدد علامات لطيف.
شيء واحد أقدره: Directus لا ينشئ طبقة تجريد خاصة به على جداولك. أسماء الجداول وأسماء الأعمدة والعلاقات هي بالضبط ما حددته. تجلس الجداول النظام (مع بادئة directus_) بجوار البيانات الخاصة بك لكن لا تتداخل معها.
قواعد البيانات المدعومة في 2026:
- PostgreSQL 12+
- MySQL 8+
- MariaDB 10.5+
- MS SQL 2019+
- SQLite 3+
- CockroachDB 22+
- Oracle 19c+
Supabase
Supabase هو PostgreSQL. النقطة. تحصل على نسخة PostgreSQL كاملة مع ملحقات مثل PostGIS و pgvector و pg_cron ومئات أخرى. يحدث إدارة المخطط من خلال محرر SQL لوحة التحكم أو واجهة المحرر الجدول أو الترحيل عبر Supabase CLI.
تطور سير العمل للترحيل في Supabase بشكل كبير. ينتج CLI ملفات الترحيل، ويمكنك استخدام supabase db diff لالتقاط تغييرات المخطط التي تمت من خلال لوحة التحكم. في 2026، أضافوا أيضاً الفروع -- فروع قاعدة البيانات التي تسمح لك باختبار تغييرات المخطط في عزلة قبل الدمج في الإنتاج.
-- مثال ترحيل Supabase
create table public.articles (
id uuid default gen_random_uuid() primary key,
title text not null,
slug text unique not null,
content jsonb,
published_at timestamptz,
author_id uuid references auth.users(id),
created_at timestamptz default now()
);
alter table public.articles enable row level security;
create policy "Published articles are viewable by everyone"
on public.articles for select
using (published_at is not null and published_at <= now());
نموذج Row Level Security (RLS) هو سوبر باور Supabase وأيضاً منحنى التعلم الأكثر انحداراً. المزيد عن ذلك لاحقاً.
| الميزة | Directus | Supabase |
|---|---|---|
| محرك قاعدة البيانات | PostgreSQL أو MySQL أو MariaDB أو MS SQL أو SQLite أو CockroachDB أو Oracle | PostgreSQL فقط |
| إدارة المخطط | واجهة رسومية + SQL مباشر | واجهة رسومية + محرر SQL + ترحيل CLI |
| فروع قاعدة البيانات | غير مدمج (استخدم نسخ منفصلة) | نعم (أصلي منذ أواخر 2024) |
| الملحقات | يعتمد على قاعدة البيانات المختارة | 60+ ملحق Postgres |
| دعم Vector/AI | عبر الملحقات | pgvector مدمج |
| الوصول المباشر للـ DB | وصول كامل دائماً | وصول كامل دائماً |
مقارنة طبقة API
واجهات برمجية Directus
ينشئ Directus تلقائياً واجهات REST و GraphQL من مخطط البيانات الخاص بك. تتبع واجهة REST نمطاً يمكن التنبؤ به:
# الحصول على جميع المقالات مع علاقة المؤلف
GET /items/articles?fields=*,author.name&filter[status][_eq]=published&sort=-published_at&limit=10
نظام التصفية معبر. يمكنك القيام بعوامل تصفية علائقية متداخلة والتجميع وحتى الاستعلامات الجغرافية. يلف SDK كل هذا بشكل لطيف:
import { createDirectus, rest, readItems } from '@directus/sdk';
const client = createDirectus('https://your-instance.com').with(rest());
const articles = await client.request(
readItems('articles', {
fields: ['*', { author: ['name', 'avatar'] }],
filter: { status: { _eq: 'published' } },
sort: ['-published_at'],
limit: 10,
})
);
حسنت مكتبة TypeScript SDK في Directus 11 (الإصدار المستقر الحالي اعتباراً من 2026) كثيراً في استنتاج النوع، على الرغم من أنك لا تزال بحاجة إلى إنشاء أنواع من المخطط الخاص بك لسلامة النوع الكاملة.
واجهات برمجية Supabase
ينشئ Supabase واجهة REST عبر PostgREST ويوفر مكتبة عميل JavaScript التي تشعر بأنها أكثر حيويّة:
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
const { data: articles, error } = await supabase
.from('articles')
.select('*, author:profiles(name, avatar_url)')
.eq('status', 'published')
.order('published_at', { ascending: false })
.limit(10);
لا تقدم Supabase GraphQL من الصندوق. كان لديهم pg_graphql للتو، وهي لا تزال متاحة كملحق، لكن DX الأساسي هو عميل JS الخاص بهم وواجهة REST. بصراحة؟ لا أفتقد GraphQL عند استخدام Supabase. صيغة select مع ربط العلاقات تغطي 95٪ من حالات الاستخدام.
منطقة واحدة حيث Supabase سبقت للأمام: اشتراكات الوقت الفعلي على WebSockets ووظائف الحافة للمنطق من جانب الخادم. يحتوي Directus على Flows (محرك الأتمتة الخاص بهم)، لكن هذا ليس نفس امتلاك وقت تشغيل وظيفة بدون خادم كامل.

تجربة إدارة المحتوى
هنا حيث يهيمن Directus بشكل مطلق. لا ينقص الأمر حتى.
تطبيق Directus الإداري مصمم لفرق المحتوى. تحصل على:
- تخطيطات مخصصة: لوحات kanban والتقاويم والخرائط وطرق عرض مقسمة لاستعراض المجموعة
- محررات WYSIWYG والعارضات الكتلية: محرر الكتل في Directus 11 جيد بحق
- دعم الترجمة: i18n مدمج مع واجهات ترجمة جنباً إلى جنب
- سجل المراجعة: إدارة النسخة الكاملة للمحتوى مع طرق عرض diff
- معاينة مباشرة: قم بتكوين عناوين URL معاينة حتى يتمكن المحررون من رؤية التغييرات قبل النشر
- أذونات حبيبية: وصول قائم على الأدوار وصولاً إلى حقول فردية
- لوحات تحكم مخصصة: لوحات تحليلات نظرة عامة لفرق المحتوى
محرر جداول Supabase هو... محرر جداول. إنها رائعة للمطورين الذين يريدون واجهة رسومية لقاعدة البيانات الخاصة بهم. إنها فظيعة لفريق تسويق يحتاج إلى تحديث قسم بطل الصفحة الرئيسية. إذا كنت تبني موقعاً يركز على المحتوى وسيقوم المحررون الخاص بك بلمس الواجهة الخلفية مباشرة -- يفوز Directus بشكل افتراضي.
رأيت فرقاً تحاول بناء واجهة إدارة مخصصة على Supabase لتحرير المحتوى. إنه يعمل، لكنك في الأساس تبني نظام إدارة محتوى من الصفر. هذا أشهر من العمل يعطيك Directus في اليوم الأول.
إذا كنت تبحث عن إعداد CMS بدون رأس مناسب لموقعك على الويب، فإن فريقنا يعمل مع Directus بانتظام في مشاريع CMS بدون رأس -- إنها أحد توصياتنا الأساسية للمواقع الغنية بالمحتوى.
المصادقة والتفويض
Supabase Auth
Supabase Auth هو نظام مصادقة مكتمل الميزات. البريد الإلكتروني/كلمة المرور والرابط السحري OAuth (Google أو GitHub أو Apple وما إلى ذلك) والهاتف/SMS وSSO SAML كلها مدمجة. يتكامل مباشرة مع Row Level Security في PostgreSQL، مما يعني أن قواعد المصادقة الخاصة بك تعيش في قاعدة البيانات نفسها.
-- السماح للمستخدمين فقط بقراءة ملفهم الشخصي الخاص
create policy "Users can view own profile"
on profiles for select
using (auth.uid() = id);
-- السماح للمستخدمين بتحديث ملفهم الشخصي
create policy "Users can update own profile"
on profiles for update
using (auth.uid() = id);
هذا النموذج يكون أنيقاً مرة واحدة تفهمه، لكن سياسات RLS يمكن أن تصبح معقدة بسرعة. تصحيح الأخطاء لماذا يعيد الاستعلام نتائج فارغة بسبب سياسة مفقودة هي أحد تلك الفرح الذي تتعلم قبول.
Directus Auth
يتعامل Directus مع المصادقة لمستخدميه الإداريين وأيضاً يدعم SSO خارجي عبر OpenID Connect و SAML و LDAP و OAuth2. بالنسبة لمستخدمي التطبيق الأمامي، عادةً ما تستخدم نظام مستخدم Directus مع أدوار مخصصة.
نموذج الأذونات في Directus مدفوع بواجهة رسومية. تُنشئ أدواراً، ثم بالنسبة لكل دور تقوم بتكوين أذونات CRUD لكل مجموعة، اختياري مع قواعد على مستوى الحقل وعلى مستوى العنصر. إنها أكثر بصرية وربما أسهل للتفكير فيها من سياسات RLS، لكن أقل مرونة للمنطق التطبيقي المعقد.
بالنسبة للتطبيقات التي تكون فيها المصادقة للمستخدم النهائي هي المصدر الأساسي (تطبيقات SaaS الفكرية)، فإن نظام المصادقة الخاص بـ Supabase أكثر نضجاً بشكل كبير. لإدارة الوصول لفريق محتوى، نظام دور Directus أكثر ملاءمة.
إمكانيات الوقت الفعلي
محرك الوقت الفعلي الخاص بـ Supabase جاهز للإنتاج ويتعامل مع الحضور والبث ومستمعي تغيير قاعدة البيانات:
const channel = supabase
.channel('articles')
.on('postgres_changes', {
event: 'INSERT',
schema: 'public',
table: 'articles',
}, (payload) => {
console.log('New article:', payload.new);
})
.subscribe();
هذا مفيد بحق لتطبيقات الدردشة والأدوات التعاونية والعروض الحية والأنظمة الإخطار.
أضاف Directus دعم WebSocket وله اشتراكات الوقت الفعلي عبر نقطة نهاية GraphQL subscription. إنه يعمل، لكنه ليس نفس مستوى النضج. Directus Realtime جيد لسيناريوهات "أخبرني عند تغيير المحتوى" لكن لم يتم بناؤه لتطبيقات تعاونية عالية التردد.
الاستضافة الذاتية والبنية الأساسية
كلا الأداتين مفتوحة المصدر ويمكن استضافتهما ذاتياً.
Directus هو تطبيق Node.js يتم توزيعه كحزمة npm وصورة Docker. الاستضافة الذاتية بسيطة -- أشر إلى قاعدة البيانات الخاصة بك وقم بتكوين متغيرات البيئة وأنت تقوم بالتشغيل. لقد نشرته على Railway و Fly.io و AWS ECS ومثيلات VPS عادية بدون مشاكل.
Supabase الاستضافة الذاتية أكثر تعقيداً. المكدس الكامل يتضمن PostgreSQL و PostgREST و GoTrue (المصادقة) و Realtime و Storage و Kong (بوابة API) و لوحة Studio. إعداد Docker Compose الخاص بهم يعمل من أجل التطوير، لكن الاستضافة الذاتية للإنتاج تتطلب معرفة تشغيلية أكثر. تختار معظم الفرق منصة Supabase المستضافة وتدخر نفسها التعقيد التشغيلي.
| الجانب | Directus Self-Hosted | Supabase Self-Hosted |
|---|---|---|
| التعقيد | منخفض-متوسط (تطبيق Node.js واحد + قاعدة بيانات) | عالي (7+ خدمات) |
| دعم Docker | صورة رسمية وبسيطة | Docker Compose معقد |
| الحد الأدنى للموارد | 1 vCPU و 1GB RAM | 4 vCPU و 8GB RAM (جميع الخدمات) |
| أدلة المجتمع | واسعة | الانتشار لكن أقل نضجاً |
| البديل المُدار | Directus Cloud | منصة Supabase |
تحليل الأسعار 2026
دعنا نتحدث عن المال. هذه هي الأسعار المنشورة الحالية اعتباراً من أوائل 2026.
Directus Cloud
| خطة | السعر | يتضمن |
|---|---|---|
| Community (self-hosted) | مجاني | كل شيء، مُدار ذاتياً |
| Standard | 99$/شهر | مشروع واحد، 100 ألف طلب API، أصول 5GB |
| Professional | 399$/شهر | مجال مخصص، موارد أكثر، دعم الأولوية |
| Enterprise | مخصص | SSO و SLA والبنية الأساسية المخصصة |
منصة Supabase
| خطة | السعر | يتضمن |
|---|---|---|
| Free | $0 | 500MB قاعدة بيانات و 1GB تخزين و 50 ألف مستخدم auth و 500 ألف استدعاء وظيفة حافة |
| Pro | 25$/شهر | 8GB قاعدة بيانات و 100GB تخزين و 100 ألف مستخدم auth و مليون استدعاء وظيفة حافة |
| Team | 599$/شهر | دعم الأولوية و SOC2 والنسخ الاحتياطية اليومية و 28 يوم احتفاظ السجل |
| Enterprise | مخصص | SLA والدعم المخصص والعقود المخصصة |
الفرق في الأسعار حاد. الطبقة المجانية في Supabase قابلة للاستخدام بحق بالنسبة للمشاريع الجانبية و MVPs. نقطة الدخول في Directus Cloud بسعر 99$/شهر حادة للتجريب -- لكن استضافة Directus على خادم بسعر 5$/شهر يعمل بشكل مثالي للمشاريع الصغيرة.
بالنسبة لشركة ناشئة تبني تطبيقاً، تعطي خطة Supabase Pro بسعر 25$/شهر الكثير. بالنسبة لشركة تشغل موقع ويب غني بالمحتوى، قد تكلف Directus self-hosted بالإضافة إلى نسخة PostgreSQL مُدارة 20-50$/شهر إجمالي.
تجربة المطور
أبني الكثير من مشاريع Next.js و مواقع Astro، لذا فإن تكامل الإطار مهم لي كثيراً.
Directus DX
- SDK TypeScript جيد يتحسن مع كل إصدار
- يمكن توليد أنواع المخطط من نسختك
- نظام الملحقات للعوامل المخصصة والخطافات والألواح والواجهات
- Flows (الأتمتة البصرية) يمكن أن تحل محل منطق الواجهة الخلفية البسيط
- تطبيق المسؤول قابل للتخصيص مع وحدات مخصصة وتخطيطات
- تحويلات الصور مدمجة في واجهة تسليم الأصول
Supabase DX
- أنواع TypeScript يتم إنشاؤها تلقائياً من المخطط الخاص بك (
supabase gen types typescript) - التطوير المحلي مع
supabase start(يشغل كل شيء في Docker) - Edge Functions (قائم على Deno) للمنطق من جانب الخادم
- البحث المتجه المدمج مع pgvector لميزات الذكاء الاصطناعي
- سير عمل مدفوع بـ CLI مع الترحيل والفروع و CI/CD
- تكامل Vercel/Netlify لمزامنة متغيرات البيئة
كلاهما له توثيق صلب. توثيق Supabase منظم بشكل جيد بشكل خاص مع أدلة خاصة بالإطار (Next.js و Nuxt و SvelteKit و Flutter وما إلى ذلك). يعد توثيق Directus شاملاً لكن أحياناً يتخلف عن آخر تغييرات SDK.
متى تستخدم كل واحدة
بعد البناء مع كلاهما بشكل مكثف، إليك إطار القرار الخاص بي:
اختر Directus عندما:
- يحتاج محررو المحتوى إلى واجهة إدارية مصقولة
- أنت تبني موقع تسويق أو مدونة أو منصة تحرير
- تحتاج إلى إدارة محتوى متعددة اللغات
- قاعدة البيانات الموجودة لديك تحتاج إلى واجهة إدارة
- سير عمل المحتوى (المسودات والمراجعات والموافقات) مهمة
- تريد استخدام MySQL أو MariaDB أو قاعدة بيانات غير PostgreSQL أخرى
اختر Supabase عندما:
- أنت تبني تطبيق يواجه المستخدم (SaaS أو سوق أو وسائط اجتماعية)
- تحتاج إلى المصادقة وإدارة المستخدم
- ميزات الوقت الفعلي هي متطلب أساسي
- تريد وظائف الحافة للمنطق من جانب الخادم
- الذكاء الاصطناعي/البحث المتجه جزء من خارطة الطريق
- تريد أسرع طريق من الفكرة إلى تطبيق منشور
استخدم كليهما عندما:
هذا ليس مجنوناً. لقد بنيت أنظمة حيث Supabase يتعامل مع مصادقة المستخدم وبيانات التطبيق وميزات الوقت الفعلي، بينما Directus يدير محتوى موقع التسويق والمدونة والتوثيق. يمكنهم مشاركة نسخة PostgreSQL نفسها أو استخدام قواعد بيانات منفصلة. الفصل الفعلي للمخاوف يجعل في الواقع العمارة أنظف.
إذا كنت تحاول معرفة بنية الواجهة الخلفية الصحيحة لمشروعك، فهذا حرفياً ما يفعله فريقنا -- لا تتردد في التواصل والتحدث عن وضعك المحدد.
الأسئلة الشائعة
هل يمكن لـ Directus أن يحل محل Supabase كواجهة خلفية لتطبيقات الويب؟ جزئياً. يعطيك Directus واجهة برمجية لقاعدة البيانات وإدارة المستخدمين، لذا بالنسبة لتطبيقات CRUD البسيطة، يمكنه أن يعمل. لكنك ستفتقد نظام المصادقة المدمج الخاص بـ Supabase واشتراكات الوقت الفعلي ووظائف الحافة وخدمة تخزين الملفات. يتم تحسين Directus لإدارة المحتوى وليس لأحمال عمل الواجهة الخلفية للتطبيق. بالنسبة لتطبيق بسيط يحتوي في الغالب على عمليات المحتوى، Directus جيد. بالنسبة لأي شيء مع تدفقات مصادقة المستخدم أو ميزات الوقت الفعلي أو منطق معقد من جانب الخادم، ستريد Supabase أو BaaS مشابهة.
هل Supabase جيدة كـ CMS بدون رأس؟ يمكن أن تعمل كواحدة، لكن الأمر يتطلب عملاً مخصصاً كبيراً. ستحتاج إلى بناء واجهة إدارة مخصصة لمحررو المحتوى والتعامل مع تحويلات الصور بشكل منفصل وتنفيذ إدارة النسخ اليدوية والتعامل مع نظام معاينة مخصص. قام الفرق ببناء هذا مع أدوات مثل Supabase + لوحات تحكم React مخصصة، لكنك تعيد اختراع ما يعطيك Directus (أو Strapi أو Payload) من الصندوق. إذا كانت إدارة المحتوى هي احتياجك الأساسي، استخدم CMS بدون رأس مخصص.
أيهما أفضل لتطبيق Next.js؟
كلاهما يتكامل بشكل جيد مع Next.js. يحتوي Supabase على مساعدات Next.js رسمية (@supabase/ssr) التي تتعامل مع إدارة ملف تعريف الارتباط للمصادقة في مكونات الخادم والوسيطة. يعمل Directus بشكل رائع مع Next.js أيضاً -- تقوم بجلب البيانات عبر SDK في مكونات الخادم واستخدم ISR أو SSG للأداء. بالنسبة لموقع تسويق مع مدونة، سأقترن Next.js مع Directus. بالنسبة لتطبيق SaaS مع حسابات المستخدمين، Next.js مع Supabase. نغطي هذا بعمق في ممارسة تطوير Next.js الخاصة بنا.
هل يمكنني استضافة كل من Directus و Supabase ذاتياً مجاناً؟ نعم. كلاهما مفتوح المصدر برخص متساهلة (يستخدم Directus ترخيص BSL 1.1 الذي يتحول إلى Apache 2.0 بعد 3 سنوات؛ Supabase يستخدم Apache 2.0 لمعظم المكونات). Directus أسهل في الاستضافة الذاتية -- إنه تطبيق Node.js واحد. استضافة Supabase الذاتية تتطلب تشغيل خدمات متعددة (PostgreSQL و PostgREST و GoTrue و Realtime و Storage و Kong). بالنسبة إلى Supabase، يستخدم معظم المطورين منصة مستضافة وينقذون أنفسهم من التعقيد التشغيلي.
كيف يتعامل Directus و Supabase مع تخزين الملفات والوسائط؟ يحتوي Directus على نظام إدارة أصول مدمج مع تحويلات صور فورية (تغيير الحجم والقطع وتحويل التنسيق). تقوم بتحميل الملفات من خلال واجهة المسؤول أو API، والطلب نسخ معاد حجمها عبر معاملات عنوان URL. تخزين Supabase هو خدمة تخزين متوافقة مع S3 مع تحكم الوصول بناءً على RLS. يتعامل مع التحميلات والتنزيلات بشكل جيد لكن لا يحتوي على تحويلات صور مدمجة -- ستقوم بإقرانه بخدمة مثل Imgix أو Cloudinary أو تحويل صور Supabase (الذي تم إطلاقه كإصدار تجريبي في 2025).
ما رأيك في الأداء والقابلية للتوسع؟ بنية Supabase مبنية على AWS مع تجميع الاتصالات عبر Supavisor ويمكن أن تتعامل مع حركة مرور كبيرة. يمكن لخطة Pro الخاصة بهم ترقية قواعد البيانات حتى 64GB RAM. تعتمد أداء Directus بشكل كبير على إعداد الاستضافة وقاعدة البيانات. مع التخزين المؤقت المناسب (Redis و CDN)، يتعامل Directus مع حركة المرور العالية بشكل جيد، لكنك مسؤول عن البنية الأساسية. في المقاييس، يمكن لكلاهما التعامل مع آلاف الطلبات في الثانية مع الموارد المناسبة. الاختناق هو دائماً قاعدة البيانات تقريباً، وليس طبقة API.
هل Directus أم Supabase أفضل لفريق بأعضاء غير تقنيين؟ Directus، بدون سؤال. تم تصميم واجهة الإدارة الخاصة بها لغير المطورين. يمكنك إنشاء لوحات تحكم مخصصة وإعداد سير عمل موافقة المحتوى وتقييد الوصول حسب الدور -- كل هذا بدون كتابة أي كود. لوحة تحكم Supabase هي أداة مطور. فريق التسويق الخاص بك لن يكتب SQL لتحديث صفحة الهبوط. إذا كان بحاجة الأعضاء غير التقنيين إلى إدارة البيانات، فإن واجهة Directus هي الخيار الصحيح.
هل يمكنني الترحيل من واحدة إلى الأخرى لاحقاً؟ منذ أن يكون كلاهما متوافقاً مع PostgreSQL (و Directus يدعم قواعد بيانات إضافية)، الترحيل جدوى لكن ليس من الامور البسيطة. إذا كنت على Directus مع PostgreSQL وتريد إضافة Supabase، يمكنك الإشارة إلى قاعدة البيانات الموجودة لديك أو ترحيل البيانات. جداول نظام Directus ومخطط المصادقة Supabase ستحتاج إلى التعايش أو الفصل. الذهاب في الاتجاه الآخر -- إضافة Directus على Supabase قاعدة بيانات -- هو بالفعل نمط موثق جيداً. يمكن لـ Directus فحص الجداول الموجودة وإنشاء طبقة إدارتها بدون تعديل مخطط البيانات الخاص بك.