7 ポイント 投稿者 xguru 2025-06-25 | 2件のコメント | WhatsAppで共有
  • Goで開発された高性能なキー・バリューDBで、Cインターフェースをサポートし、LSMツリー、MVCC、lock-free構造など 最新のDB設計原則 を反映
  • WAL(Write Ahead Logging)ベースで 即時一貫性と耐久性 を保証し、バックグラウンドのフラッシュ/コンパクション、lock-free並列処理などにより高い書き込み/読み取り性能を提供
  • シングルノードの組み込み型構造で、ネットワークや分散なしに 軽量かつ高速な データ保存を志向

Wildcatの主な特徴

  • LSMツリー ベースで、書き込み集中型ワークロードに最適化
  • MVCC(マルチバージョン同時実行制御)、lock-freeデータ構造により主要経路をロックなしで処理
  • WALロギング: トランザクション全体の状態記録と復旧をサポート
  • バージョン認識skip list によりインメモリMVCCを高速化
  • スレッドセーフ/lock-free書き込み およびアトミックなキャッシュ/メモリ管理
  • SSTable は不変(immutable)なBTree構造で、キー・バリュー分離とブルームフィルター最適化をサポート
  • トランザクションのACID保証 および耐久性(Full/Partial/None)レベルの選択が可能
  • Crash recovery によりコミット済み/未完了トランザクションの両方を復旧
  • バッチ/イテレーター: 範囲、プレフィックス、双方向反復をサポート
  • Bloom Filter、key-value分離(.klog, .vlog)、tombstone/バージョン認識コンパクションなど最新設計を採用
  • 統計/ロギング/モニタリング: Stats()、LogChannel など多様な診断・統計インターフェースを提供
  • CライブラリのビルドとAPI: Go共有ライブラリとしてビルドでき、さまざまな言語から直接利用可能
  • Go 1.24+ および Linux/macOS/Windows(64ビット)をサポート

なぜ重要なのか?(他の組み込みKVとの違い)

  • RocksDB、Badger などに似たLSM+MVCC構造だが、Goネイティブのlock-free・マルチスレッド設計 によりGo環境で最適化された使い勝手を実現
  • 組み込みDB特化: ネットワーク/レプリケーションのオーバーヘッドなしに 即時一貫性/耐久性/高性能 を実現
  • トランザクション復旧、未完了状態の維持などにより信頼性と透明性が高い
  • 多様なコンパクション/バッファ/キャッシュパラメータ により、ワークロードごとのカスタムチューニングが可能

2件のコメント

 
kuber 2025-06-25

不思議なくらいDBがたくさん出てくる言語

 
sjc02183 2025-06-25

妙にDBがたくさん出てくる言語