Qu'est-ce qu'une base de données en temps réel?
À certains égards, une base de données en temps réel est similaire à une base de données traditionnelle. Les deux sont destinés à contenir des données, et les deux doivent effectuer des calculs, mais la vitesse à laquelle les calculs doivent être terminés et la quantité de calculs diffèrent de manière significative. Une base de données en temps réel est conçue pour 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 - ainsi que de nombreux autres facteurs et considérations - pour garantir que les calculs sont effectués dans les délais impartis. Les heures d’échéance étant généralement différentes, 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, il ne reste que très peu de constantes, et la base de données doit pouvoir traiter un très grand nombre de calculs. Cela signifie qu'une base de données traditionnelle ne fonctionnera pas pour une application en temps réel, car sa 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 modifier en permanence ses valeurs en fonction d'une grande variété de facteurs et doit rester précise pour que les entreprises et les investisseurs tirent profit des transactions. D'autres exemples de bases de données en temps réel comprennent les bases de données de contrôle de l'air, les bases de données médicales et les bases de données d'analyse scientifique.
Lors de la conception d'une base de données traditionnelle, 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 ont besoin d'un très grand nombre de contraintes pour limiter la quantité d'informations qu'elles détiennent 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 du nombre de fonctions fonctionnant simultanément. La plupart des bases de données en temps réel sont idiosyncratiques 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 calcul basés sur le temps, trois niveaux de priorité sont attribués aux fonctions: dur, ferme et souple. Cela va du plus rapide au plus lent, de sorte que la base de données sait sur quoi travailler et ce qui peut attendre. Toutes les fonctions peuvent être placées sur la priorité absolue, mais cela peut entraîner le blocage d’une base de données en temps réel volumineuse en raison de surcharges.