inro

La base de datos que cabe en el estuche.

inro es un motor embebido clave-valor en Rust puro, construido en torno a un único criterio dominante: el menor consumo posible de disco, RAM y CPU.

Del japonés 印籠 — el pequeño estuche perfectamente ajustado que guardaba un sello y su tinta, llevado en el cinturón, con todo lo esencial en el menor espacio posible.

Arkeion — el sistema de registro

Optimiza para auditabilidad, versionado y potencia de consulta. Viaje en el tiempo, ramas, SQL, texto completo y vectores.

inro — el almacén local

Optimiza para la huella. Renuncia a SQL, al viaje en el tiempo y a las ramas para conseguirlo. Miles de instancias por proceso, o un nodo con megabytes de RAM.

Coexisten. Arkeion es donde vive el registro; inro es donde escribe el nodo.

Medidas, no proyectadas — las fases 1 y 2 están cerradas. Cada cifra la fija un banco de pruebas del repositorio.

  • 1.536 B — una base de datos recién creada; el objetivo eran menos de 2 KB

  • 34,14 B — por entrada de registro de 16 campos en disco; el objetivo eran 40 o menos

  • 19,7 KB — RAM por base de datos abierta; el objetivo eran menos de 32 KB

  • 4 lecturas — para abrir una base de datos, las mismas a 30 KB que a 2 GB

Edge e IoT

Unos pocos megabytes de RAM, CPU lentas, memoria flash con resistencia de escritura limitada, conjuntos de datos por debajo de 100 MB, un único proceso.

Servidores multiinquilino

Miles de bases de datos diminutas abiertas a la vez, una por inquilino, donde la RAM por base de datos abierta es el coste dominante.

Construido para los nodos edge de quota.

Cada nodo de quota mantiene su propia fila, un registro por solicitud con 16 campos, y un agregado mensual — con una ventana de retención deslizante de dos a catorce días. Miles de nodos, una base de datos cada uno: exactamente el caso en que la RAM por base de datos abierta y el coste de la poda deciden la factura.

Por qué inro

Nombre reservado. Las fases 1 y 2 están cerradas y medidas; el motor funciona y sus números están en el repositorio. El crate todavía no está publicado, y el paso siguiente no es otra fase del motor: es correr bajo el edge de quota.

MIT o Apache-2.0, a tu elección.