Repolode
dgraph-io

dgraph-io/badger

純粋なGoで書かれた組み込み可能な永続キーバリューデータベース。ACIDトランザクションに対応し、SSD向けに設計されています。

スター
15,786
フォーク
1,334
未解決の Issue
76
最終コミット
昨日

これは何?

BadgerDBは、すべてGoで書かれた組み込み可能な永続キーバリューストアです。独立したサーバーとしてではなくアプリケーションのプロセス内で動作し、グラフデータベースDgraphのストレージエンジンとしても使われています。

Badgerは、値をキーのインデックスから分離してSSDでの書き込み増幅を抑えるWiscKey設計に基づき、値ログを独立させたLSMツリーを採用しています。シリアライズ可能なスナップショット分離を備えた並行ACIDトランザクション、プレフィックス検索やキー範囲スキャンに対応したイテレーター、キーごとのバージョン管理、TTLをサポートします。Cgoに依存しないため、標準のGoツールチェーンでビルドできます。

オフラインでのバックアップや復元などに使えるCLIも付属しており、Goモジュールとしてgithub.com/dgraph-io/badger/v4から利用できます。

主な機能

  • 01Cgoに依存せず、純粋なGoで書かれた組み込み可能なキーバリューストア。
  • 02シリアライズ可能なスナップショット分離に対応した並行ACIDトランザクション。
  • 03値ログを使ってキーと値を分離し、SSDでの書き込み増幅を抑制。
  • 04プレフィックス検索やキー範囲スキャンに対応したイテレーターと、キーごとの複数バージョンへのアクセス。
  • 05キーを自動的に期限切れにするTTL機能。
  • 06オフラインでのバックアップと復元に使えるコマンドラインツール。

ユースケース

  • GoのサービスやCLIツールに、高速なローカル永続ストアを組み込む。
  • 分散システムやグラフデータベースのストレージ層として利用する。
  • GoアプリケーションでRaftログやメタデータストアを構築する。
  • 読み書きのスループットが重要なSSD上で、大規模なデータセットを保存する。

クイックスタート

  1. 1

    Goプロジェクトにライブラリをインストールする

    go get github.com/dgraph-io/badger/v4
  2. 2

    チェックアウトしたリポジトリからBadgerコマンドラインツールをインストールする

    cd badger go install .

使う前に知っておきたいこと

  • Go 1.23以降が必要です。

トピック

よくある質問

badger とは?
純粋なGoで書かれた組み込み可能な永続キーバリューデータベース。ACIDトランザクションに対応し、SSD向けに設計されています。 BadgerDBは、すべてGoで書かれた組み込み可能な永続キーバリューストアです。独立したサーバーとしてではなくアプリケーションのプロセス内で動作し、グラフデータベースDgraphのストレージエンジンとしても使われています。
badger は無料で使えますか?ライセンスは?
badger は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
badger は今もメンテナンスされていますか?
活発にメンテナンス中。badger の最終コミットは 2026年10月20日 です。
badger は何に使えますか?
GoのサービスやCLIツールに、高速なローカル永続ストアを組み込む。 分散システムやグラフデータベースのストレージ層として利用する。 GoアプリケーションでRaftログやメタデータストアを構築する。 読み書きのスループットが重要なSSD上で、大規模なデータセットを保存する。
badger のインストール方法は?
Goプロジェクトにライブラリをインストールする: go get github.com/dgraph-io/badger/v4 チェックアウトしたリポジトリからBadgerコマンドラインツールをインストールする: cd badger go install .
badger はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dgraph-io/badger

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト