- 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
GOAT.. krass