Перейти до вмісту

Підвищила продуктивність застосунку географічних карт у 10 разів завдяки стратегічному переходу бази даних з MSSQL на PostgreSQL, включно з фінальним перенесенням даних (cutover), оптимізувавши обробку та безпеку даних.

10x швидші карти після переходу з MSSQL

Ситуація. Картографічний застосунок організації, що обслуговував просторові запити в реальному часі для багатьох користувачів, мав серйозні вузькі місця продуктивності. Затримки під час рендерингу картографічних шарів і запитів до даних про місцезнаходження позначалися і на користувацькому досвіді, і на надійності бекенд‑сервісів. Система працювала на застарілій базі даних Microsoft SQL Server (MSSQL), яка не мала нативної геопросторової індексації.

Завдання. Підвищити продуктивність, масштабованість і безпеку картографічного застосунку, зокрема скоротити затримку запитів і збільшити пропускну здатність просторових операцій.

Дія. Проведено стратегічне перенесення бази даних з MSSQL на PostgreSQL із розширенням PostGIS, щоб отримати нативну підтримку геопросторових даних.

  • Спроєктовано нову схему, оптимізовану для просторових даних, з індексами GiST і SP‑GiST на стовпцях geometry та geography, які пришвидшили запити.
  • Визначено суворі обмеження зовнішніх ключів і перевірки, що забезпечують реляційну цілісність і правила валідації просторових координат.
  • Перенесено понад 50 мільйонів просторових записів ETL‑пайплайнами з етапами трансформації, які приводили дані до нових стандартів SRID (EPSG:4326).
  • Налаштовано параметри конфігурації PostgreSQL (наприклад, work_mem, effective_cache_size) для оптимальної продуктивності введення‑виведення за паралельного доступу.
  • Упроваджено рольове керування доступом (RBAC) і безпеку на рівні рядків, щоб застосовувати політики захисту даних до кількох груп користувачів.

Результат. Продуктивність просторових запитів зросла в 10 разів: середній час відповіді скоротився з 2,5 секунди до менш ніж 250 мілісекунд. Навантаження на CPU бекенду знизилося на 65%, а доступність системи в періоди пікового використання зросла. Захищеність системи також посилилася завдяки детальним політикам доступу й обмеженням валідації даних, які зменшили ризик пошкодження просторових даних.

Одна частина довшого переліку — і він увесь на цьому сайті.

Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

Переглянути весь перелік