Подтвердить что ты не робот

В базе данных в Python

Я делаю несколько запросов в Python в большой базе данных, чтобы получить некоторые данные из базы данных. Я хочу, чтобы эти статистические данные были в памяти, поэтому другие программы могут использовать их, не переходя в базу данных.

Я думал о том, как их структурировать, и, пытаясь создать несколько сложных вложенных словарей, я понял, что хорошим представлением будет таблица SQL. Однако я не хочу хранить данные в постоянной базе данных. Существуют ли какие-либо встроенные в базу данных базы данных SQL, которые поддерживают запрос данных с синтаксисом SQL?

4b9b3361

Ответ 1

SQLite3 может работать. Интерфейс Python поддерживает реализацию в памяти, которую предлагает API SQLite3 C.

Из спецификации:

Вы также можете указать специальное имя: memory: создать базу данных в ОЗУ.

Это также относительно дешево с транзакциями, в зависимости от того, что вы делаете. Чтобы перейти, просто:

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

Затем вы можете продолжить, как если бы вы использовали обычную базу данных.

В зависимости от ваших данных - если вы можете получить ключ/значение (строки, хэши, списки, наборы, отсортированные наборы и т.д.) - Redis может быть другим вариантом для изучения (как вы упомянули, что хотите поделиться с другими программами).

Ответ 2

Я думаю, SQLite3 будет лучшим вариантом.

Если возможно, посмотрите memcached. (для пары "ключ-значение", освещение быстро!)

ОБНОВЛЕНИЕ 1:

HSQLDB для SQL Подобно таблицам. (без поддержки python)

Ответ 3

Возможно, вы можете использовать базу данных, такую ​​как SQLite. Это не строго говоря в памяти, но оно довольно светлое и будет полностью отделено от вашей основной базы данных.