variable template tag nombre examples columna cambiar python sql database in-memory-database

python - nombre - extends django template tag



base de datos en memoria en Python (3)

Posiblemente podría utilizar una base de datos como SQLite . No está estrictamente hablando en la memoria, pero es bastante ligero y estaría completamente separado de su base de datos principal.

Estoy haciendo algunas consultas en Python en una gran base de datos para obtener algunas estadísticas de la base de datos. Quiero que estas estadísticas estén en la memoria para que otros programas puedan usarlas sin tener que ir a una base de datos.

Estaba pensando en cómo estructurarlos, y después de intentar configurar algunos diccionarios anidados complicados, me di cuenta de que una buena representación sería una tabla SQL. Sin embargo, no quiero almacenar los datos en la base de datos persistente. ¿Hay implementaciones en memoria de una base de datos SQL que admita la consulta de datos con sintaxis SQL?


SQLite3 podría funcionar. La interfaz de Python admite la implementación en memoria que ofrece la API C de SQLite3.

De la especificación:

También puede proporcionar el nombre especial: memory: para crear una base de datos en la RAM.

También es relativamente barato con las transacciones, dependiendo de lo que esté haciendo. Para ponerse en marcha, simplemente:

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

Luego puede proceder como si estuviera usando una base de datos regular.

Dependiendo de sus datos, si puede arreglárselas con clave / valor (cadenas, hashes, listas, conjuntos, conjuntos ordenados, etc.), Redis puede ser otra opción para explorar (como mencionó que desea compartir con otros programas).


Supongo que, SQLite3 será la mejor opción entonces.

Si es posible, eche un vistazo a memcached . (Para el par clave-valor, la iluminación es rápida!)

ACTUALIZACIÓN 1:

HSQLDB para SQL como tablas. (sin soporte de python)