Innen informatikk er en enkelt sannhetskilde en arkitektur for et informasjonssystem hvor man strukturerer informasjonsmodeller og tilhørende datamodeller slik at hvert dataelement har sin mesterkopi på bare ett sted, hvilket som gir normalisering på kanonisk form. Koblinger til dataelementer skjer da bare ved referanse. Siden alle andre steder man finner dataene bare refererer tilbake til den primære «sannhetskilden» vil oppdateringer av dataelementet på den primære plasseringen forplante seg til hele systemet, hvilket kan gi bedre effektivitet og produktivitet, forebygge inkonsistenser, samt gi sterkt forenklet versjonskontroll. Ideelt skal et system med enkelt sannhetskilde levere data som er autentiske, autentiserbare, relevante og refererbare.
Arkitekturer for en enkelt sannhetskilde har blitt brukt i virksomheter for å unngå at det brukes utdatert (og derfor feil) informasjon på grunn av feilkoblede dupliserte eller denormaliserte dataelementer (en direkte konsekvens av forsettlig eller utilsiktet denormalisering av en hvilken som helst eksplisitt datamodell). I arkitekturer uten en enkelt sannhetskilde vil hyppige forgreninger svekke klarhet og produktivitet, noe som medfører arbeidskrevende vedlikeholdsbehov.
Noen eksempler på implementering av systemer med en enkelt sannhetskilde kan være:
En forutsetning for at en gitt enkelt sannhetskilde kan eksistere er at det ikke eksisterer mer enn én enkelt sannhet. I mange tilfeller gir ikke dette noen problemer (for eksempel innenfor bestemte navnerom, eller til og med på tvers av dem, så lenge navnekollisjoner eller bredere navnekonflikter blir adekvat håndtert).
Brede sammenhenger og de vanskeligste ontologiske avvikene krever sammenligning ved «epistemisk regime» og avstemming (eller i det minste forhandlinger eller transaksjonselle utvekslinger). Et eksempel på slik forsoning er hvis to teologiske seminarbiblioteker fra to forskjellige religioner (X og Y) kan utveksle informasjon, men at enigheten om sannheten vil ligge på nivået med utsagn som at "religion X hevder at Gud er lilla mens religion Y hevder at Gud er grønn", snarere enn på nivået med "Gud er lilla" eller "Gud er grønn".
Dette plattform-agnostike konseptet har også sivile og utenrikspolitiske bruksområder med tanke på forskjeller mellom ulike jurisdiksjoner sine juridiske definisjoner, som for eksempel hvorvidt et bestemt økonomisk system anses som godt, dårlig eller en mellomting (for eksempel kapitalisme, sosialisme og blandingsøkonomi), juridiske definisjoner av ekteskap (om en pasient er gift eller ikke, og i henhold til hvilken lov), om det biologiske kjønnet er lik det juridiske kjønnet (hvilket kjønn eller kjønnsidentitet en person har ifølge egenmelding eller ifølge noen andre), og så videre.
En ideell implementering en enkelt sannhetskilde er sjelden mulig for de fleste virksomheter. Dette skyldes at mange organisasjoner har flere informasjonssystemer som hver har behov for tilgang til data knyttet til de samme entietene (for eksempel kunde). Ofte kjøper virksomehter flere programvare-systemer som hyllevare fra ulike leverandører, og disse kan ikke endres på trivielle måter. Hvert av disse forskjellige systemene må derfor lagre sine egen versjon av felles data eller entiteter, og derfor må hvert system beholde sin egen kopi av en oppføring (og dermed umiddelbart bryte enkeltkilde-tilnærmingen definert ovenfor).
For eksempel vil:
Det er ikke alltid støtte i programvaren for å erstatte disse oppføringene med pekere til en enkelt sannhetskilde.
For organisasjoner (med mer enn ett informasjonssystem) som ønsker å implementere en enkelt sannhetskilde (uten å endre alt annet enn ett hovedsystem for å lagre pekere til andre systemer for alle entiteter), brukes ofte understøttende arkitekturer som:[trenger referanse]
Mens det primære formålet med et datavarehus er å støtte rapportering og analyse av data som er kombinert fra flere kilder, mefører også det faktumet at slike data er kombinerte (i henhold til forretningslogikk innebygd i transformasjons- og integrasjonsprosesser) at datavarehuset ofte brukes som en de facto enkelt sannhetskilde. Generelt sett brukes imidlertid ikke dataene som er tilgjengelige fra datavarehuset til å oppdatere andre systemer; snarere blir datavarehuset en enkelt sannhetskilde for rapportering til flere interessenter. I denne sammenheng blir datavarehuset mer korrekt referert til som en enkeltversjon av sannheten siden andre versjoner av sannheten eksisterer i dens operasjonelle datakilder (ingen data stammer fra datavarehuset, det er ganske enkelt bare en rapporteringsmekanisme for data lastet fra driftssystemer).
Et system for grunndataforvaltning kan fungere som sannhetskilde for en gitt entitet som kanskje ikke nødvendigvis har en alternativ sannhetskilde i et annet system. Vanligvis fungerer grunndataforvaltning som et knutepunkt for flere systemer, hvorav mange kan være sannhetskilden for oppdateringer av forskjellig informasjon om en gitt entitet. For eksempel kan kunderelasjonssystemet være sannhetskilden for de fleste aspekter av kunden, og oppdateres av en operatør i kundesenteret. Imidlertid kan (for eksempel) en kunde selv også oppdatere adressen sin selv via en kundeportal som fungerer via en annen baksystem-database enn CRM-systemet. Grunndata-applikasjonen mottar da oppdateringer fra to ulike kilder, og fungerer som megler for å bestemme hvilke oppdateringer som skal betraktes som autoritative (gylden oppføring) og syndikerer deretter disse oppdaterte dataene videre til alle abonnementssystemer (normalt via en tjenestebuss).
Hendelsesorienterte arkitekturer kan implementeres ved å lagre systemtilstanden som en ordnet sekvens av tilstandsendringer. For å gjøre dette trengs et hendelseslager som er en type database designet for å lagre alle hendelsene som endrer tilstanden til systemet.
En tjenestebuss tillater et hvilket som helst antall systemer i en organisasjon å motta oppdateringer av data som har endret seg i et annet system. For å implementere en enkelt sannhetskilde må man identifisere ett enkelt kildesystem med riktige data for enhver entitet. Endringer i denne entiteten (opprettelse, oppdatering og sletting) publiseres deretter via tjenestebussen, og andre systemer som trenger en kopi av disse dataene abonnerer på denne oppdateringen, og oppdaterer følgelig sine egne oppføringer. Hovedkilden for enhver gitte entitet må kunne identifiseres (noen ganger kalt den gyldne oppføringen). Ethvert gitte system kan publisere (altså være sannhetskilde for) informasjon om en bestemt entitet (for eksempel kunde), og også abonnere på oppdateringer fra et annet system for informasjon om en annen entitet (for eksempel produkt).[trenger referanse]