Hva er en sanntidsdatabase?
En sanntidsdatabase ligner på noen måter en tradisjonell database. Begge er ment å holde data, og begge trenger å utføre beregninger, men hastigheten som beregningene må fullføres og mengden beregninger avviker betydelig. En sanntidsdatabase er ment å utføre beregninger i sanntid og er ikke laget for å oppbevare informasjon over lengre tid. Å designe sanntidsdatabaser innebærer mange flere begrensninger for størrelsen på databasen og størrelsen på beregninger - og mange andre hensyn og faktorer - for å sikre at beregningene gjøres innen en spesifikk tid. Det er vanligvis forskjellige tidsfrister, slik at databasen kan prioritere funksjoner.
Tradisjonelle databaser er laget for å oppbevare data i lengre tid, og selv om dataene kan ha funksjoner og beregninger brukt på dem, er dataene stort sett vedvarende. En sanntidsdatabase er motsatt. Dataene er stort sett formbare, med svært lite gjenværende konstant, og databasen må kunne håndtere en veldig stor mengde beregninger. Dette betyr at en tradisjonell database ikke vil fungere for en sanntidsapplikasjon, fordi designen er helt annerledes.
Det kanskje beste eksemplet på en sanntidsdatabase er en aksjemarkedsdatabase. Denne databasen må være i stand til å kontinuerlig endre verdiene sine basert på en lang rekke faktorer og må forbli nøyaktig slik at bedrifter og investorer trives fra transaksjoner. Andre sanntidsdatabaseeksempler inkluderer luftkontrolldatabaser, medisinske databaser og vitenskapelige analysedatabaser.
Når en tradisjonell database er designet, lager programmereren et rammeverk der informasjon kan lagres og programmerer et relativt lite antall begrensninger. Sanntidsdatabaser må ha et veldig stort antall begrensninger for å begrense mengden informasjon de har og mengden transaksjoner de kan gjøre, slik at beregningene kan utføres raskt. Dette er fordi databasens hastighet er avhengig av mengden data som holdes og mengden funksjoner som fungerer samtidig. De fleste sanntidsdatabaser er idiosynkratiske, eller kan ikke integreres med andre databaser fordi de er svært spesialiserte for ett emne.
For å oppfylle tidsmessige begrensninger, eller tidsbaserte beregningsbehov, er det tre prioritetsnivåer plassert på funksjoner: hardt, fast og mykt. Dette går i rekkefølge fra raskest til tregest, så databasen vet hva jeg skal jobbe med nå og hva som kan vente. Selv om alle funksjoner kan plasseres på den harde prioriteten, kan dette føre til at en stor sanntidsdatabase krasjer på grunn av overbelastning.