Förbättrade prestandan i en kartapplikation för geodata 10 gånger genom en strategisk databasövergång från MSSQL till PostgreSQL, inklusive själva omställningen av data, och optimerade bearbetningen och datasäkerheten.
Arbetet utfört: 2022 – 2024
10x snabbare kartor, efter flytten från MSSQL
Situation. Organisationens geografiska kartapplikation, som hanterade spatiala databasfrågor i realtid för många användare, led av allvarliga prestandaflaskhalsar. Latensen vid rendering av kartlager och vid frågor mot platsbaserade data påverkade både användarupplevelsen och tillförlitligheten i backendtjänsterna. Systemet byggde på en äldre Microsoft SQL Server‑databas (MSSQL) som saknade inbyggd geospatial indexering.
Uppgift. Uppgiften var att förbättra kartapplikationens prestanda, skalbarhet och säkerhet, med det uttalade målet att minska latensen för databasfrågor och öka genomströmningen för spatiala operationer.
Handling. Arbetet bestod i att leda en strategisk flytt av databasen från MSSQL till PostgreSQL med tillägget PostGIS, för att få inbyggt stöd för geospatiala data.
- Utformade ett nytt schema optimerat för spatiala data och införde GiST- och SP‑GiST‑index på geometri- och geografikolumner för snabbare frågor.
- Definierade strikta villkor för främmande nycklar och CHECK‑villkor för att säkerställa relationell integritet och upprätthålla valideringsregler för spatiala koordinater.
- Migrerade över 50 miljoner spatiala poster via ETL‑pipelines med transformeringssteg för att anpassa data till nya SRID‑standarder (EPSG:4326).
- Finjusterade konfigurationsparametrarna i PostgreSQL (t.ex.
work_mem,effective_cache_size) för optimal I/O‑prestanda vid samtidig åtkomst. - Implementerade rollbaserad åtkomstkontroll (RBAC) och säkerhet på radnivå för att upprätthålla dataskyddspolicyer för flera användargrupper.
Resultat. Prestandan för spatiala databasfrågor förbättrades 10 gånger, och den genomsnittliga svarstiden sjönk från 2,5 sekunder till under 250 millisekunder. CPU‑belastningen i backend minskade med 65 %, och systemets tillgänglighet förbättrades vid toppbelastning. Säkerheten stärktes också genom finkorniga åtkomstpolicyer och valideringsvillkor för data, vilket minskade risken för korrupta spatiala data.
Se tillbaka på Gjorde pipelinen för geodata 50 gånger snabbare genom bättre SQL‑programmering och datamodellering i PostgreSQL, MS SQL och Google Cloud BigQuery. Läs vidare: Löste 1 000 problem i geodata och tidsseriedata med GDAL, ArcGIS, PostGIS, Mapbox, QGIS, SQL (PL/pgSQL, Transact‑SQL) och Bash, vilket säkrade en högkvalitativ bearbetning av stora datamängder. Eller ta en titt på hela portföljen.
En del av en längre historik — och den finns i sin helhet här.
Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.