Hvad er en database i realtid?
En realtidsdatabase ligner på nogle måder en traditionel database. Begge er beregnet til at indeholde data, og begge er nødt til at udføre beregninger, men hastigheden, hvormed beregningerne skal udføres, og mængden af beregninger er forskellig markant. En realtidsdatabase er beregnet til at udføre beregninger i realtid og er ikke lavet til at opbevare information i lang tid. Designe realtidsdatabaser involverer mange flere begrænsninger for størrelsen på databasen og størrelsen på beregninger - og mange andre overvejelser og faktorer - for at sikre, at beregningerne udføres inden for en bestemt tid. Der er normalt forskellige fristtider, så databasen kan prioritere funktioner.
Traditionelle databaser er lavet til at indeholde data i lang tid, og selvom dataene kan have funktioner og beregninger, der anvendes på dem, er dataene stort set vedvarende. En realtidsdatabase er det modsatte. Dataene er stort set formbare, med meget lidt resterende konstant, og databasen skal kunne håndtere en meget stor mængde beregninger. Dette betyder, at en traditionel database ikke fungerer til en realtidsapplikation, fordi designet er helt anderledes.
Det bedste eksempel på en realtidsdatabase er måske en aktiemarkedsdatabase. Denne database skal være i stand til konstant at ændre dens værdier baseret på en lang række faktorer og skal forblive nøjagtig, så virksomheder og investorer trives fra transaktioner. Andre realtidsdatabaseeksempler inkluderer luftkontroldatabaser, medicinske databaser og videnskabelige analysedatabaser.
Når en traditionel database designes, opretter programmereren en ramme, hvor information kan gemmes og programmerer et relativt lille antal begrænsninger. Realtidsdatabaser skal have et meget stort antal begrænsninger for at begrænse mængden af information, de har, og mængden af transaktioner, de kan udføre, så beregningerne kan udføres hurtigt. Dette skyldes, at databasens hastighed er afhængig af mængden af data, der er indeholdt, og mængden af funktioner, der fungerer samtidig. De fleste databaser i realtid er idiosynkratiske eller kan ikke integreres med andre databaser, fordi de er meget specialiserede til et emne.
For at imødekomme tidsmæssige begrænsninger eller tidsbaserede beregningsbehov er der tre prioritetsniveauer placeret på funktioner: hårdt, fast og blødt. Dette går i rækkefølge fra hurtigste til langsomste, så databasen ved, hvad de skal arbejde på nu, og hvad der kan vente. Mens alle funktioner kan placeres på den hårde prioritet, kan dette medføre, at en stor realtidsdatabase går ned på grund af overbelastning.