A key-value database
A storage engine with a WAL, indexes and compaction. Understand how and when your data is persisted.
Go · Rust
Construye un índice vectorial con búsqueda exacta, filtros y un grafo HNSW simplificado.
Build it in your language
The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.
La búsqueda vectorial recupera elementos por cercanía matemática en vez de coincidencia textual. Aquí construirás el motor que hay debajo de muchos sistemas de recuperación semántica.
El programa recibirá comandos NDJSON, conservará vectores identificados y responderá consultas con orden determinista. Primero establecerás la referencia exacta y después construirás un índice aproximado medible.
5 stages across 3 phases. Every stage comes with its guide and its tests: you move on when they pass.
Define el almacén, las métricas y una búsqueda exhaustiva confiable.
Añade filtros, reemplazos y reglas deterministas de consulta.
Construye y evalúa un grafo HNSW simplificado para acelerar la recuperación.
A storage engine with a WAL, indexes and compaction. Understand how and when your data is persisted.
Go · Rust
Implement the RESP protocol, an event loop and key expiry. A real server that talks to redis-cli.
Go · Rust · Python
Open a real .db, walk its B-trees and run SELECTs. Reverse engineering of a documented binary format.
Go · Python · Java