В базе данных в Python
Я делаю несколько запросов в Python в большой базе данных, чтобы получить некоторые данные из базы данных. Я хочу, чтобы эти статистические данные были в памяти, поэтому другие программы могут использовать их, не переходя в базу данных.
Я думал о том, как их структурировать, и, пытаясь создать несколько сложных вложенных словарей, я понял, что хорошим представлением будет таблица SQL. Однако я не хочу хранить данные в постоянной базе данных. Существуют ли какие-либо встроенные в базу данных базы данных SQL, которые поддерживают запрос данных с синтаксисом SQL?
Ответы
Ответ 1
SQLite3 может работать. Интерфейс Python поддерживает реализацию в памяти, которую предлагает API SQLite3 C.
Из спецификации:
Вы также можете указать специальное имя: memory: создать базу данных в ОЗУ.
Это также относительно дешево с транзакциями, в зависимости от того, что вы делаете. Чтобы перейти, просто:
import sqlite3
conn = sqlite3.connect(':memory:')
Затем вы можете продолжить, как если бы вы использовали обычную базу данных.
В зависимости от ваших данных - если вы можете получить ключ/значение (строки, хэши, списки, наборы, отсортированные наборы и т.д.) - Redis может быть другим вариантом для изучения (как вы упомянули, что хотите поделиться с другими программами).
Ответ 2
Я думаю, SQLite3 будет лучшим вариантом.
Если возможно, посмотрите memcached. (для пары "ключ-значение", освещение быстро!)
ОБНОВЛЕНИЕ 1:
HSQLDB для SQL Подобно таблицам. (без поддержки python)
Ответ 3
Возможно, вы можете использовать базу данных, такую как SQLite. Это не строго говоря в памяти, но оно довольно светлое и будет полностью отделено от вашей основной базы данных.