- Base de datos con control de versiones en tiempo real para entornos de despliegue ligeros
- Optimizado para prototipado, self-hosting, aplicaciones single-tenant y entornos multi-tenant ultraligeros sin backend ni DB
- No requiere infraestructura separada → toda la DB se ejecuta en el cliente y no necesita indexación en el servidor
- Arquitectura offline-first → aunque el servidor se caiga, puede seguir funcionando en el cliente y recuperarse
- Edge-native → realiza la mayor parte del procesamiento en el cliente para minimizar la carga del servidor
- Soporte de sincronización en tiempo real → sincroniza automáticamente el estado del cliente y del servidor
- Al inicializar, puedes configurar la ubicación de las réplicas en
peers para montar fácilmente un clúster de servidores
- Soporta sincronización entre servidores mediante el protocolo de sincronización y puede escalar agregando varios servidores sin cambios de código
- Uso de React Hooks
- Los React Hooks de GoatDB ofrecen una solución completa de manejo de estado y permiten modificaciones de estado síncronas (mutables)
- Por ejemplo, cambios como
task.set('done', true) se reflejan de inmediato en memoria, y GoatDB se encarga automáticamente en segundo plano del cálculo de diferencias (diffing), commit al almacenamiento local, sincronización con el servidor y resolución de conflictos
- Modelo de seguridad
- Cada nodo mantiene un par de claves pública/privada, y la clave privada nunca se expone al exterior
- Todos los commits se firman digitalmente, rechazando automáticamente los cambios manipulados
- Es posible controlar el acceso a los datos mediante políticas de permisos personalizadas
- Método de resolución de conflictos
- Three-Way Merge: cuando hay conflictos entre cambios, los fusiona automáticamente para resolverlos
- Asignación continua de IDs al estilo Logoot: aplica un sistema de identificadores únicos para evitar conflictos de inserción/eliminación en los datos
Proyectos de ejemplo
- Todo → una lista de tareas moderna y mínima para self-hosting
- EdgeChat → interfaz completa estilo ChatGPT basada totalmente en el navegador
- Ovvio → herramienta de productividad que usa GoatDB desde 2024
1 comentarios
GOAT.. qué loco