PickleDB: base de datos ligera en Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción

PickleDB es una base de datos ligera de tipo clave-valor, escrita en Python puro y que no requiere instalar servidores adicionales ni dependencias. Esta biblioteca ofrece una solución simple para almacenar pequeños volúmenes de datos en formato JSON, lo que la convierte en la elección ideal para prototipos rápidos, utilidades CLI, archivos de configuración y microproyectos.

La principal ventaja de PickleDB es su facilidad de uso, manteniendo la funcionalidad suficiente para resolver una amplia gama de tareas de almacenamiento de datos. La biblioteca admite varios tipos de datos: cadenas, números, listas, diccionarios y valores booleanos.

¿Qué es PickleDB y dónde se usa?

PickleDB es una base de datos NoSQL que almacena datos como pares clave-valor en un archivo JSON. La biblioteca se creó como alternativa para casos donde usar sistemas de bases de datos completos como PostgreSQL o MySQL resulta excesivo.

Los principales casos de uso de PickleDB incluyen:

  • Almacenamiento de configuraciones y ajustes de usuario
  • Caché de resultados intermedios de cálculos
  • Guardado de tokens de autorización y claves API
  • Registro de logs simples y contadores
  • Creación de prototipos rápidos con persistencia de datos
  • Desarrollo de aplicaciones CLI con almacenamiento local

Instalación y configuración inicial

Para instalar PickleDB se usa el gestor de paquetes estándar de Python:

pip install pickledb

Una vez instalada, la biblioteca está lista para usarse sin configuración adicional:

import pickledb

# Crear o conectar a una base de datos
db = pickledb.load('database.db', auto_dump=True)

El parámetro auto_dump=True garantiza el guardado automático de todos los cambios en el archivo, asegurando la integridad de los datos incluso si el programa finaliza inesperadamente.

Arquitectura y principios de funcionamiento

Estructura de almacenamiento de datos

PickleDB usa JSON como formato de almacenamiento, lo que garantiza la legibilidad de los datos y su portabilidad entre diferentes sistemas. El archivo de la base de datos es un documento JSON común con la siguiente estructura:

{
  "simple_key": "valor de cadena",
  "numeric_key": 42,
  "boolean_key": true,
  "list_key": ["elemento1", "elemento2", "elemento3"],
  "dict_key": {
    "nested_field": "valor anidado",
    "nested_number": 100
  }
}

Mecanismo de guardado

Al trabajar con PickleDB, todos los datos se cargan en memoria al inicializar la base. Los cambios se aplican al objeto en memoria y luego, según la configuración, se guardan en el archivo:

  • Con auto_dump=True — el guardado ocurre después de cada operación de escritura
  • Con auto_dump=False — se requiere llamar manualmente al método dump()

Referencia completa de métodos y funciones de PickleDB

Métodos principales para trabajar con datos

Método Descripción Ejemplo de uso
set(key, value) Guarda un valor con una clave db.set('nombre', 'Juan')
get(key) Obtiene el valor de una clave nombre = db.get('nombre')
exists(key) Verifica si una clave existe if db.exists('nombre'):
rem(key) Elimina una clave y su valor db.rem('nombre')
getall() Devuelve todas las claves claves = db.getall()
totalkeys() Devuelve la cantidad de claves cantidad = db.totalkeys()

Recommendations