- AIとEdgeコンピューティングのためのメッセージバスのように動作する高性能同期エンジン
- ログネイティブ(log-native)なリアルタイムデータベース: エッジAIとエッジコンピューティング環境におけるデータ整合性とリアルタイム応答性の問題を解決するために設計
- B+TreeストレージエンジンとWAL(Write-Ahead Logging)ベースのストリーミングレプリケーションを組み合わせ、数百ノード間でのサブ秒レベルの複製と強い整合性を保証
- マルチモデル構造でKey-Value、Wide-Column、Large Object(LOB)ストレージをサポート
- ZeroMQベースのリアルタイム通知により、ミリ秒単位の変更検知を提供
- Edge-First設計により、ローカルファーストアーキテクチャに最適化
- 名前空間分離によるマルチテナンシーをサポート
- 既存システムとの違い:
- LMDB/BoltDBは高速なローカルストレージだが、レプリケーションは不可
- etcd/Consulは整合性は高いが、スケーラビリティに制限がある
- Kafka/NATSはストリーミングに強いが、クエリは不可
- UnisonDBはこのギャップを埋め、ストレージとストリーミングを統合した単一のログ中心構造を提供
- 中核アーキテクチャの3層構造
- 1. WALFS(Write-Ahead Log File System) – mmapベースのログファイルシステム。大規模な読み書きに最適化
- セグメント単位のログ構造により、シーケンシャル書き込みとランダム読み取りの両方を最適化
- ゼロコピー読み取り、オフセットベースの探索、リアルタイムtailingをサポート
- 複数のレプリカノードが同時に読み取れる並列リーダー構造
- 2. Engine – WAL、MemTable、B-Treeを組み合わせたハイブリッドストレージ
- WALFSを基盤にMemTable(スキップリスト)とB-Treeインデックスを組み合わせ
- FlatBuffersを使用し、レプリケーション時にデシリアライズなしで転送可能
- 原子的なマルチキー・トランザクションをサポートし、コミット単位で整合性を保証
- **LOB(大容量オブジェクト)**をトランザクション単位でチャンク処理・ストリーミング可能
- Wide-Columnモデルにより、部分カラム更新と動的スキーマ拡張をサポート
- 3. Replication – WALベースのストリーミングレプリケーション。オフセット追跡機能を含む
- WALベースのストリーミングレプリケーションにより、フォロワーがオフセットを追跡しながらリアルタイム同期
- FlatBufferログレコードを使用し、自己記述型のデータ構造を維持
- バッチ転送により効率的なストリーミングを実現
- BoltDB比で約2倍高速な読み取り性能、整合性重視の設計
- UnisonDBの解決アプローチ
- Append-onlyログ + B-Treeの組み合わせにより、高速書き込みと効率的な範囲読み取りを提供
- トランザクションベースのマルチキー・レプリケーションおよびカラム認識同期をサポート
- gRPC WALストリーミング + B-Treeスナップショットによる内蔵レプリケーションを実行
- compactionのない構造により、予測可能なレイテンシと高スループットを確保
- ライセンス: Apache License 2.0
- 開発言語: Go
- 適した活用分野: エッジAI、分散IoT、ローカルファーストなデータ処理、リアルタイム分析システム
まだコメントはありません。