10 Punkte von xguru 2025-03-13 | 1 Kommentare | Auf WhatsApp teilen
  • Echtzeit-Datenbank mit Versionsverwaltung für leichtgewichtige Deployment-Umgebungen
  • Optimiert für Prototyping, Self-Hosting, Single-Tenant-Apps sowie ultraleichte Multi-Tenant-Umgebungen ohne Backend und DB
  • Keine separate Infrastruktur erforderlich → Die komplette DB läuft auf dem Client, Server-Indexierung ist nicht nötig
  • Offline-First-Architektur → Selbst wenn der Server ausfällt, läuft der Client weiter und kann sich später wiederherstellen
  • Edge-Native → Der Großteil der Verarbeitung erfolgt auf dem Client, wodurch die Serverlast minimiert wird
  • Unterstützt Echtzeit-Synchronisierung → Synchronisiert den Status von Client und Server automatisch
    • Beim Initialisieren kann über peers der Speicherort von Replikaten gesetzt werden, wodurch sich Server-Cluster einfach einrichten lassen
    • Unterstützt die Synchronisierung zwischen Servern über ein Synchronisierungsprotokoll; auch mit zusätzlichen Servern ist eine Skalierung ohne Codeänderungen möglich
  • Verwendung von React Hooks
    • Die React Hooks von GoatDB bieten eine vollständige State-Management-Lösung und ermöglichen synchrone (mutable) Statusänderungen
    • Änderungen wie task.set('done', true) werden zum Beispiel sofort im Speicher angewendet, während GoatDB Diffing, Commit in den lokalen Speicher, Server-Synchronisierung und Konfliktauflösung automatisch im Hintergrund verarbeitet
  • Sicherheitsmodell
    • Jeder Knoten verwaltet ein öffentliches/privates Schlüsselpaar, wobei der private Schlüssel niemals nach außen offengelegt wird
    • Alle Commits sind digital signiert, sodass manipulierte Änderungen automatisch abgelehnt werden
    • Über benutzerdefinierte Berechtigungsrichtlinien lässt sich der Datenzugriff steuern
  • Verfahren zur Konfliktauflösung
    • Three-Way Merge: Wenn Änderungen in Konflikt geraten, werden sie automatisch zusammengeführt und bereinigt
    • Fortlaufende ID-Vergabe nach dem Logoot-Verfahren: Verwendet ein eindeutiges Identifikationssystem, um Einfüge-/Löschkonflikte in Daten zu vermeiden

Beispielprojekte

  • Todo → Minimale moderne To-do-Liste für Self-Hosting
  • EdgeChat → Vollständig browserbasierte Oberfläche im ChatGPT-Stil
  • Ovvio → Produktivitätstool, das GoatDB seit 2024 einsetzt

1 Kommentare

 
zihado 2025-03-13

GOAT.. krass