- Un moteur de synchronisation haute performance qui fonctionne comme un bus de messages pour l’IA et l’edge computing
- Base de données temps réel log-native : conçue pour résoudre les problèmes de cohérence des données et de réactivité en temps réel dans les environnements d’edge AI et d’edge computing
- Combine un moteur de stockage B+Tree et une réplication en streaming basée sur le WAL (Write-Ahead Logging) pour garantir une réplication en moins d’une seconde et une forte cohérence entre des centaines de nœuds
- Architecture multimodèle prenant en charge le stockage Key-Value, Wide-Column et Large Object (LOB)
- Notifications en temps réel basées sur ZeroMQ pour détecter les changements à l’échelle de la milliseconde
- Conception edge-first optimisée pour les architectures local-first
- Prise en charge du multitenancy via l’isolation par espaces de noms
- Différences avec les systèmes existants :
- LMDB/BoltDB sont rapides en stockage local, mais ne permettent pas la réplication
- etcd/Consul offrent une forte cohérence, mais avec des limites de scalabilité
- Kafka/NATS sont performants pour le streaming, mais ne permettent pas les requêtes
- UnisonDB comble cet écart en proposant une architecture unifiée centrée sur le log qui intègre stockage et streaming
- Architecture centrale en 3 couches
- 1. WALFS (Write-Ahead Log File System) – système de fichiers de logs basé sur
mmap, optimisé pour les lectures/écritures à grande échelle
- Structure de logs segmentée, optimisée à la fois pour les écritures séquentielles et les lectures aléatoires
- Prend en charge les lectures zero-copy, la navigation par offset et le tailing en temps réel
- Architecture de lecteurs parallèles permettant à plusieurs nœuds de réplication de lire simultanément
- 2. Engine – stockage hybride combinant WAL, MemTable et B-Tree
- S’appuie sur WALFS pour combiner MemTable (skiplist) et index B-Tree
- Utilise FlatBuffers pour permettre le transfert lors de la réplication sans désérialisation
- Prise en charge des transactions atomiques multi-clés, avec cohérence garantie au niveau du commit
- Les LOB (objets volumineux) peuvent être découpés en chunks et streamés au niveau transactionnel
- Le modèle Wide-Column prend en charge les mises à jour partielles de colonnes et l’extension dynamique du schéma
- 3. Replication – réplication en streaming basée sur le WAL, avec suivi des offsets
- Réplication en streaming basée sur le WAL permettant aux followers de suivre les offsets pour une synchronisation en temps réel
- Utilise des enregistrements de logs FlatBuffer pour conserver une structure de données auto-descriptive
- Met en œuvre un streaming efficace grâce au transfert par lots
- Performances de lecture environ 2 fois supérieures à BoltDB, avec une conception centrée sur la cohérence
- Approche de résolution d’UnisonDB
- La combinaison append-only log + B-Tree offre des écritures rapides et des lectures par plage efficaces
- Prise en charge de la réplication multi-clés basée sur les transactions et de la synchronisation aware des colonnes
- Réplication intégrée via streaming WAL gRPC + snapshot B-Tree
- Architecture sans compaction garantissant une latence prévisible et un débit élevé
- Licence : Apache License 2.0
- Langage de développement : Go
- Cas d’usage adaptés : edge AI, IoT distribué, traitement de données local-first, systèmes d’analyse en temps réel
Aucun commentaire pour le moment.