- Eine leistungsstarke Synchronisations-Engine, die wie ein Message Bus für AI und Edge Computing arbeitet
- Log-native Echtzeit-Datenbank: Entwickelt, um die Probleme von Datenkonsistenz und Echtzeit-Reaktionsfähigkeit in Edge-AI- und Edge-Computing-Umgebungen zu lösen
- Kombiniert eine B+Tree-Storage-Engine mit streamingbasierter Replikation auf Basis von WAL (Write-Ahead Logging) und gewährleistet so Replikation im Subsekundenbereich und starke Konsistenz zwischen Hunderten von Nodes
- Multimodell-Struktur mit Unterstützung für Key-Value-, Wide-Column- und Large-Object-(LOB)-Speicherung
- Echtzeit-Benachrichtigungen auf Basis von ZeroMQ zur Erkennung von Änderungen im Millisekundenbereich
- Edge-First-Design, optimiert für Local-First-Architekturen
- Unterstützung für Multitenancy durch Namespace-Isolation
- Unterschiede zu bestehenden Systemen:
- LMDB/BoltDB sind schnelle lokale Speicher, unterstützen aber keine Replikation
- etcd/Consul bieten hohe Konsistenz, sind aber in der Skalierbarkeit begrenzt
- Kafka/NATS sind stark beim Streaming, unterstützen aber keine Abfragen
- UnisonDB schließt diese Lücke und bietet eine einheitliche log-zentrierte Architektur, die Speicherung und Streaming integriert
- Kernarchitektur mit 3 Schichten
- 1. WALFS (Write-Ahead Log File System) – mmap-basiertes Log-Dateisystem, optimiert für umfangreiche Lese-/Schreibvorgänge
- Segmentbasierte Log-Struktur, die sowohl sequenzielle Schreibvorgänge als auch zufällige Lesezugriffe optimiert
- Unterstützt Zero-Copy-Reads, offsetbasierte Suche und Echtzeit-Tailing
- Parallele Reader-Struktur, bei der mehrere Replikations-Nodes gleichzeitig lesen können
- 2. Engine – hybrider Storage, der WAL, MemTable und B-Tree kombiniert
- Kombiniert auf Basis von WALFS MemTable (Skip List) und B-Tree-Index
- Verwendet FlatBuffers, sodass Daten bei der Replikation ohne Deserialisierung übertragen werden können
- Unterstützt atomare Multi-Key-Transaktionen und gewährleistet Konsistenz auf Commit-Ebene
- LOBs (Large Objects) können auf Transaktionsebene in Chunks verarbeitet und gestreamt werden
- Das Wide-Column-Modell unterstützt partielle Spalten-Updates und dynamische Schema-Erweiterung
- 3. Replikation – WAL-basierte Streaming-Replikation mit Offset-Tracking
- WAL-basierte Streaming-Replikation, bei der Follower Offsets verfolgen und in Echtzeit synchronisieren
- Verwendet FlatBuffer-Log-Records, um selbstbeschreibende Datenstrukturen beizubehalten
- Batch-Übertragung für effizientes Streaming
- Etwa doppelt so schnelle Leseleistung wie BoltDB, bei konsistenzorientiertem Design
- So löst UnisonDB die Aufgabe
- Die Kombination aus Append-only-Log + B-Tree ermöglicht schnelles Schreiben und effiziente Range-Reads
- Unterstützt transaktionsbasierte Multi-Key-Replikation und spaltenbewusste Synchronisation
- Führt integrierte Replikation über gRPC-WAL-Streaming + B-Tree-Snapshots aus
- Eine Architektur ohne Compaction sorgt für vorhersehbare Latenzen und hohen Durchsatz
- Lizenz: Apache License 2.0
- Programmiersprache: Go
- Geeignete Einsatzbereiche: Edge AI, verteiltes IoT, Local-First-Datenverarbeitung, Echtzeit-Analysesysteme
Noch keine Kommentare.