Wat is een realtime database?
Een realtime database is in sommige opzichten vergelijkbaar met een traditionele database. Beide zijn bedoeld om gegevens te bewaren, en beide moeten berekeningen uitvoeren, maar de snelheid waarmee berekeningen moeten worden voltooid en de hoeveelheid berekeningen aanzienlijk verschilt. Een realtime database is bedoeld om in realtime berekeningen uit te voeren en wordt niet gemaakt om informatie gedurende lange tijd te bewaren. Het ontwerpen van realtime databases omvat veel meer beperkingen op de grootte van de database en de grootte van de berekeningen-en vele andere overwegingen en factoren-om ervoor te zorgen dat berekeningen binnen een gespecificeerde tijd worden uitgevoerd. Er zijn meestal verschillende deadline -tijden, dus de database kan prioriteit geven aan functies.
Traditionele databases worden gemaakt om gegevens gedurende lange tijd te bewaren en hoewel de gegevens op hen worden toegepast, zijn de gegevens grotendeels persistent. Een realtime database is het tegenovergestelde. De gegevens zijn grotendeels kneedbaar, met heel weinig resterende constante, en de datAbase moet in staat zijn om een zeer grote hoeveelheid berekeningen aan te kunnen. Dit betekent dat een traditionele database niet zal werken voor een realtime applicatie, omdat het ontwerp compleet anders is.
Misschien is het beste voorbeeld van een realtime database een database voor aandelenmarkten. Deze database moet zijn waarden constant kunnen wijzigen op basis van een grote verscheidenheid aan factoren en moeten nauwkeurig blijven, zodat bedrijven en beleggers gedijen van transacties. Andere realtime databasevoorbeelden omvatten air-control databases, medische databases en wetenschappelijke analysatatabases.
Wanneer een traditionele database is ontworpen, creëert de programmeur een framework waar informatie kan worden opgeslagen en programmeert een relatief klein aantal beperkingen. Real-time databases moeten een zeer groot aantal beperkingen hebben om de hoeveelheid informatie die ze hebben te beperken en de hoeveelheid transacties die ze kunnen doen, dus de berekeningen CAn snel worden uitgevoerd. Dit komt omdat de databasesnelheid afhankelijk is van de hoeveelheid gehouden gegevens en de hoeveelheid functies die tegelijkertijd werken. De meeste realtime databases zijn idiosyncratisch of kunnen niet worden geïntegreerd met andere databases omdat ze zeer gespecialiseerd zijn voor één onderwerp.
Om te voldoen aan tijdelijke beperkingen of tijdgebaseerde berekeningsbehoeften, zijn er drie prioriteitsniveaus op functies geplaatst: hard, stevig en zacht. Dit gaat in orde van het snelst tot het langzaamst, dus de database weet waar hij nu aan moet werken en wat kan wachten. Hoewel alle functies op de harde prioriteit kunnen worden geplaatst, kan dit ertoe leiden dat een grote realtime database crasht vanwege overbelastingen.