El motor documental en el núcleo de OxiDB: consultas y agregación al estilo de MongoDB, índices y el planificador, almacenamiento disk-first, el WAL, transacciones OCC y snapshots de lectura, con cada ejemplo ejecutado contra un servidor real.
$ ls tags/oxidb
#oxidb
12 artículos
La capa de búsqueda de OxiDB: ranking BM25, stemming con Snowball en 18 idiomas con ejemplos en turco, fragmentos resaltados, búsqueda dentro de archivos PDF/DOCX/XLSX, un inverted index con mmap, k-NN con HNSW y mediciones reales de recall.
Cómo incorporé consultas geoespaciales y etapas de grafos al motor de documentos de OxiDB, con lugares reales de Estambul y una pequeña red de vuelos: un índice geohash generoso pero nunca equivocado, BFS y Dijkstra perezoso.
Añadí a OxiDB un segundo motor junto al documental, con su propio WAL y sus propios archivos: restricciones que se aplican, CTE, funciones de ventana, procedimientos almacenados en bytecode de Cobra, psql/psycopg sin modificar y EF Core.
A fondo: oxidb-tsdb, el motor de series temporales de OxiDB: la compresión Gorilla bit a bit, campos tipados, line protocol, agregaciones, rollups continuos con marca de agua, copias de seguridad con bloqueo mínimo y tasas de compresión reales medidas con mis propios datos de sensores.
Construí dentro de OxiDB una capa clave-valor que habla RESP: cinco tipos de datos, TTL, pub/sub, WATCH, Lua y snapshots. Sesiones reales con redis-cli y redis-py, mediciones frente a Redis 8.6 y los límites honestos.
Almacenamiento de objetos compatible con S3 en OxiDB: aws-cli y boto3 se conectan sin modificaciones
La capa S3 de OxiDB: multipart, lecturas de rango y condicionales, SSE-S3/SSE-C, SigV4 y URL prefirmadas, expiración por ciclo de vida, cómo se guardan los blobs en disco y búsqueda de texto completo dentro de los archivos subidos. Todo con sesiones reales.
Los brokers MQTT 3.1.1 y AMQP 0-9-1 dentro de OxiDB: QoS 1/2 honestos, sesiones y colas durables que sobreviven a kill -9, ingesta de MQTT a colecciones y un worker AMQP que consume las publicaciones MQTT de un sensor.
El motor de logs de OxiDB: ingesta de GELF y MessagePack por UDP, reensamblado de fragmentos, indexación dinámica por campo, retención por colección, alertas por umbral con webhooks y oxidb-tail. Probado con paquetes reales, defectos incluidos.
El crate oxidb-ledger que escribí para los journals de un exchange: registros fijos de 40 bytes, secuencias asignadas por el motor, segmentos con mmap, retención borrando archivos y fsync por stream. Con mediciones reales y dos bugs que encontré.
oxidb-rec, el cuarto motor de OxiDB: convierte las cestas en contadores a medida que llegan y puntúa "los clientes que compraron esto también compraron" con la LLR de Dunning. Buckets de tiempo, LLR a mano, la estructura en disco y pruebas con 12k pedidos en un servidor real.
Un breve vistazo a cómo está construido este blog con mis propias herramientas: un servidor escrito en Rill, la base de datos OxiDB de cuatro motores y la interfaz zap.










