16 points par xguru 2025-11-20 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • 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.

Aucun commentaire pour le moment.