Una base de datos SQL en proceso, escrita en Rust y compatible con el dialecto, el formato de archivo y la API de C de SQLite, con un frontend experimental para Postgres.
tursodatabase/libsql
Fork de SQLite de código abierto y con contribuciones abiertas, que añade réplicas integradas, un modo de servidor remoto y extensiones al núcleo de SQLite.
- Estrellas
- 17,280
- Forks
- 547
- Issues abiertos
- 466
- Último commit
- hace 5 días
¿Qué es?
libSQL es un fork de SQLite mantenido por Turso. Conserva la API y el formato de archivo de SQLite, por lo que se pueden usar con él bases de datos y código existentes de SQLite, y añade capacidades para casos de uso para los que SQLite no se diseñó originalmente.
Las principales incorporaciones son las réplicas integradas, que mantienen una copia replicada de una base de datos dentro de una aplicación, y libSQL server, que permite el acceso remoto a SQLite de forma similar a PostgreSQL o MySQL. El núcleo también incluye una extensión de ALTER TABLE para cambiar tipos y restricciones de columnas, funciones definidas por el usuario en WebAssembly, ROWIDs aleatorios y una interfaz de registro de escritura anticipada virtual.
El proyecto acepta contribuciones externas, algo que sus responsables señalan como la principal diferencia con SQLite upstream. Ofrece drivers para TypeScript/JavaScript, Rust, Go y otros lenguajes, además de una shell de línea de comandos compatible con SQLite. El README indica que la reescritura independiente de Turso en Rust es donde se están desarrollando nuevas funcionalidades.
Funciones clave
- 01Réplicas integradas que mantienen una base de datos replicada dentro de la aplicación
- 02libSQL server para acceder a SQLite de forma remota
- 03Extensión de ALTER TABLE para cambiar tipos y restricciones de columnas
- 04Funciones definidas por el usuario en WebAssembly
- 05Drivers oficiales para TypeScript/JavaScript, Rust y Go
Casos de uso
- Ejecutar almacenamiento compatible con SQLite con acceso remoto a través de una red
- Mantener una copia local y replicada de una base de datos dentro de una aplicación de edge o cliente
- Añadir funciones de WebAssembly a aplicaciones basadas en SQLite
Inicio rápido
- 1
Compila la biblioteca C compatible con SQLite y sus herramientas
cargo xtask build - 2
Inicia el shell SQL desde el directorio libsql-sqlite3
cd libsql-sqlite3 && ./libsql
Antes de usarlo
- Hereda el modelo de escritor único de SQLite, por lo que no admite escrituras simultáneas.
- El README recomienda usar Turso en su lugar para proyectos nuevos, ya que allí se están desarrollando las nuevas funciones.
Temas
Preguntas frecuentes
- ¿Qué es libsql?
- Fork de SQLite de código abierto y con contribuciones abiertas, que añade réplicas integradas, un modo de servidor remoto y extensiones al núcleo de SQLite. libSQL es un fork de SQLite mantenido por Turso. Conserva la API y el formato de archivo de SQLite, por lo que se pueden usar con él bases de datos y código existentes de SQLite, y añade capacidades para casos de uso para los que SQLite no se diseñó originalmente.
- ¿libsql es gratuito? ¿Qué licencia tiene?
- libsql es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿libsql sigue mantenido?
- Mantenimiento activo. El último commit de libsql fue el 17 oct 2026.
- ¿Para qué puedo usar libsql?
- Ejecutar almacenamiento compatible con SQLite con acceso remoto a través de una red Mantener una copia local y replicada de una base de datos dentro de una aplicación de edge o cliente Añadir funciones de WebAssembly a aplicaciones basadas en SQLite
- ¿Cómo se instala libsql?
- Compila la biblioteca C compatible con SQLite y sus herramientas: cargo xtask build Inicia el shell SQL desde el directorio libsql-sqlite3: cd libsql-sqlite3 && ./libsql
- ¿Dónde consigo libsql?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tursodatabase/libsql
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un ORM y generador de consultas seguro y extensible para Rust, que valida las consultas en tiempo de compilación con PostgreSQL, MySQL, SQLite y MariaDB.
Base de datos de grafos de código abierto escrita en Rust que almacena datos de grafos, vectores y texto completo en almacenamiento de objetos, y permite consultarlos desde Rust, TypeScript, Go y Python.
Una base de datos multimodelo escrita en Rust que combina datos documentales, de grafos, relacionales, de series temporales y clave-valor, con consultas en tiempo real y control de acceso integrado.
Herramienta visual gratuita y multiplataforma para crear, explorar, editar y consultar archivos de bases de datos SQLite sin escribir SQL.
Base de datos relacional distribuida, ligera y tolerante a fallos, basada en SQLite y replicada entre nodos mediante consenso Raft.