Вибір бекенду бази даних
Критичне рішення: Ваш вибір бази даних впливає на масштабованість, вартість та функції. Ring підтримує Firebase, PostgreSQL та ConnectPlatform - мігруйте будь-коли.
Унікальний шар абстракції бази даних Ring дозволяє почати з однієї бази даних та мігрувати до іншої без переписування коду додатку. Цей посібник допомагає вам обрати правильний бекенд для ваших потреб.
Огляд варіантів баз даних
| Функція | Firebase | PostgreSQL | ConnectPlatform |
|---|---|---|---|
| Найкраще для | Швидкий прототип | Продакшен масштаб | Функції підприємства |
| Вартість | Платіж за використання | Прогнозована оплата | Оплата за підписку |
| Час налаштування | 5 хвилин | 30 хвилин | 15 хвилин |
| Масштабованість | Авто-масштабування | Ручне масштабування | Авто-масштабування |
| Real-time | Вбудовано | Потрібні розширення | Вбудовано |
| Розширені запити | Обмежено | Повний SQL | Розширена абстракція |
| Резервне копіювання | Автоматичне | Налаштувати | Кероване |
| Багато-регіон | Легко | Складно | Вбудовано |
Firebase - Почніть тут (Рекомендовано для нових розгортань)
Ідеально для: Прототипів, MVP, малих команд, швидкої розробки
Чому обрати Firebase?
- Нульова конфігурація - працює одразу з коробки
- Real-time функції вбудовані (ідеально для повідомлень Ring)
- Аутентифікація інтегрована
- Хостинг включений
- Плачу тільки за те, що використовую
Налаштування (5 хвилин)
Створіть проект Firebase:
Перейдіть до Firebase Console та створіть новий проект.
Увімкніть сервіси:
Увімкніть Firestore, Authentication, Storage та Hosting у вашому проекті Firebase.
Отримайте облікові дані:
Перейдіть до Project Settings → Service Accounts → Generate private key, щоб завантажити JSON облікових даних.
Налаштуйте Ring:
Додайте до вашого .env.local:
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_PRIVATE_KEY=your-private-key
FIREBASE_CLIENT_EMAIL=your-client-emailРозгорніть:
npm run build
firebase deployОбмеження Firebase
- Складність запитів - Немає складних з'єднань чи агрегатів
- Масштабування вартості - Може стати дорогим при масштабі
- Прив'язка до постачальника - Важче мігрувати
- Експорт даних - Обмежені варіанти
PostgreSQL - Продакшен масштаб
Ідеально для: Встановлених бізнесів, високотрафікових платформ, додатків з інтенсивними даними
Чому обрати PostgreSQL?
- Повна потужність SQL - Складні запити, з'єднання, агрегати
- ACID відповідність - Цілісність даних гарантована
- Розширення - PostGIS, повнотекстовий пошук, розширена аналітика
- Ефективність за масштабом - Дуже економічно ефективний при масштабі
- Open source - Немає прив'язки до постачальника
- Підтримка JSONB - Ідеально для гнучкої моделі даних Ring
Налаштування (30 хвилин)
Виберіть постачальника PostgreSQL:
Варіанти:
- Supabase (Рекомендовано) - PostgreSQL з функціями Firebase-подібними
- Neon - Serverless PostgreSQL
- AWS RDS - Керований PostgreSQL
- Самохостинг - DigitalOcean, Linode тощо
Створіть базу даних:
Створіть нову базу даних PostgreSQL з цими вимогами:
- PostgreSQL 15+
- Пулінг з'єднань увімкнено
- Резервне копіювання налаштовано
Запустіть міграцію схеми:
Ring надає автоматизоване налаштування схеми. Налаштуйте ваше з'єднання:
POSTGRESQL_URL=postgresql://user:password@host:5432/database
POSTGRESQL_SSL=trueМігруйте з Firebase (опціонально):
Якщо мігруєте існуючі дані:
npm run db:migrate -- --from firebase --to postgresqlПереваги PostgreSQL
- Продуктивність - Відмінна для складних запитів
- Масштабованість - Обробляє мільйони записів
- Аналітика - Можливості розширеної звітності
- Розширення - Спеціалізовані функціональні можливості доступні
- Вартість - Дуже економічно ефективний при масштабі
ConnectPlatform - Функції підприємства
Ідеально для: Великих організацій, багатотenant платформ, інтеграцій підприємства
Чому обрати ConnectPlatform?
- Побудовано Trinity Ukraine - Та сама команда, що побудувала Ring
- Багатотenant архітектура вбудована
- Розширена кешування з інтеграцією Redis
- Оптимізовані повідомлення real-time для WebSocket
- Безпека підприємства функції
- Інструменти міграції між бекендами
- Професійна підтримка включена
Налаштування (15 хвилин)
Отримайте доступ до ConnectPlatform:
Зв'яжіться з Trinity Ukraine або відвідайте connect.software для ліцензій підприємства.
Налаштуйте з'єднання:
CONNECT_PLATFORM_URL=https://your-connect-instance.com
CONNECT_PLATFORM_API_KEY=your-api-keyУвімкніть розширені функції:
ConnectPlatform надає додаткові функції:
- Розширене управління користувачами
- Логування аудиту
- Інструменти відповідності
- Багато-регіонна реплікація
Міграція між базами даних
Суперсила Ring: Міруйте між будь-якими підтримуваними базами даних без змін коду
Процес міграції
Резервуйте ваші дані:
Завжди резервуйте перед міграцією:
npm run db:backupНалаштуйте нову базу даних:
Налаштуйте вашу цільову базу даних (PostgreSQL, ConnectPlatform тощо.)
Оновіть середовище:
Змініть DATABASE_MODE у вашому середовищі:
До Після
DATABASE_MODE=firebase_only
DATABASE_MODE=postgresql_only
POSTGRESQL_URL=postgresql://...Запустіть міграцію:
npm run db:migrate -- --source firebase --target postgresqlТестуйте ретельно:
Тестуйте всі функції після міграції:
- Аутентифікація користувачів
- Отримання даних
- Real-time функції
- Функціональність пошуку
Оновіть продакшен:
Розгорніть з новою конфігурацією та моніторте уважно.
Сценарії міграції
Firebase → PostgreSQL
npm run db:migrate firebase postgresql --schema-only
npm run db:migrate firebase postgresql --data-onlyPostgreSQL → ConnectPlatform
npm run db:migrate postgresql connect_platform --incrementalМіри продуктивності
Продуктивність Firebase
- Читання/Запис: Списується за операціями
- Real-time: Відмінна для живих функцій
- Кешування: Вбудована CDN
- Глобально: Багато-регіонна реплікація
Продуктивність PostgreSQL
- Запити: Оптимізуйте з індексами
- Пулінг з'єднань: Необхідний для високого трафіку
- Репліки читання: Для робочих навантажень читання
- Партиціонування: Для великих наборів даних
Продуктивність ConnectPlatform
- Кешування: Інтеграція Redis
- Багатотenant: Оптимізовано для ізоляції
- Real-time: Оптимізація WebSocket
- Підприємство: Функції високої доступності
Аналіз вартості
Вартість Firebase (Місячна оцінка)
- 100 користувачів, низька активність: $5-15
- 1,000 користувачів, середня активність: $50-150
- 10,000 користувачів, висока активність: $500-2,000+
Вартість PostgreSQL (Місячна оцінка)
- Хостинг БД: $20-100
- Сховище резервних копій: $5-20
- Пулінг з'єднань: $0-50
- Моніторинг: $10-50
- Загалом: $35-220
Вартість ConnectPlatform
- Зв'яжіться за продажами для ціноутворення підприємства
- Включає підтримку та розширені функції
- Масштабується з використанням але прогнозована
Рамка прийняття рішення
Обирайте Firebase якщо:
- ✅ Будуєте MVP чи прототип
- ✅ Мала команда (< 10 людей)
- ✅ Потрібні real-time функції негайно
- ✅ Надаєте перевагу керованому сервісу
- ✅ Бюджет < $100/місяць спочатку
Обирайте PostgreSQL якщо:
- ✅ Плануєте значний масштаб
- ✅ Потрібні складні запити/аналітика
- ✅ Маєте досвід адміністрування баз даних
- ✅ Хочете прогнозованості вартості
- ✅ Потрібен повний контроль даних
Обирайте ConnectPlatform якщо:
- ✅ Велика організація (> 1000 користувачів)
- ✅ Потрібні функції підприємства
- ✅ Хочете підтримку Trinity Ukraine
- ✅ Багатотenant вимоги
- ✅ Вимоги відповідності
Рекомендований шлях міграції
Почніть з Firebase, мігруйте до PostgreSQL, оновлюйтесь до ConnectPlatform
- Місяць 1-3: Firebase для швидкої розробки
- Місяць 3-6: Міграція до PostgreSQL для масштабу
- Місяць 6+: Оновлення до ConnectPlatform для функцій підприємства
Цей шлях мінімізує ризики, максимізуючи гнучкість. Кожна міграція зберігає всі ваші дані та налаштування.
Наступні кроки
- Повний посібник налаштування - Брендуйте вашу платформу
- Налаштування економіки токенів - Додайте вашу власну економіку
- Інтеграція платіжних шлюзів - Увімкніть монетизацію
- Історії успіху - Дізнайтеся від реальних розгортань
Потрібна допомога з вибором? Опублікуйте в нашій спільноті розробників або перегляньте можливості налаштування Ring для експертної консультації.