Forbedret ytelsen i en geografisk kartapplikasjon 10 ganger gjennom et strategisk databaseskifte fra MSSQL til PostgreSQL, inkludert omleggingen av dataene, og optimaliserte samtidig behandlingen og datasikkerheten.
Arbeidet utført: 2022 – 2024
10x raskere kart etter overgangen fra MSSQL
Situasjon. Organisasjonens geografiske kartapplikasjon, som støttet romlige spørringer i sanntid for mange brukere, slet med alvorlige ytelsesflaskehalser. Latens i gjengivelsen av kartlag og i spørringer mot stedsbaserte data gikk ut over både brukeropplevelsen og påliteligheten til backend‑tjenesten. Systemet bygde på en eldre Microsoft SQL Server‑database (MSSQL) som manglet innebygd geospatial indeksering.
Oppgave. Forbedre ytelsen, skalerbarheten og sikkerheten i kartapplikasjonen, med et konkret mål om å redusere spørringslatensen og øke gjennomstrømningen for romlige operasjoner.
Handling. Ledet en strategisk migrering fra MSSQL til PostgreSQL med PostGIS‑utvidelsen for å få innebygd geospatial støtte.
- Designet et nytt skjema optimalisert for romlige data, med GiST- og SP‑GiST‑indekser på geometri- og geografikolonner for raskere spørringer.
- Definerte strenge fremmednøkler og CHECK‑regler for å sikre relasjonell integritet og håndheve valideringsregler for romlige koordinater.
- Migrerte over 50 millioner romlige poster via ETL‑pipelines med transformasjonssteg for å oppfylle nye SRID‑standarder (EPSG:4326).
- Justerte konfigurasjonsparametere i PostgreSQL (f.eks. work_mem, effective_cache_size) for optimal I/O‑ytelse ved samtidig tilgang.
- Implementerte rollebasert tilgangskontroll (RBAC) og sikkerhet på radnivå for å håndheve retningslinjer for databeskyttelse på tvers av flere brukergrupper.
Resultat. Oppnådde 10 ganger bedre ytelse for romlige spørringer, med en reduksjon i gjennomsnittlig svartid fra 2,5 sekunder til under 250 millisekunder. CPU‑belastningen i backend falt med 65 %, og systemets tilgjengelighet ble bedre i perioder med høy belastning. Sikkerheten ble også styrket med detaljerte tilgangsregler og valideringsregler for data, noe som reduserte risikoen for korrupte romlige data.
Se tilbake på Økte ytelsen i geografiske datapipelines 50 ganger ved å forbedre SQL‑programmeringen og datamodelleringen i PostgreSQL, MS SQL og Google Cloud BigQuery. Les videre: Løste 1 000 problemer i geografiske data og tidsseriedata med GDAL, ArcGIS, PostGIS, Mapbox, QGIS, SQL (PL/pgSQL, Transact‑SQL) og Bash, og sikret behandling av stordata med høy kvalitet. Eller ta en titt på hele porteføljen.
Ett stykke av en lengre oversikt — og den ligger i sin helhet her.
Hver oppføring er skrevet på samme måte: situasjonen, oppgaven, hva vi gjorde, og hva som endret seg.