SQLite

De CiberWiki

SQLite

SQLite es un sistema de gestión de bases de datos relacional (RDBMS) ligero, embebido y sin servidor, implementado como una biblioteca en C. Fue creado por D. Richard Hipp en el año 2000 y es de dominio público.

A diferencia de otros motores como MySQL o PostgreSQL, SQLite no utiliza arquitectura cliente-servidor, sino que funciona directamente dentro de la aplicación que lo usa.

Características

  • Sin servidor (serverless): no requiere instalación ni configuración de un servicio.
  • Archivo único: la base de datos completa se almacena en un solo archivo.
  • Ligero: tamaño muy reducido.
  • Portable: funciona en múltiples sistemas operativos sin cambios.
  • ACID: garantiza atomicidad, consistencia, aislamiento y durabilidad.
  • Embebido: se integra directamente en la aplicación.
  • Transaccional: soporta transacciones completas.
  • Multiplataforma: Windows, Linux, macOS, Android, iOS.

Arquitectura

SQLite no sigue el modelo cliente-servidor:

  • La aplicación accede directamente al archivo de base de datos.
  • No hay procesos en segundo plano.
  • Todo se maneja mediante llamadas a la biblioteca SQLite.

Funcionamiento

SQLite ejecuta sentencias SQL estándar sobre un archivo local.

Operaciones principales:

  • CREATE
  • INSERT
  • SELECT
  • UPDATE
  • DELETE

Ejemplo:

<syntaxhighlight lang="sql"> CREATE TABLE usuarios (

   id INTEGER PRIMARY KEY,
   nombre TEXT,
   edad INTEGER

);

INSERT INTO usuarios (nombre, edad) VALUES ('Juan', 25);

SELECT * FROM usuarios; </syntaxhighlight>

Tipos de datos

SQLite usa tipado dinámico. Tipos principales:

  • NULL
  • INTEGER
  • REAL
  • TEXT
  • BLOB

Ventajas

  • No requiere instalación
  • Muy rápido en local
  • Bajo consumo de recursos
  • Fácil de transportar
  • Ideal para apps pequeñas o embebidas

Desventajas

  • Concurrencia limitada
  • No escala bien a sistemas grandes
  • Sin gestión avanzada de usuarios
  • Bloqueo de escritura a nivel de archivo

Casos de uso

  • Aplicaciones móviles
  • Software de escritorio
  • Sistemas embebidos / IoT
  • Navegadores
  • Prototipos

Comparación

Característica SQLite PostgreSQL / MySQL
Arquitectura Embebida Cliente-servidor
Instalación No Sí
Escalabilidad Baja Alta
Concurrencia Limitada Alta

Comandos útiles

  • .open archivo.db
  • .tables
  • .schema
  • .exit

Seguridad

SQLite no tiene autenticación interna. Depende de:

  • Permisos del sistema operativo
  • Encriptación externa (ej: SQLCipher)

Licencia

Dominio público. Uso libre sin restricciones.