التعريف المختصر
Supabase منصة «خلفية كخدمة» توفر قاعدة PostgreSQL مستضافة مع تسجيل دخول وتخزين ملفات من لوحة واحدة. تتصل بها من تطبيقك عبر رابط المشروع ومفاتيح الوصول.
شرح مبسط
بدل أن تبني واجهة خلفية وتشغّل خادم قاعدة بيانات بنفسك، تستأجر هذه الأجزاء جاهزة. تنشئ مشروعًا في Supabase، فتحصل على قاعدة بيانات وجداول تديرها من لوحة، ونظام تسجيل دخول، ومكان لرفع الصور. تطبيقك يتصل بها من الإنترنت.
أهم مفهوم فيها هو المفتاحان:
- المفتاح العام (anon): يُستخدم في الواجهة الأمامية، وآمن فقط إذا فعّلت سياسات أمان الصفوف (Row Level Security) التي تحدد من يقرأ ماذا.
- مفتاح الخدمة (service role): يتجاوز كل السياسات، ومكانه الخادم ومخزن الأسرار فقط، ولا يوضع أبدًا في كود المتصفح.
أشهر خطأ في المشاريع المبنية بالذكاء الاصطناعي: جداول بلا سياسات أمان الصفوف، فيستطيع أي زائر يعرف المفتاح العام قراءة كل البيانات. اطلب صراحة تفعيلها لكل جدول.
ومتى تحتاجها؟ حين تريد قاعدة بيانات مشتركة بين أكثر من تطبيق، أو تريد إدارة البيانات من لوحتها، أو حين تكون الأداة التي تبني بها لا تشغّل قاعدة بيانات داخل المشروع. أما إذا كانت بيئتك تشغّل الخادم والقاعدة معًا، فقد تكفيك قاعدة داخل المشروع بلا خدمة خارجية إضافية.
مثال من السوق السعودي
مشروع توصيل وجبات منزلية في مكة لديه موقع للطلب وتطبيق جوال للمندوبين. الاثنان يحتاجان البيانات نفسها: الطلبات وحالتها وموقع التسليم. هنا قاعدة مشتركة في Supabase منطقية: الموقع يكتب الطلب، وتطبيق المندوب يقرأ الطلبات المسندة له فقط بفضل سياسة أمان تقول «المندوب يرى طلباته هو». وصور الوجبات تُرفع في تخزين الملفات نفسه.
لكن قبل أن يختار صاحب المشروع هذا الطريق، عليه أن يحسب ما يأتي معه: حساب منفصل يُدار، وحدود الباقة المجانية للخدمة، ومفاتيح يجب حفظها بعناية، ونقطة اعتماد إضافية إذا تعطلت الخدمة. وإذا كان المشروع موقعًا واحدًا فقط بلا تطبيق ثانٍ يشاركه البيانات، فقاعدة داخل المشروع نفسه أبسط في الإدارة وأقل في الأجزاء المتحركة. الاختيار الصحيح هو الأبسط الذي يلبي الحاجة الفعلية، لا الأشهر.
كيف يظهر في أوترا
في أوترا لا تحتاج Supabase لتحصل على قاعدة بيانات، فالبيئة تشغّل الخادم وقاعدة البيانات معًا، من SQLite إلى PostgreSQL أو MySQL، وتراها في معاينة «قاعدة البيانات». وإذا كان مشروعك يستخدم Supabase أصلًا، مثل مشروع نقلته من أداة أخرى، فتضيف رابط المشروع ومفاتيحه في «البيانات السرية» وتطلب الربط كما تربط أي خدمة خارجية، فتبقى المفاتيح خارج المحادثة والكود. خطوات النقل في انقل مشروعك إلى أوترا.
مصطلحات ذات صلة
- قاعدة البيانات: ما تقدمه Supabase في جوهرها.
- تسجيل الدخول والمصادقة: من أهم ما تضيفه حول القاعدة.
- الأسرار: حيث يجب أن يُحفظ مفتاح الخدمة.
- API: الطريقة التي يتصل بها تطبيقك بالقاعدة عبر الإنترنت.