Fullstack-разработчик (Symfony / Битрикс) с опытом DevOps.

Петр Сальников spbcod

Рейтинг: 30
Верифицирован через Сбер ID
Всего отзывов: 0
  • Работ в портфолио: 42
  • Типовых услуг: 11
  • Работ на продажу: 0
  • Возраст: 50 лет
  • Стаж работы: 27 лет
  • Зарегистрирован: 26.02.2023
  • Образование: Cпециалитет
  • Стоимость услуг (руб): 1 000 за час 200 000 за месяц
Был на сайте:

Миграция базы данных более 100 ГБ из MySQL в PostgreSQL с настройкой пространственных индексов для геоданных

Описание

Проект WildTracks (wildtracks.pro) — система трекинга животных с большими объемами пространственных данных. Исходная база на MySQL (около 100 ГБ) перестала справляться с нагрузкой:
- Медленные гео-запросы — поиск точек в радиусе, треков животных, пересечений территорий выполнялся десятки секунд
- Отсутствие нативной поддержки геоданных — MySQL хранила координаты как отдельные поля lat/lon, все расчеты делались на PHP
- Сложность масштабирования — индексы по координатам работали неэффективно
- Риск потери данных — отсутствие транзакционной целостности для сложных операций

Требовалось:
- Перенести 100+ ГБ данных без потерь и с минимальным простоем
- Конвертировать структуру из MySQL в PostgreSQL с сохранением всех связей
- Настроить PostGIS для эффективной работы с геоданными
- Создать пространственные индексы для быстрого поиска по координатам
- Оптимизировать запросы под новую СУБД

Обеспечить простое обновление (минимальный downtime)

Решение

Разработал поэтапный план миграции с минимальным простоем:

/migration/
├── 1_schema_conversion/ # Конвертация схемы MySQL -> PostgreSQL
├── 2_data_migration/ # Перенос данных
├── 3_postgis_setup/ # Настройка PostGIS и пространственных индексов
├── 4_query_optimization/ # Оптимизация запросов под PostgreSQL
├── 5_validation/ # Проверка целостности данных
└── 6_switchover/ # Переключение на новую БД

Результат

Технические результаты
✅ Успешный перенос 100+ ГБ данных без потерь
✅ Создание пространственных индексов (GIST) для гео-запросов
✅ Партиционирование таблиц по дате для ускорения запросов
✅ Оптимизация типовых запросов с использованием PostGIS
✅ Создание функций для часто используемых операций
✅ Настройка мониторинга производительности
✅ Автоматические бэкапы и настройка репликации

Ссылки на примеры реализации

 wildtracks.pro

Презентация проекта

Скриншот 25-02-2026 210837.jpg

Оценили проект:

0