Підвищила продуктивність застосунку географічних карт у 10 разів завдяки стратегічному переходу бази даних з MSSQL на PostgreSQL, включно з фінальним перенесенням даних (cutover), оптимізувавши обробку та безпеку даних.
Роботу виконано: 2022 – 2024
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%, а доступність системи в періоди пікового використання зросла. Захищеність системи також посилилася завдяки детальним політикам доступу й обмеженням валідації даних, які зменшили ризик пошкодження просторових даних.
Попередня робота: Прискорила пайплайн географічних даних у 50 разів, удосконаливши SQL‑програмування та моделювання даних у PostgreSQL, MS SQL та Google Cloud BigQuery. Читати далі: Усунула 1 000 проблем у географічних даних та часових рядах, використовуючи GDAL, ArcGIS, PostGIS, Mapbox, QGIS, SQL (PL/pgSQL, Transact‑SQL), Bash, забезпечивши високоякісну обробку великих даних. Або перегляньте повне портфоліо.
Одна частина довшого переліку — і він увесь на цьому сайті.
Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.