★ LANGUAGE 本籍 ★ DEVICE I/O 併載
SlimeTree-VSAM
VSAM workload を、VSAM のままモダナイズ。
VSAM (KSDS / ESDS / RRDS) 互換ネイティブストレージを Rust 単体バイナリで実装。PostgreSQL に乗換えると VSAM workload は構造的に 480 倍遅化(SQL planner + 2-hop B+tree + MVCC オーバーヘッド) ― 同ホスト bench で sequential cursor 480 倍速・random key 267 倍速、10 億件夜間バッチ PostgreSQL 19.5 時間 → SlimeTree-VSAM 4.4 分(= IBM z/OS VSAM と同オーダー)。SHA-256 audit chain 内蔵で air-gap 環境でも改竄検知。
ベンチ実証済 メインフレーム DB ネイティブ
何をするものか
SlimeTree-VSAM は、メインフレーム時代の VSAM (Virtual Storage Access Method) ― KSDS(キー順)・ESDS(到着順)・RRDS(相対レコード)― の 3 つのアクセス方式と互換のネイティブストレージを、Rust 単体バイナリで提供します。COBOL レガシーを Java/Rust 等に移植しても、DB 側だけ PostgreSQL に置き換えると夜間バッチ window が崩壊する ― 金融基幹で起こり続けている現実問題への、ピンポイントな解です。
主要諸元
| 互換アクセス方式 | VSAM KSDS / ESDS / RRDS(キー順 / 到着順 / 相対レコード) |
|---|---|
| 実装 | Rust 単体バイナリ、決定論的動作 |
| 速度 (sequential) | PostgreSQL 16 比 per-access 480 倍速(sequential cursor、同ホスト bench) |
| 速度 (random) | PostgreSQL 16 比 267 倍速(random key access) |
| 夜間バッチ例 | 10 億件: PostgreSQL 19.5 時間 → SlimeTree-VSAM 4.4 分 |
| 監査 | SHA-256 audit chain 内蔵、air-gap 環境で改竄検知成立 |
| 連携 | SlimeCOBOL Phase D emit の drop-in DB target(COBOL 移植先 DB) |
| 所属 | Slime ストレージファミリ / LANGUAGE primary + DEVICE 併載 |
mainframe storage との位置関係 (参考値)
PostgreSQL 比 480x は「PostgreSQL が VSAM workload で構造的に遅い」事実の数値化。SlimeTree-VSAM 単体の絶対性能を IBM z/OS VSAM と並べると以下の order (公開情報 + commodity NVMe 仕様から算出):
| 項目 | IBM z/OS VSAM (公開 range) | SlimeTree-VSAM (commodity NVMe + Rust) | PostgreSQL (参考) |
|---|---|---|---|
| random read latency | 17-22 μs (DS8900F + zHyperLink ベスト) 100-200 μs (zHPF cache hit) ~ms (cache miss + DASD) |
5-30 μs (in-process Rust + NVMe cache) 50-100 μs (NVMe direct) |
0.1-2 ms (= 100-2,000 μs、planner + 2-hop index + MVCC) |
| sequential bandwidth | ~1 GB/s (single DASD) 20 GB/s (現行 TS7700 aggregate) |
2-7 GB/s/drive (PCIe-4/5 NVMe、RAID で拡張) | (planner / tuple decode で大幅減衰) |
| 10億件 batch (実測) | workload 依存 (典型 数分〜数十分) | 4.4 分 (同ホスト bench、= IBM 同オーダー) | 19.5 時間 (= 夜間 window 崩壊) |
結論として SlimeTree-VSAM は IBM z/OS VSAM と同 order の random/sequential 性能 を、commodity x86 + Rust 単体バイナリで実現。 IBM の zHyperLink ベスト case (17 μs) には負ける場面はあり得るが、ハードウェア生性能差はワークロードで吸収される範囲。 「IBM より N 倍速い」は物理的に主張しない。 差別化軸は raw 性能ではなく ① ライセンス 1/X ② bit-exact 互換 ③ SHA-256 audit chain 標準 ④ commodity HW で運用。
公開情報出典: Planet Mainframe (zHyperLink)、 TechTarget DS8900F、 IBM TS7700、 USENIX ATC '19 NVMe I/O Stack。
PSDP との合成効果 ― 同ライセンス内で更に並列化
SlimeTree-VSAM の上に PSDP(同一言語並列化、ソース書換え不要)を被せると、DB / 大規模バッチ系の workload は 追加で 4-8 倍 scaling。SlimeTree-VSAM 単体 480× と合成して PostgreSQL 比 1,900〜3,800 倍、夜間バッチ window が崩壊している大規模金融基幹で唯一動く解 (見込)。
| workload | PSDP scaling (bit-exact) | 条件 |
|---|---|---|
| OLAP (TPC-H Q1 / Q6 column store、12 M 行) | 4.38〜5.20× | Ryzen 9 7945、1c → 8c、25/25 run reference と bit-exact 一致 |
| CDC (commutativity-aware WAL replay、20 M ops) | 4.26× | serial baseline 比、25/25 run 最終 hash 完全一致 |
| multi-conn 並列読み (SQLite WAL reader) | 9.76× | 14.2 → 138.6 qps、1c → 12c |
| 大規模バッチ DB walk (見込) | 6-8× scaling | SlimeTree-VSAM 等 in-memory backend の sequential cursor (memory BW bound) |
※ 合成 1,900〜3,800× は SlimeTree-VSAM impl_v6 micro / scale bench (Zen 4 / WSL2 同ホスト) + PSDP の 実証データ から算出。 PSDP は「I/O 律速 (同期 I/O 待ちで CPU 0%)」のケースでは効きません(PSDP の効果限定ケース参照)が、SlimeTree-VSAM の sequential cursor は memory BW bound なので PSDP 適用範囲内。
適用シナリオ ― 「夜間バッチが終わらない」が現実問題
金融基幹の夜間バッチ崩壊問題
COBOL を Java/Rust に bit-exact 移植し終えても、DB を PostgreSQL に置き換えただけで夜間 window が崩壊する金融基幹は多い。10 億件 sequential cursor の典型バッチで PostgreSQL は 19.5 時間、SlimeTree-VSAM は 4.4 分(同ホスト bench)。これが「VSAM 難民」が動けない構造的理由で、SlimeTree-VSAM はその難民の選択肢になります。
SlimeCOBOL の drop-in DB target
SlimeCOBOL の Phase D(QSAM/VSAM emit) が出力する DB アクセス先として、本ネイティブストレージをそのまま受け取れるように設計。RECFM bit-exact、KSDS/ESDS/RRDS の使い分けも emit 側で自動判別。BLACKBOX bit-exact 移送後の「行き先」を、性能と監査の両方で揃えます。
air-gap 監査要件
銀行・保険・自治体基幹で必須の bit-exact 監査:SHA-256 audit chain をストレージ層に内蔵。ネットワーク到達しない air-gap 環境でも、後追いの改竄検知が成立。
実証ハイライト
- PostgreSQL 16 比 sequential cursor 480 倍速(同ホスト bench、per-access)
- random key access 267 倍速(同条件)
- 10 億件夜間バッチ:PostgreSQL 19.5 時間 → 4.4 分
- SHA-256 audit chain 内蔵 ― air-gap 環境で改竄検知
- SlimeCOBOL Phase D emit の drop-in target として接続実証済(QSAM/VSAM 自動判別)
顧客 segment(現場視点)
- 地銀・大手生保 IT 部長:COBOL 廃止案件で DB に詰まっている案件の解
- 自治体基幹:VSAM 依存の業務、20-30 年無停止運用の現代化
- 大手 SI ベンダ:Phase D 出口の DB target ― 移植プロジェクトの完成度を性能 + 監査で固める
- 中央省庁・防衛調達:純国産 + 数学保証 + audit chain の組合せで随意契約条件を満たす
関連リンク
- 解説ブログ: PostgreSQL 比 480 倍 ― VSAM 難民を救う SlimeTree-VSAM という選択肢
- 同 family の意味駆動型 variant: SlimeTree-RLM
- 連携製品: SlimeCOBOL(Phase D の DB drop-in)、SlimeNENC ファミリー
- カテゴリ: LANGUAGE 製品一覧、DEVICE 製品(併載)
入手・問合せ
同ホスト bench 数値の自社環境再現、PoC、SIer・リセラー販社プログラムは下記から。
