# Databaser

> Udvalgt arbejde fra Engineer ApS, der demonstrerer Databaser — resultaterne, der beviser det.

- [Har udviklet en pipeline til timebaseret aggregering af elforbrug i Python / SQL / Bash + Jq, der opnår 180 ms for 30‑dages datasæt på tværs af heterogene JSONL‑kilder.](https://engineer.company/da/portfolio/engineered-hourly-electricity-consumption-aggregation-pipeline-in-python-4/)
- [Har øget ydeevnen af geografiske datapipelines med 50 gange ved at forbedre SQL‑programmering og datamodellering på tværs af PostgreSQL, MS SQL og Google Cloud BigQuery.](https://engineer.company/da/portfolio/accelerated-geographical-data-pipeline-performance-by-50x-by-5/)
- [Har forbedret geografiske kortapplikationers ydeevne med 10 gange gennem en strategisk databaseovergang fra MSSQL til PostgreSQL, hvilket har optimeret behandlingen og datasikkerheden.](https://engineer.company/da/portfolio/improved-geographical-map-application-performance-by-10x-through-6/)
- [Har løst 1.000 problemer i geografiske data og tidsseriedata ved hjælp af GDAL, ArcGIS, PostGIS, Mapbox, QGIS, SQL (PL/pgSQL, Transact‑SQL) og Bash, hvilket har sikret behandling af big data i høj kvalitet.](https://engineer.company/da/portfolio/resolved-1-000-issues-in-geographical-data-and-7/)
- [Har designet, implementeret og administreret 6 ETL/ELT‑pipelines med Google BigQuery, MSSQL, PostgreSQL, shell‑scripting, PL/pgSQL og Transact‑SQL og integreret data til effektiv behandling via Python API.](https://engineer.company/da/portfolio/designed-implemented-and-administered-6-etl-elt-pipelines-8/)
- [Har udgivet 500 rapporter om analyse af el- og GIS‑data, hvor jeg har anvendt dybdegående forskning og fejlfinding for at sikre nøjagtige geografiske og tidsmæssige big data‑indsigter.](https://engineer.company/da/portfolio/released-500-electricity-and-gis-data-analysis-reports-11/)
- [Har arkitekteret, oprettet og administreret 100 data warehouse‑databaser i PostgreSQL, MS SQL og Google BigQuery med primært GIS- og tidsseriedata og optimeret ydeevne og skalerbarhed.](https://engineer.company/da/portfolio/architected-created-and-managed-100-postgresql-ms-sql-12/)
- [Har designet, idriftsat og vedligeholdt 10 PostgreSQL- og MS SQL‑servere på Ubuntu Linux VPS og sikret optimal serverydeevne og pålidelighed.](https://engineer.company/da/portfolio/designed-deployed-and-maintained-10-postgresql-and-ms-13/)
- [Har forbedret datasikkerheden ved at implementere 1.000 RBAC‑regler for udviklere, applikationsinstanser, PostgreSQL, MS SQL og andre Linux‑servere for at forhindre uautoriseret adgang; dokumenteret med Ansible‑automatisering.](https://engineer.company/da/portfolio/enhanced-data-security-by-implementing-1-000-rbac-14/)
- [Har accelereret PostgreSQL‑ydeevnen 10 gange via strategisk indeksering, partitionering og query‑optimering og forbedret databaseeffektiviteten for bruger-, tenant-, geospatiale og tidsserie‑eldata.](https://engineer.company/da/portfolio/accelerated-postgresql-performance-by-10x-via-strategic-indexing-15/)
- [Har automatiseret 100 kritiske databackups ved hjælp af Barman, Google Cloud, Bash og Python og sikret dataintegritet på tværs af databaser.](https://engineer.company/da/portfolio/automated-100-critical-data-backups-using-barman-google-18/)
- [Har styret full‑stack‑udvikling af GIS‑kort med ansvar for PostgreSQL, Mapbox, ReactJS og NodeJS for at levere en integreret løsning.](https://engineer.company/da/portfolio/directed-full-stack-gis-map-development-overseeing-postgresql-25/)
- [Har ledet udvikling, idriftsættelse og support af over 30 GIS‑projekter og udvist ekspertise i PostgreSQL, Bash, Python, JavaScript, GDAL, ArcGIS, PostGIS og Mapbox.](https://engineer.company/da/portfolio/led-the-development-deployment-and-support-of-over-35/)
- [Har automatiseret databehandlingsopgaver med shell‑scripting, PL/pgSQL, Python og Transact‑SQL og øget produktiviteten og effektiviteten.](https://engineer.company/da/portfolio/automated-data-processing-tasks-using-shell-scripting-pl-45/)
- [Har udviklet 600 PL/pgSQL‑baserede ETL/ELT‑pipelines for at strømline komplekse databehandlingsworkflows på tværs af flere PostgreSQL‑udviklings- og produktionsmiljøer.](https://engineer.company/da/portfolio/engineered-600-pl-pgsql-based-etl-elt-pipelines-54/)
- [Har arkitekteret en lagdelt maritim platform, der adskiller en Next.js PWA‑frontend, et Go (Huma/Fiber) API og et PostgreSQL‑funktionslag og holder al forretningslogik i databasen.](https://engineer.company/da/portfolio/architected-a-layered-maritime-platform-separating-a-next-57/)
- [Har designet en JSON passthrough‑arkitektur, hvor PostgreSQL‑funktioner returnerer komplet JSON, som Go‑API'et videresender uændret, hvilket eliminerer mellemliggende unmarshalling og afkobler frontenden fra skemaændringer.](https://engineer.company/da/portfolio/designed-a-json-passthrough-architecture-where-postgresql-functions-58/)
- [Har designet et function‑first datalag i PostgreSQL — 1.275 stored functions på tværs af 34 skemaer — så hver læsning og skrivning går gennem en funktion, databasen kan tildele rettigheder til, frem for gennem en tabel.](https://engineer.company/da/portfolio/designed-a-postgresql-function-first-data-layer-across-63/)
- [Har indført tidsordnede UUID v7‑identifikatorer (PostgreSQL 18) som entitetsnøgler for at reducere fragmentering af B‑tree‑indeks og øge forespørgselshastigheden.](https://engineer.company/da/portfolio/adopted-uuid-v7-time-ordered-identifiers-postgresql-18-64/)
- [Har implementeret en katalogdrevet deep‑merge for lagrede JSON‑præferencer, hvilket forhindrer nedbrud på grund af manglende nøgler, når skemaet udvikler sig.](https://engineer.company/da/portfolio/implemented-a-catalogue-driven-deep-merge-for-stored-65/)
- [Har bygget Python‑scraperne til skibsdata (MarineTraffic, Maritime‑Database) og et gentageligt import‑trin, der seeder platformens referencedata — 184.197 rækker, heraf 698 virksomheder og 56.149 skibe.](https://engineer.company/da/portfolio/built-a-python-vessel-data-scraper-marinetraffic-maritime-66/)
- [Har modelleret det maritime domæne i 348 normaliserede tabeller på tværs af 34 PostgreSQL‑skemaer — professionelle, virksomheder, skibe, jobs, anmeldelser og resten — med SMALLINT‑opslagstabeller og UUID v7‑nøgler.](https://engineer.company/da/portfolio/modeled-the-maritime-domain-professionals-companies-ships-jobs-67/)
- [Har konfigureret opbevaring af databasebackups som infrastructure‑as‑code, gennemgået genopretningsberedskabet og dokumenteret restore‑proceduren — med de resterende huller navngivet frem for fundet under en hændelse.](https://engineer.company/da/portfolio/configured-database-backup-retention-as-infrastructure-as-code-72/)
- [Har hærdet applikationen med nonce‑baseret CSP, HSTS, SameSite‑cookies, least‑privilege‑databaseroller og server‑side‑genkontrol af rettigheder.](https://engineer.company/da/portfolio/hardened-the-application-with-nonce-based-csp-hsts-77/)
- [Har fastlagt platformens grundlæggende beslutninger i ugerne efter, at kodebasen blev åbnet i november 2025 — lagdelingen, database‑first‑dataadgang og zero‑warnings‑standarden — og de holder stadig ni måneder senere.](https://engineer.company/da/portfolio/set-the-platform-s-founding-decisions-in-november-2025-80/)
- [Har bygget betalings- og rettighedslaget — Stripe side om side med Apple og Google in‑app purchase — så directory, søgning og eksport spærres af en adgangsmodel på 11 tabeller, der tjekkes på serveren.](https://engineer.company/da/portfolio/built-the-payments-and-entitlements-layer-96/)
- [Har flyttet langsomt arbejde væk fra request‑stien og over på en River‑jobkø — 15 worker‑moduler, 8 planlagte opgaver og 20 pg_cron‑jobs — så et request vender tilbage, mens arbejdet bag det kører videre.](https://engineer.company/da/portfolio/moved-slow-work-onto-a-river-job-queue-97/)
- [Har holdt skemaet ærligt på tværs af 1.022 migrationer med en CI‑gate, der bygger databasen begge veje — en frisk installation og en installation plus hver eneste migration — og fejler, når de to ikke stemmer overens.](https://engineer.company/da/portfolio/kept-the-schema-honest-across-1022-migrations-99/)
- [Har bygget egen produktanalyse i PostgreSQL — 47 funktioner over partitionerede event‑tabeller, der selv rydder op — pseudonymiseret bag et roterende salt og betinget af den besøgendes samtykke.](https://engineer.company/da/portfolio/built-first-party-product-analytics-in-postgresql-101/)
- [Har bygget loyalitets- og omdømmesystemet — 67 funktioner over et ledger på 31 tabeller, med ligaer, badges og en indløsningsshop — med en row lock på saldoen, der lukker double‑spend‑vinduet.](https://engineer.company/da/portfolio/built-the-loyalty-and-reputation-system-105/)
- [Har bygget platformens sociale lag — opslag, feed, grupper, mentions, en følgergraf og et digest over mærkedage — på samme function‑first datalag som resten af produktet.](https://engineer.company/da/portfolio/built-the-platform-s-social-layer-106/)
- [Har bygget rekrutteringsmarkedspladsen og søfarendes karriere‑workspace — 151 stored functions på tværs af 48 tabeller — med ledige stillinger, ansøgninger, certifikater, avancement i grader og verificeret sejltid.](https://engineer.company/da/portfolio/built-the-hiring-marketplace-and-career-workspace-107/)
- [Har genereret 495 achievement‑sider på tre sprog fra en skrivebeskyttet SQLite‑eksport, med sidens adresse forfattet som data, så en rettet sætning ikke længere flyttede siden og brød linket.](https://engineer.company/da/portfolio/generated-321-achievement-pages-from-a-sqlite-export-132/)
- [Har bygget en databasedrevet generator til CV, referencer, portefølje og ansøgninger i Python — 41 moduler, 10.580 linjer — der gengiver seks outputformater fra én SQLite‑kilde med 23 tabeller samlet af en idempotent pipeline i 19 trin.](https://engineer.company/da/portfolio/built-a-database-driven-cv-and-portfolio-generator-144/)
- [Har holdt generatoren til 981 testtilfælde med et dækningsgulv på 92 % grendækning og advarsler behandlet som fejl, og har hævdet idempotens ved at køre hele build‑pipelinen to gange fra en tom fil og kræve, at anden gennemløb intet ændrer.](https://engineer.company/da/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Har skrevet tests af selve tjekkene efter at have fastslået, at et tjek, der kun fodres med rent input, en dag melder rent, fordi det intet læste — ved at plante en stavefejl for at bekræfte, at stavekontrollen finder den, og ved at tage et id‑interval fra databasen frem for fra et tal i testen.](https://engineer.company/da/portfolio/wrote-tests-for-the-checkers-themselves-149/)

<https://engineer.company/da/categories/databases/>
