Datenbank
07.05.2025, 09:51 Uhr
EventSourcingDB: Die Datenbank, die sich alle Änderungen merkt
EventSourcingDB bietet Entwicklern eine Lösung, um Event Sourcing umzusetzen - mit integriertem API und Abfragesprache.

(Quelle: https://www.eventsourcingdb.io)
Herkömmliche Datenbanken speichern nur das Ergebnis von Operationen - nicht aber den Weg dorthin. Das machen Datenbanken wie EventSourcingDB anders: Sie speichern jede einzelne Veränderung als Schritt ab. Damit entsteht eine Historie der Daten.
Die auf Event-Sourcing spezialisierte Datenbank soll Performance, Verlässlichkeit und Interoperabilität bieten. Eines der Hauptmerkmale der EventSourcingDB ist die Verwendung des CloudEvents-Standards als Datenmodell. Dies ermöglicht eine nahtlose Interoperabilität mit anderen Event-basierten Systemen. Die Datenbank kommt mit einem HTTP-API, das sowohl JSON als auch NDJSON unterstützt, was Entwicklern ermöglicht, Events effizient zu schreiben und abzufragen.
Ein weiteres herausragendes Merkmal der EventSourcingDB ist der integrierte Subscription-Mechanismus. Damit können Clients einzelne oder rekursive Event-Streams live abonnieren und empfangen neue Ereignisse über eine permanent offene HTTP-Verbindung im NDJSON-Format. Im Vergleich zu bestehenden Lösungen wie Kafka oder NATS, die oftmals nicht für diese spezifischen Anforderungen konzipiert wurden, bietet die EventSourcingDB eine Antwort auf die Herausforderungen des konsistenten Schreibens und der systemweiten Replays.
Der Betrieb der EventSourcingDB gestaltet sich einfach. Die Software wird als statisch gelinktes Binary für gängige Betriebssysteme wie Linux, macOS und Windows (x86 und ARM) bereitgestellt. Alternativ ist auch ein Docker-Image verfügbar, das eine Integration in Kubernetes ermöglicht. Der Einstieg in die Nutzung der Datenbank soll in nur wenigen Minuten gelingen.
Zudem bietet die EventSourcingDB zahlreiche Features - darunter integrierten Snapshot-Support, transaktionales Schreiben mit optimistischem Locking sowie vollständige Auditierbarkeit durch Hashes, die Manipulationen erkennbar machen.
Für Betriebsüberwachung und Administration stehen Endpunkte für Backup, Restore und Health-Checks bereit, die auch im OpenMetrics-Format unterstützt werden, um eine Anbindung an Monitoring-Systeme wie Prometheus zu ermöglichen. Darüber hinaus ist ein grafisches Management-UI Bestandteil des Pakets.
Für Entwickler, die an Analysefunktionen interessiert sind, bietet EventSourcingDB die SQL-ähnliche Abfragesprache EventQL. Damit sind komplexe Auswertungen von Event-Daten möglich. Zudem wird eine integrierte KI-Unterstützung bereitgestellt, die bei der Generierung geeigneter Abfragen hilft. Eine umfassende Dokumentation unterstützt die Nutzer von Anfang an und sorgt für eine reibungslose Integration in bestehende Systeme.
Die EventSourcingDB kann in einer Basisversion kostenfrei genutzt werden, die bis zu 25.000 Events pro Instanz ermöglicht. Für größere Anwendungen ist eine kommerzielle Lizenz verfügbar, die zu einem Preis von 2.500 Euro pro Jahr pro Instanz angeboten wird. Offizielle Client-SDKs für Go, Python und TypeScript sind bereits verfügbar, während SDKs für Java und .NET in Vorbereitung sind und voraussichtlich im Sommer 2025 veröffentlicht werden.