TigerBeetle とは
TigerBeetle は、これからの 30 年のオンライントランザクション処理(OLTP)を支えるべく、ミッションクリティカルな安全性と性能のために設計された分散型の金融トランザクションデータベースです。Zig で書かれており、厳密直列化と壊れない耐久性を保ちながら、従来のデータベースの 1000 倍の性能を出します。
⚡ TigerBeetle の主な機能
🚀 OLTP が 1000 倍速く
トランザクション処理のために作られており、10 万〜50 万 TPS の処理性能と、読める低い P100 レイテンシを実現します。ロック競合ゼロで、1 クエリに数千件のトランザクションを詰め込めます。
💰 借方・貸方の厳密な整合性
既定で厳密直列化を伴う複式簿記を強制します。すべての借方に等しい貸方が対応することを、例外も但し書きもなくデータベースが保証します。
☁️ マルチクラウドでの高可用性
Viewstamped Replication(VSR)による合意形成で、AWS、GCP、Azure にまたがって同時に動きます。自動フェイルオーバーと柔軟なクォーラムにより、トランザクション処理が途切れません。
🛡️ 壊れない耐久性
エンドツーエンドの 128 ビットチェックサムとプロトコルを理解した復旧機構を備えた、複製済みの先行書き込みログ。ディスクの破損、誤った I/O、さらには螺旋状の障害注入にも耐えます。
🎯 統一されたスキーマ
勘定と振替からなる借方 / 貸方モデルは、銀行からゲーム、エネルギーまで、あらゆる領域の価値のやり取りを表せる、最小にして十分なスキーマです。
🔬 徹底したエンジニアリング
TigerStyle の手法は、NASA の Power of 10 ルールを静的確保と 6,000 を超えるアサーションで実践します。決定的シミュレーションによるテストは、24 時間ごとに 2000 年分の障害を走らせます。
📊 性能ベンチマーク
- 10 万〜50 万 TPS: 競合率 90% でも持続する処理性能
- P100 レイテンシ 100ms: ピーク時でもテールレイテンシが読める
- 1000 億件超のトランザクション: 階層ストレージにより、ひとつのクラスタで数十億件を保持
- 10 億超のアカウント: 20 以上のインデックスを持ちながら数十億アカウントまでスケール
- 6 レプリカ: 分割せずに複製し、整合性を最大化
apt upgrade を実行するだけで、常に最新版を使い続けられます。
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。TigerBeetle は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
ステップ 2: TigerBeetle をインストールする
# 最新の TigerBeetle をインストール
sudo apt install tigerbeetle
# インストールを確認
tigerbeetle version# 最新の TigerBeetle をインストール
apt install tigerbeetle
# インストールを確認
tigerbeetle version🎯 クイックスタートの例
TigerBeetle クラスタを作って起動する:
# レプリカ 0 用にデータファイルを初期化
tigerbeetle format --cluster=0 --replica=0 --replica-count=1 0_0.tigerbeetle
# レプリカを起動
tigerbeetle start --addresses=3000 0_0.tigerbeetleNode.js クライアントでの基本的な使い方:
const { createClient } = require('tigerbeetle-node');
const client = createClient({
cluster_id: 0n,
replica_addresses: ['3000']
});
// 勘定を作る
const accounts = [{
id: 1n,
ledger: 1,
code: 1,
flags: 0,
}];
await client.createAccounts(accounts);
// 振替を作る
const transfers = [{
id: 1n,
debit_account_id: 1n,
credit_account_id: 2n,
amount: 100n,
ledger: 1,
code: 1,
}];
await client.createTransfers(transfers);🚀 deb.griffo.io を選ぶ理由
- 公式 Ubuntu: TigerBeetle は公式リポジトリにありません
- 手動ダウンロード: 毎週のリリースを手で追いかけることに
- Docker のみ: コンテナ環境でしか使えません
- deb.griffo.io: 最新版を自動更新でお届け
- ✅ 最新の性能: 最新の最適化と新機能を、すぐに
- ✅ 毎週の更新: 上流のリリースから数時間以内にパッケージを更新
- ✅ ネイティブに導入: Docker は不要、Ubuntu 上で直接動きます
- ✅ 本番運用に耐える: Apache 2.0 ライセンスで、実績も十分
- ✅ マルチディストリビューション: Jammy と Noble で動作
- ✅ 手間のかからない運用: 更新は通常の apt コマンドだけ
📦 パッケージのビルドリポジトリ
Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 🐯 tigerbeetle-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- Zig プログラミング言語 - TigerBeetle は Zig で書かれています
- ZLS 言語サーバー - Zig 開発のために
- lazydocker - Docker の管理ツール