Supabase vs Firebase: что выбрать для стартапа в Бишкеке
Backend-as-a-service позволяет стартапу запустить продукт без DevOps-инженера и настройки серверов. Три варианта заслуживают внимания в 2026 году. Разбираемся что подходит для разных стадий.
Суть в одном предложении
- Firebase — зрелый Google BaaS, дорогой при росте, проприетарный
- Supabase — open-source, PostgreSQL внутри, самохостинг возможен
- PocketBase — один бинарник Go, SQLite, идеально для MVP
Модель данных
Firebase (Firestore)
NoSQL документная база. Хорошо для гибких схем, плохо для связей:
// Нет JOIN — нужно несколько запросов
const order = await db.collection('orders').doc(orderId).get();
const product = await db.collection('products').doc(order.data().productId).get();
// Для 100 заказов = 101 запрос к базе
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 only"
ON orders FOR SELECT
USING (auth.uid() = user_id);
После этого любой запрос к orders автоматически фильтруется по пользователю. Забыть про проверку в API невозможно.
PocketBase
SQLite с REST API. Весь бэкенд — один файл:
const records = await pb.collection('orders').getList(1, 20, {
filter: `user = "${userId}"`,
expand: 'product',
});
Аутентификация
Все три поддерживают email/password, OAuth (Google, Apple, GitHub), magic links, OTP.
Supabase — JWT + RLS, авторизация встроена в базу данных. Самый чистый подход.
Firebase — зрелый, хорошая документация. Custom claims для ролей:
// Cloud Function:
await admin.auth().setCustomUserClaims(uid, { role: 'manager' });
PocketBase — просто и работает, OAuth2 из коробки.
Realtime
Firebase
Realtime из коробки — это главная сила:
onSnapshot(collection(db, 'orders'), (snapshot) => {
snapshot.docChanges().forEach(change => console.log(change.type, change.doc.data()));
});
Supabase
Postgres changes → WebSocket:
supabase.channel('orders')
.on('postgres_changes', { event: '*', schema: 'public', table: 'orders' },
(payload) => console.log(payload)
)
.subscribe();
PocketBase
SSE-based, работает из коробки:
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-8000/мес | ~$600+/мес | ~$100/мес VPS |
Firebase платит за операции чтения/записи. Одна страница с 50 карточками = 50 reads. При высоком трафике накапливается быстро.
Supabase — предсказуемые тарифы, как managed PostgreSQL.
PocketBase — платишь только за VPS, не за каждый запрос.
Самохостинг и данные
Важно для бишкекских проектов: если данные пользователей нужно хранить локально или есть требования по суверенитету данных:
| Платформа | Самохостинг | Экспорт данных |
|---|---|---|
| Firebase | Нет | JSON экспорт |
| Supabase | Да (Docker) | Полный Postgres dump |
| PocketBase | Да (1 бинарник) | SQLite файл |
Supabase на собственном VPS — реальный вариант для зрелых проектов.
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
Масштабирование с Google Cloud / гарантированно миллионы пользователей: → Firebase — самое зрелое решение при наличии бюджета
Какой выбор для большинства Бишкекских стартапов
Большинство местных приложений — это: пользователи, заказы/записи, продукты, уведомления. Реляционная структура. Бюджет ограничен на старте.
Ответ почти всегда: Supabase — PostgreSQL даёт максимальную гибкость, open-source защищает от vendor lock-in, RLS упрощает безопасность, price — предсказуем.
Aunimeda строит production-приложения для бизнеса в Кыргызстане. Обсудим стек для вашего проекта.
Смотрите также: Next.js 15 подводные камни, Vibe coding Бишкек