Frage

Ich mache einige Abfragen in Python in einer großen Datenbank, um einige Statistiken aus der Datenbank herauszuholen. Ich möchte, dass diese Statistiken in Memory sind, damit andere Programme sie ohne Datenbank verwenden können.

Ich dachte darüber nach, wie man sie strukturiert, und nachdem ich versucht hatte, einige komplizierte verschachtelte Wörterbücher einzurichten, wurde mir klar, dass eine gute Darstellung eine SQL -Tabelle sein würde. Ich möchte die Daten jedoch nicht in die persistente Datenbank speichern. Gibt es In-Memory-Implementierungen einer SQL-Datenbank, die die Abfrage der Daten mit der SQL-Syntax unterstützt?

War es hilfreich?

Lösung

SQLite3 könnte funktionieren. Die Python -Schnittstelle Unterstützung Die In-Memory-Implementierung, die die SQLite3 C API bietet.

Aus der Spezifikation:

Sie können auch den speziellen Namen angeben: Speicher: So erstellen Sie eine Datenbank in RAM.

Es ist auch relativ billig bei Transaktionen, je nachdem, was Sie tun. Um loszulegen, nur:

import sqlite3
conn = sqlite3.connect(':memory:')

Sie können dann fortfahren, als hätten Sie eine reguläre Datenbank verwendet.

Abhängig von Ihren Daten - wenn Sie mit Schlüssel/Wert auskommen können (Zeichenfolgen, Hashes, Listen, Sets, sortierten Sets usw.) - Redis Könnte eine weitere Option sein, um zu erkunden (wie Sie bereits erwähnt haben, dass Sie mit anderen Programmen teilen wollten).

Andere Tipps

Ich denke, SQLite3 wird dann die beste Option sein.

Wenn möglich, schauen Sie sich an memcached. (Für Schlüsselwertpaar, schnelles Licht!)

Update 1:

Hsqldb Für SQL -ähnliche Tabellen. (Keine Python -Unterstützung)

Sie könnten möglicherweise eine Datenbank wie verwenden Sqlite. Es ist nicht streng genommen im Gedächtnis, aber es ist ziemlich leicht und wäre vollständig von Ihrer Hauptdatenbank getrennt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top