7 puntos por xguru 2025-06-25 | 2 comentarios | Compartir por WhatsApp
  • Una DB clave-valor de alto rendimiento desarrollada en Go, con soporte para interfaz C, que incorpora principios modernos de diseño de bases de datos como árbol LSM, MVCC y estructura lock-free
  • Garantiza consistencia inmediata y durabilidad basada en WAL (Write Ahead Logging), y ofrece alto rendimiento de escritura/lectura mediante flush/compaction en segundo plano y procesamiento paralelo lock-free
  • Apunta a un almacenamiento de datos ligero y rápido con una arquitectura embebida de nodo único, sin red ni distribución

Características principales de Wildcat

  • Basado en árbol LSM, optimizado para cargas de trabajo intensivas en escritura
  • MVCC (control de concurrencia multiversión) y estructuras de datos lock-free para procesamiento sin bloqueos en las rutas principales
  • Registro WAL: guarda el estado completo de las transacciones y permite recuperación
  • Skip list consciente de versiones para acelerar MVCC en memoria
  • Escrituras thread-safe/lock-free y gestión atómica de caché/memoria
  • SSTable con estructura BTree inmutable (immutable), soporte para separación clave-valor y optimización con Bloom Filter
  • Garantía ACID en transacciones y posibilidad de elegir nivel de durabilidad (Full/Partial/None)
  • Crash recovery para recuperar tanto transacciones confirmadas como incompletas
  • Batch/iterators: soporte para rango, prefijo e iteración bidireccional
  • Diseño moderno con Bloom Filter, separación key-value (.klog, .vlog) y compaction consciente de tombstones/versiones
  • Estadísticas/logging/monitorización: ofrece varias interfaces de diagnóstico y estadísticas como Stats() y LogChannel
  • Build como librería C y API: se compila como librería compartida de Go y puede usarse directamente desde varios lenguajes
  • Soporta Go 1.24+ y Linux/macOS/Windows (64 bits)

¿Por qué es importante? (diferencias frente a otros KV embebidos)

  • Tiene una estructura LSM+MVCC similar a RocksDB y Badger, pero con diseño nativo en Go, lock-free y multihilo, optimizado para usabilidad en entornos Go
  • Especializado en DB embebidas: implementa consistencia inmediata/durabilidad/alto rendimiento sin la sobrecarga de red o replicación
  • Alta confiabilidad y transparencia gracias a la recuperación de transacciones y la preservación de estados incompletos
  • Permite ajuste fino según la carga de trabajo mediante diversos parámetros de compaction/buffer/caché

2 comentarios

 
kuber 2025-06-25

Es un lenguaje del que sospechosamente salen muchísimas bases de datos.

 
sjc02183 2025-06-25

Es sospechoso la enorme cantidad de bases de datos que salen de ese lenguaje.