# Har forbedret GIS‑kortydeevne 10x med PostgreSQL

Har gjort en geografisk kortapplikation 10 gange hurtigere gennem en strategisk databaseovergang fra MSSQL til PostgreSQL, herunder selve omlægningen af data, og optimeret behandlingen og datasikkerheden.

2022 – 2024

**Situation.** Organisationens geografiske kortapplikation, som understøttede spatiale forespørgsler i realtid for mange brugere, led under alvorlige flaskehalse i ydeevnen. Forsinkelser ved rendering af kortlag og ved forespørgsler på lokationsbaserede data gik ud over både brugeroplevelsen og backend‑tjenesternes pålidelighed. Systemet kørte på en ældre Microsoft SQL Server‑database (MSSQL) uden indbygget geospatial indeksering.

**Opgave.** At forbedre kortapplikationens ydeevne, skalerbarhed og sikkerhed med det konkrete mål at reducere forespørgslernes latens og øge gennemløbet for spatiale operationer.

**Handling.** Der blev gennemført en strategisk databasemigrering fra MSSQL til PostgreSQL med PostGIS‑udvidelsen for at få indbygget geospatial understøttelse.

- Et nyt skema blev designet til spatiale data med GiST- og SP‑GiST‑indeks på geometri- og geografikolonner, så forespørgslerne blev hurtigere.
- Der blev defineret strenge foreign key- og check‑constraints, som sikrer den relationelle integritet og håndhæver valideringsregler for de spatiale koordinater.
- Over 50 millioner spatiale poster blev migreret via ETL‑pipelines med transformationstrin, der bragte dataene i overensstemmelse med de nye SRID‑standarder (EPSG:4326).
- PostgreSQL‑konfigurationsparametre (f.eks. `work_mem` og `effective_cache_size`) blev finjusteret for optimal I/O‑ydeevne ved samtidig adgang.
- Der blev implementeret rollebaseret adgangskontrol (RBAC) og row‑level security, så databeskyttelsespolitikkerne blev håndhævet for flere brugergrupper.

**Resultat.** Ydeevnen for spatiale forespørgsler blev 10 gange bedre, og den gennemsnitlige svartid faldt fra 2,5 sekunder til under 250 millisekunder. Backendens CPU‑belastning faldt med 65 %, og systemets tilgængelighed blev bedre i spidsbelastningsperioder. Sikkerheden blev også styrket med granulære adgangspolitikker og valideringsregler i databasen, som mindskede risikoen for korrupte spatiale data.

---

- Rolle: Dataingeniør
- Kategorier: [Backend‑udvikling](https://engineer.company/da/categories/backend/), [Databaser](https://engineer.company/da/categories/databases/), [PostgreSQL](https://engineer.company/da/categories/postgresql/), [SQL](https://engineer.company/da/categories/sql/), [Data engineering](https://engineer.company/da/categories/data-engineering/), [Datapipelines (ETL/ELT)](https://engineer.company/da/categories/data-pipelines/), [Sikkerhed](https://engineer.company/da/categories/security/), [Optimering af ydeevne](https://engineer.company/da/categories/performance/), [Migrering & modernisering](https://engineer.company/da/categories/migration/), [GIS / geodata](https://engineer.company/da/categories/gis/)
- Ydelser: [GIS & geospatiale løsninger](https://engineer.company/da/services/gis-geospatial/), [Databaseoptimering](https://engineer.company/da/services/database-performance/), [Databasemigrering & modernisering](https://engineer.company/da/services/database-migration/)

<https://engineer.company/da/portfolio/improved-gis-map-performance-10x-on-postgresql/>
