Une base de données en temps réel, à certains égards, est similaire à une base de données traditionnelle. Les deux sont destinés à contenir des données et doivent effectuer des calculs, mais la vitesse à laquelle les calculs doivent être effectués et la quantité de calculs diffèrent considérablement. Une base de données en temps réel est destinée à effectuer des calculs en temps réel et n’est pas conçue pour conserver des informations pendant de longues périodes. La conception de bases de données en temps réel implique beaucoup plus de contraintes sur la taille de la base de données et la taille des calculs – et de nombreuses autres considérations et facteurs – pour garantir que les calculs sont effectués dans un délai spécifié. Il existe généralement des délais différents, de sorte que la base de données peut hiérarchiser les fonctions.
Les bases de données traditionnelles sont conçues pour conserver des données pendant de longues périodes et, bien que les données puissent avoir des fonctions et des calculs qui leur sont appliqués, les données sont en grande partie persistantes. Une base de données en temps réel est le contraire. Les données sont en grande partie malléables, avec très peu de constantes, et la base de données doit être capable de gérer une très grande quantité de calculs. Cela signifie qu’une base de données traditionnelle ne fonctionnera pas pour une application en temps réel, car la conception est complètement différente.
Le meilleur exemple de base de données en temps réel est peut-être une base de données sur les marchés boursiers. Cette base de données doit pouvoir changer constamment ses valeurs en fonction d’une grande variété de facteurs et doit rester précise pour que les entreprises et les investisseurs prospèrent grâce aux transactions. D’autres exemples de bases de données en temps réel incluent les bases de données de contrôle aérien, les bases de données médicales et les bases de données d’analyse scientifique.
Lorsqu’une base de données traditionnelle est conçue, le programmeur crée un cadre dans lequel les informations peuvent être stockées et programme un nombre relativement restreint de contraintes. Les bases de données en temps réel doivent avoir un très grand nombre de contraintes pour limiter la quantité d’informations qu’elles contiennent et le nombre de transactions qu’elles peuvent effectuer, afin que les calculs puissent être effectués rapidement. En effet, la vitesse de la base de données dépend de la quantité de données détenues et de la quantité de fonctions fonctionnant simultanément. La plupart des bases de données en temps réel sont idiosyncrasiques ou ne peuvent pas être intégrées à d’autres bases de données car elles sont hautement spécialisées pour un sujet.
Pour répondre aux contraintes temporelles, ou aux besoins de calculs temporels, trois niveaux de priorité sont attribués aux fonctions : hard, firm et soft. Cela va du plus rapide au plus lent, afin que la base de données sache sur quoi travailler maintenant et ce qui peut attendre. Bien que toutes les fonctions puissent être placées sur la priorité stricte, cela peut entraîner le blocage d’une grande base de données en temps réel en raison de surcharges.