Supabase vs Firebase: Кыргызстан стартабы үчүн кайсын тандоо керек
Backend-as-a-service DevOps инженерсиз жана сервер орнотуусуз продукт ишке киргизүүгө мүмкүнчүлүк берет. 2026-жылы үч варианттын олуттуу карап чыгуусу сунушталат.
Бир сүйлөмдөгү маңызы
- Firebase - зрелый Google BaaS, масштабда кымбат, проприетардык
- Supabase - open-source, PostgreSQL, өзүнкү серверде иштетүү мүмкүн
- PocketBase - бир Go бинарлыгы, SQLite, MVP үчүн укмуштуудай
Маалымат моделдери: Негизги айырма
Firebase (Firestore)
NoSQL документ базасы. Байланыштуу маалыматтар үчүн JOIN жок:
// 100 заказ = 101 суроо
const order = await db.collection('orders').doc(orderId).get();
const product = await db.collection('products').doc(order.data().productId).get();
Supabase (PostgreSQL)
Толук SQL. JOIN, транзакциялар, татаал суроолор:
// Бир суроо менен бардыгы
const { data } = await supabase
.from('orders')
.select(`
id, total, created_at,
products ( name, price )
`)
.eq('user_id', userId);
Row Level Security - маалымат базасы деңгээлиндеги коопсуздук:
-- Колдонуучулар өзүнүн заказдарын гана көрөт
CREATE POLICY "own orders"
ON orders FOR SELECT
USING (auth.uid() = user_id);
Бул - суперкүч. API кодунда текшерүүнү унутуу мүмкүн эмес.
PocketBase
SQLite менен REST API. Бардык backend - бир файл:
const records = await pb.collection('orders').getList(1, 20, {
filter: `user = "${userId}"`,
expand: 'product',
});
Аутентификация
Үчөө тең email/password, OAuth (Google, Apple), magic links колдоо берет.
Supabase - JWT + RLS, авторизация маалымат базасына орнотулган.
Firebase - зрелый, жакшы документация:
// Custom claims ролдор үчүн
await admin.auth().setCustomUserClaims(uid, { role: 'manager' });
PocketBase - жөнөкөй жана иштейт.
Realtime
Firebase
Realtime - биринчи класс, ушул үчүн курулган:
onSnapshot(collection(db, 'orders'), (snapshot) => {
snapshot.docChanges().forEach(change => console.log(change.doc.data()));
});
Supabase
Postgres өзгөрүүлөрү → WebSocket:
supabase.channel('orders')
.on('postgres_changes', { event: '*', schema: 'public', table: 'orders' },
(payload) => console.log(payload)
)
.subscribe();
PocketBase
SSE негизиндеги, жөнөкөй API:
pb.collection('orders').subscribe('*', (e) => console.log(e.action, e.record));
Баалар: Чынчыл салыштыруу
| Колдонуучулар | Firebase | Supabase | PocketBase |
|---|---|---|---|
| 10k MAU | Бекер | Бекер | ~$5/ай VPS |
| 100k MAU | ~$50-200/ай | $25/ай | ~$15/ай VPS |
| 1M MAU | ~$2000+/ай | ~$600+/ай | ~$100/ай VPS |
Firebase окуу/жазуу операциялары боюнча эсептейт. Суапаттуу суроо жаза билбесеңиз, наркы тез өсөт.
Supabase - compute/bandwidth, алдын ала болжолдоого болот.
PocketBase - VPS гана төлөйсүз.
Өзүнкү сервер жана маалыматтар
| Платформа | Өзүнкү серверде | Маалыматтарды эксп. |
|---|---|---|
| Firebase | Жок | JSON |
| Supabase | Ооба (Docker) | Толук Postgres dump |
| PocketBase | Ооба (1 бинарлык) | SQLite файлы |
PocketBase өзүнкү серверде:
./pocketbase serve --http="0.0.0.0:8090"
# data.db - бир файл, бир серверге жайгаштыруу
Долбоор баскычтарына жараша сунуш
Хакатон / Прототип: → PocketBase - нолдук конфигурация, баары камтылган
MVP (3-6 ай): → Supabase Free tier - реляциялык маалымат, Auth, Storage, RLS
Иштеп жаткан продукт: → Supabase Pro ($25/ай) же Supabase өзүнкү VPS'та
Миллиондогон колдонуучу менен масштабдоо: → Firebase - бюджет болсо, эң зрелый чечим
Кыргызстандагы стартаптар үчүн жооп
Жергиликтүү тиркемелердин көпчүлүгү: колдонуучулар, заказдар, продуктулар, кабарлар. Реляциялык структура. Баштапкы этапта бюджет чектелген.
Дээрлик дайыма жооп: Supabase - PostgreSQL максималдуу ийкемдүүлүктү берет, open-source vendor lock-in'ден коргойт, RLS коопсуздукту жеңилдетет, баа алдын ала болжолдонот.
Aunimeda Кыргызстанда продакшн тиркемелерин курат.
Ошондой эле: Next.js 15 Server Components, Вайб-кодинг 2026