Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Relationale DB im Arbeitsspeicher?

Jedes DBMS kann "im Speicher" ausgeführt werden. Ziehen Sie die Verwendung einer Ramdisk in Betracht. Allerdings sind die meisten DBMS (die mit SQL) nicht entworfen um vollständig im Speicher zu laufen und viel zu speichern Aufwand zur Minimierung von Festplatten-IO und Paging:Ein DBMS arbeitet sehr hart daran, die "relevanten Daten" heiß zu halten (im Speicher und im Cache) -- IO ist langsam, langsam, langsam.

Dies liegt daran, dass Datenbankdaten häufig [und in der Vergangenheit] wesentlich größer sind als Hauptspeicher. Dieser und der Hauptspeicher sind flüchtig :-) [ACID-DBMS leisten viel Arbeit mit Write-Ahead-Protokollierung – in einem nicht flüchtigen Speicher – und anderen Techniken, um sicherzustellen, dass Daten niemals beschädigt werden, selbst im Falle eines unerwarteten Herunterfahrens. ]

Einige Datenbanken, wie SQLite, verwenden dasselbe Format für die Festplatten- und Speicherspeicher, obwohl sie ausdrücklich einen In-Memory-Speicher unterstützen. Die Unterstützung für andere [In-Memory]-Back-Ends und die Optimierung der Speichernutzung variieren je nach Anbieter.

Viel Spaß beim Programmieren.