DaruDB
Una base de datos embebida que guarda los datos de una aplicación en un único archivo local, con un motor escrito en Rust y un enlace para Node.js encima. Está en una fase temprana de desarrollo y todavía no hay nada publicado, así que por ahora se compila desde el código fuente.
Sobre este proyecto
DaruDB es una base de datos que se ejecuta dentro de la aplicación y no a su lado. No hay servidor que instalar ni que arrancar: un programa abre un archivo, lee y escribe objetos en él y lo cierra. Es el tipo de almacén en el que una aplicación de escritorio, una aplicación móvil o una herramienta de línea de comandos guarda sus propios datos. El motor se escribe una sola vez, en Rust, y los demás lenguajes llegan a él mediante enlaces finos que no añaden comportamiento propio, de modo que un archivo escrito desde Node.js se lee igual desde Rust.
Los datos se declaran como un esquema de colecciones y se leen con consultas construidas en código o escritas como texto, con índices, enlaces entre objetos y migraciones de una versión del esquema a la siguiente. Los resultados son objetos simples, no manejadores atados a la base de datos abierta. Un archivo puede cifrarse y autenticarse página a página con una clave o una contraseña, varios procesos comparten un mismo archivo solo con los bloqueos de archivo del sistema operativo, y una página confirmada nunca se sobrescribe en su sitio, de modo que un fallo deja intacto el último estado confirmado. La comprobación de integridad, la copia de seguridad en caliente, la compactación y el rescate de un archivo dañado vienen con la biblioteca.
DaruDB está en una fase temprana de desarrollo. El crate de Rust y el paquete de Node.js se compilan desde el código fuente en lugar de instalarse, el formato de archivo puede cambiar sin vía de migración hasta la primera versión y hay un paquete de Dart previsto. La velocidad, la durabilidad y la cobertura de plataformas son los objetivos en torno a los que se ha diseñado, y cada uno pasa a ser una afirmación cuando la prueba de rendimiento o la batería de tests que lo demuestra está en el repositorio. El sitio de documentación cubre las guías, el motor y la API en inglés y en coreano.
Características
Sitio de documentación
Tipos de TypeScript
Varios idiomas
Verificado con pruebas
