web-dev-qa-db-fra.com

Différence entre les bases de données en mémoire et la base de données sur la mémoire disque

Récemment, j'ai entendu parler du concept de base de données en mémoire.

Dans n'importe quel type de base de données, nous stockons enfin les données dans l'ordinateur. À partir de là, notre programme récupère les données .Comment enregistrer en mémoire les opérations de base de données sont rapides par rapport aux autres.

La base de données en mémoire va-t-elle charger toutes les données de la base de données dans la mémoire vive (RAM).

Merci d'avance....

13
PSR

Une base de données en mémoire (IMDB; également système de base de données en mémoire principale ou BDMD ou base de données résidente en mémoire) est un système de gestion de base de données qui repose principalement sur la mémoire principale pour le stockage de données informatiques. Cela contraste avec les systèmes de gestion de base de données qui utilisent un mécanisme de stockage sur disque. Les bases de données de la mémoire principale sont plus rapides que les bases de données optimisées sur disque, car les algorithmes d'optimisation internes sont plus simples et exécutent moins d'instructions de la CPU. L'accès aux données en mémoire élimine le temps de recherche lors de l'interrogation des données, ce qui permet des performances plus rapides et prévisibles que celles du disque.

Les applications où le temps de réponse est critique, telles que celles utilisant un équipement de réseau de télécommunication et des réseaux de publicité mobiles, utilisent souvent des bases de données de la mémoire principale.

En réponse à votre question, oui, il charge les données dans RAM de votre ordinateur. 

Bases de données sur disque

  • Toutes les données stockées sur le disque, les E/S du disque devaient déplacer les données dans la mémoire principale Lorsque cela était nécessaire.

  • Les données sont toujours conservées sur le disque.

  • Les structures de données traditionnelles, telles que les arbres B, sont conçues pour stocker efficacement sur disque les tables et les index .

  • Taille de la base de données pratiquement illimitée.

  • Prend en charge un ensemble très large de charges de travail, à savoir OLTP, entreposage de données, Charges de travail mixtes, etc.

Bases de données en mémoire

  • Toutes les données stockées dans la mémoire principale, inutile d’effectuer des E/S sur disque pour interroger Ou mettre à jour les données.

  • Les données sont persistantes ou volatiles selon le produit de la base de données en mémoire .

  • Les structures de données et les structures d'index spécialisées supposent que les données sont toujours dans la mémoire principale.

  • Optimisé pour les charges de travail spécialisées; c'est-à-dire les communications des charges de travail HLR/HSS spécifiques à l'industrie.

  • Taille de la base de données limitée par la quantité de mémoire principale.

21
DeepInJava

Offres MySQL

MySQL a plusieurs "moteurs". Dans tous les moteurs, les actions sont effectuées dans la RAM. Les moteurs diffèrent considérablement quant à leur capacité à s'assurer que les données "persistent" sur le disque.

ENGINE = MEMORY - C'est pas persistant; les données se trouvent uniquement dans la RAM. Il est limité à une taille maximale prédéfinie. En cas de panne de courant, toutes les données (dans une table MEMORY) sont perdues.

ENGINE = MyISAM - Ceci est un ancien moteur; il conserve les données sur le disque, mais en cas de panne de courant, les index sont parfois corrompus et doivent être réparés.

ENGINE = InnoDB - C'est le moteur préféré. Il persiste non seulement sur le disque mais «garantit» la cohérence, même en cas de panne de courant.

6
Rick James

Les bases de données en mémoire ont généralement toute la base de données en mémoire. (comme MySQL DB Engine MEMORY) Ceci représente un gain de performances considérable, mais RAM est coûteux et souvent non persistant. moyens de réduire le dernier problème, par exemple instantanés chronométrés ou réplication sur une base de données sur disque. Il existe également certains types hybrides, avec seulement une partie de la base de données en mémoire.

2
dek

Il existe également des bases de données en mémoire, telles que Tarantool, qui peuvent fonctionner avec des ensembles de données plus volumineux que la RAM disponible. Tarantool est capable de travailler avec ces ensembles car il est optimisé pour les écritures aléatoires rapides, le principal goulot d'étranglement qui se pose.

0
eabates