Comment utiliser SQL dans la base de données mémoire en .Net ?? Comment fonctionne une base de données en mémoire?
La base de données en mémoire (IMDB) est une base de données relationnelle résidant en mémoire qui élimine l'accès au disque en stockant et en manipulant les données dans la mémoire principale. Un IMDB présente généralement une architecture stricte basée sur la mémoire et une manipulation directe des données.
Un peu de choses liées:
Il y a deux mythes qui devraient être corrigés lorsque vous décrivez des bases de données mémoire.
1) "Une base de données mémoire est moins persistante qu'une base de données disque". Bien que cela soit vrai pour les bases de données de mémoire plus simples, les bases de données de mémoire au niveau de l'entreprise sécurisent les données sur le disque lors de la validation des transactions. Les disques ne sont lents que lorsque les bras du disque bougent. Si vous y réfléchissez, vous pouvez écrire un gigaoctet en quelques secondes sur un disque rapide. Et si votre base de données change autant, vous pouvez sécuriser des téraoctets par jour en temps réel. Cela rend les bases de données RAM telles que HANA et Starcounter aussi sûres que les bases de données sur disque tout en étant très rapides. Vous pouvez couper l'alimentation à tout moment et les points de contrôle et les récupérations fonctionnent de la même manière que pour les bases de données sur disque.
2) "Les bases de données mémoire sont beaucoup plus rapides." La raison pour laquelle les bases de données en mémoire sont plus rapides est simplement parce qu'elles fonctionnent en mémoire. Si vous placez une base de données traditionnelle sur un lecteur RAM, il ne se passe pas grand chose. En fait, comme les caches dépassent généralement la taille de votre base de données, elles résident déjà en mémoire. La raison pour laquelle la base de données mémoire est tellement plus efficace est que l'image de la base de données est traitée comme mémoire principale et non comme mémoire secondaire. Cela signifie qu'une base de données RAM moderne ne copie pas les pages de l'image disque vers RAM lorsqu'elle lit des données. Dans les serveurs modernes, le mur de mémoire devient rapidement un goulot d'étranglement. Ceci est évité dans les bases de données RAM. La deuxième raison est que lorsque vous développez quelque chose pour un support qui est des milliers de fois plus rapide que le disque, vous avez tendance à ne pas ajouter de surcharge en microsecondes et millisecondes car les choses qui consomment des nanosecondes sont immédiatement visibles. À l'échelle des disques, il n'y a aucune raison d'optimiser le code à ce niveau. Lorsque soudainement RAM les prix baissent (98% depuis 2000), vous ne pouvez pas simplement réécrire l'ensemble de votre moteur de base de données.
Une base de données en mémoire fonctionne comme une base de données ordinaire, mais le contenu est stocké en mémoire plutôt que sur disque. Cela a pour effet que toutes les données sont perdues lorsque l'application est arrêtée. Ils doivent être reconstruits et remplis de données à chaque démarrage.
Un exemple de base de données pouvant s'exécuter en mode mémoire est SQLite . Notez que SQLite est une base de données en cours, vous l'hébergez dans votre application.
Voici un tutoriel pour accéder à une base de données en mémoire utilisant Data Provider for .NET . Vous pouvez utiliser des instructions SQL pour l'analyse prédictive, géospatiale, l'analyse de texte et la recherche floue. Vous pouvez télécharger cette base de données gratuitement (HANA, édition express) et l'utiliser dans une machine virtuelle dans un ordinateur avec plus de 8 Go RAM ou l'installer dans un VM dans MS Azure.