質問

データベースからいくつかの統計を取得するために、大きなデータベースでPythonでいくつかのクエリを行っています。他のプログラムがデータベースにアクセスせずに使用できるように、これらの統計をメモリ内にしたいと思います。

私はそれらを構築する方法を考えていました、そして、複雑なネストされた辞書を設定しようとした後、私は良い表現がSQLテーブルになることに気付きました。ただし、データを永続的なデータベースに戻したくありません。 SQL構文でデータのクエリをサポートするSQLデータベースのインメモリ実装はありますか?

役に立ちましたか?

解決

sqlite3が機能する可能性があります。 Pythonインターフェイス サポートしています SQLite3 C APIが提供するメモリ内の実装。

スペックから:

また、特別な名前:メモリ:RAMにデータベースを作成することもできます。

また、トランザクションでは、何をしているかに応じて、比較的安価です。行くために、ただ:

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

その後、通常のデータベースを使用しているように続行できます。

データに応じて - キー/値(文字列、ハッシュ、リスト、セット、ソートセットなど)で取得できる場合 - Redis 探索する別のオプションかもしれません(他のプログラムと共有したいと言ったように)。

他のヒント

SQLite3が最良の選択肢になると思います。

可能であれば、見てください memcached. 。 (キー価値のペアの場合、照明を速く!)

更新1:

HSQLDB SQLのようなテーブルの場合。 (Pythonサポートはありません)

次のようなデータベースを使用する可能性があります sqlite. 。記憶には厳密に言えませんが、かなり軽く、メインデータベースとは完全に分離されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top