10 puntos por xguru 2025-03-13 | 1 comentarios | Compartir por WhatsApp
  • 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

 
zihado 2025-03-13

GOAT.. qué loco