SHA256
2.6 KiB
2.6 KiB
Переход с SQLite на PostgreSQL
Зачем
Текущая серверная база на SQLite удобна для простого односерверного режима, но она хуже подходит для большого числа параллельных записей, роста нагрузки и дальнейшего масштабирования сервера.
PostgreSQL нужен как следующий уровень серверной БД для более надёжной конкурентной записи, более предсказуемой работы под нагрузкой и дальнейшего роста проекта.
Что сделать
- Подготовить план переноса серверной БД с
SQLiteнаPostgreSQL. - Найти все места, где код завязан на особенности
SQLite. - Проверить все DAO и SQL-запросы на совместимость с
PostgreSQL. - Продумать схему миграции существующей production/test базы без потери данных.
- Отдельно проверить транзакции,
UPSERT, индексы, case-insensitive сравнения и миграции схемы. - После этого подготовить отдельный этап внедрения и переключения сервера.
Что уже есть в коде
- Доступ к БД в основном проходит через DAO-слой, а не полностью размазан по проекту.
- Основная серверная логика уже разделена по модулям.
- Но SQL и миграции сейчас написаны под
SQLiteи потребуют отдельного прохода.
Откуда продолжать
- Начать с инвентаризации всех DAO и схемы БД.
- После этого сделать отдельный документ с оценкой объёма работ по переносу.
- Затем решить, будет ли это:
- полный перевод сервера на
PostgreSQL; - или поддержка двух драйверов на переходный период.
- полный перевод сервера на
Что потом обновить
- Серверную документацию по БД и миграциям.
- Инструкции по локальному запуску сервера.
- Скрипты деплоя и настройки окружения.