Перейти к содержимому
WebBuild

Перенос базы из Firebase в PostgreSQL: как мы это делаем

Почему проекты уходят с Firestore на PostgreSQL, как спроектировать схему, перенести данные и пользователей и переключиться без простоя.

Опубликовано — 5 мин чтения

Firestore удобен на старте, но с ростом проекта появляются сложные отчёты, связи между сущностями и счёт за чтения, который сложно предсказать. PostgreSQL решает это: SQL-запросы, транзакции и предсказуемая цена сервера.

Порядок работ

  1. Выгружаем коллекции и смотрим реальную структуру документов — она почти всегда отличается от задуманной.
  2. Проектируем таблицы, связи и индексы под реальные запросы приложения.
  3. Пишем скрипт переноса, который можно запускать много раз: он обновляет, а не дублирует.
  4. Переносим файлы из Firebase Storage в S3-хранилище.
  5. Сверяем количество записей и выборочно — содержимое.
  6. Переключаем приложение на новую базу. Старая остаётся доступной неделю.

Пользователи и вход

Аккаунты из Firebase Auth переносятся с email и телефоном. Пароли Firebase хранит в своём формате, поэтому вход либо продолжает работать через их хэши, либо пользователь один раз входит по коду из письма или SMS.

Объём данныхСрокЦена
До 100 тыс. документов1 деньот $150
До 1 млн документов2–3 дняот $300
Больше и с файламипо оценкеот $500

Читайте также

Расскажите о задаче — пришлём цену и срок

Ответим в Telegram, WhatsApp или по почте. Можно на русском, английском или грузинском.

проспект Ильи Чавчавадзе 17, Тбилиси

Куда ответить

Отправляя форму, вы соглашаетесь с политикой конфиденциальности.