Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ScalarDL Overview / ScalarDL 製品概要
Search
Scalar, Inc.
PRO
May 18, 2026
Technology
43
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ScalarDL Overview / ScalarDL 製品概要
Scalar, Inc.
PRO
May 18, 2026
More Decks by Scalar, Inc.
See All by Scalar, Inc.
【AI×DevOps Study #17】AI駆動におけるモダナイゼーション by Claude CodeとAI活用のヒント
scalar
PRO
0
48
【20260612 AI×DevOpsStudy #16】AI DevOps の基盤を作ってみたら、設計は人間の仕事だとわかった話
scalar
PRO
0
14
【20260528 AI×DevOpsStudy #15】GitLab環境で脆弱性の検知からAIによる修正(MR作成)、チャット通知までを自動化する仕組み
scalar
PRO
0
84
【AI×DevOps Study #14】Claude CodeのSkillで開発体験を変える話
scalar
PRO
0
60
5. ScalarDB Cluster Development - CRUD Application
scalar
PRO
0
16
6. ScalarDB Cluster Development - Exception handling
scalar
PRO
0
32
1. ScalarDB Cluster Deployment - Prerequisites
scalar
PRO
0
20
3. ScalarDB Cluster Deployment - ScalarDB Objects
scalar
PRO
0
23
4. ScalarDB Cluster Deployment - Configuration overview
scalar
PRO
0
19
Other Decks in Technology
See All in Technology
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
160
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
310
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
200
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
140
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
3.8k
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
150
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
180
コミットの「なぜ」を読む
ota1022
0
120
AIのReact習熟度を測る
uhyo
2
680
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
170
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
140
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
470
Featured
See All Featured
Between Models and Reality
mayunak
4
350
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
210
Faster Mobile Websites
deanohume
310
32k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Invisible Side of Design
smashingmag
301
52k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
The Limits of Empathy - UXLibs8
cassininazir
1
370
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
Fireside Chat
paigeccino
42
4k
Transcript
ScalarDL 製品概要 Ver. 202605
© 2025 Scalar, inc. Scalarの製品 データマネジメントの未来を創る Scalarは、独自のデータ管理技術を用いてデータマネジメントの未来を創ること目指 しています。現在は、ScalarDB と ScalarDL
と呼ばれる2つの主要製品を開発・販売 しており、これらは既存のデータベースではうまく扱えない信頼性の課題を解決しま す。 汎用的なデータベース仮想化(Universal HTAP)エンジン データベースにおける改ざん検知ミドルウェア データの整合性やデータ管理の複雑性の課題を解決します。複数 のデータベースにまたがるトランザクションや分析クエリを一元 的に管理します。マイクロサービス間や企業間でデータベースを 正しく管理したいユースケースで活用いただけます。 データの真正性の課題を解決します。データベースにおける改ざ ん等の故障(ビザンチン故障)を正しく、かつ、スケーラブルに 検知します。デジタルデータに証拠姓(真正性)を付与したい ユースケースで活用いただけます。 https://github.com/scalar-labs/scalardb https://github.com/scalar-labs/scalardl 2
© 2025 Scalar, inc. 概要 1
© 2025 Scalar, inc. ScalarDL: データベースにおける実用的な改ざん検知ミドルウェア • データベースにおけるビザンチン故障検知ミドルウェア ◦ ビザンチン故障:
任意の故障(改ざん、悪意のある攻撃、バグ) • これまでの分散データベースではクラッシュ故障までにのみ対応 Transaction Database System ビザンチン故障の検知を保証
© 2025 Scalar, inc. Motivation: データ社会においてはデータの正しさが重要 • データ中心の社会においてはデータの正しさ(真正性)が重要 • データを保存するデータベースが正しく動作することが肝要
• データベースの正しさを保証するための一つの方法として、ビザンチン故 障への対処がある データベースにおいて実用的かつスケーラブルにビザンチン故障に対処したい DB Process1 Process2
© 2025 Scalar, inc. • 基本原理:レプリカ間の差異を検出 • ビザンチン故障のマスキング (BFT: Byzantine
Fault Tolerance) ◦ N > 3f, N: レプリカの数, f: ビザンチン故障の数 • ビザンチン故障の検知(BFD: Byzantine fault detection (BFD)) ◦ N > f, N: レプリカの数, f: ビザンチン故障の数 AD-1 AD-2 AD-3 AD-4 1つのビザンチン故障をマスクするために 4管理ドメイン(AD)が必要 2つのADで1つの ビザンチン故障を検知可能 AD-1 AD-2 BFT BFD ScalarDLのアプローチ ビザンチン故障の対処方法
© 2025 Scalar, inc. BFT (Byzantine Fault Tolerance) N >
3f, マスキング BFD (Byzantine Fault Detection) N > f, 検知 SMR トランザクション を逐次実行 DB トランザクション を並列実行 BFT SMR PBFT [OSDI’99], BFT-SMaRt [DNS’14], HotStuff [PODC’19] BFD SMR PeerReview [SOSP’07] BFT DB HRDB [SOSP’07], Byzantium [EuroSys’11], Hyperledger Fabric [EuroSys’17], Basil [SOSP’21] ? Challenges: スケーラブルな BFD アプローチ
© 2025 Scalar, inc. BFT DB を拡張して BFD DB が実現可能であるか?
• レプリカを2つの管理組織(AD)に分離すればOK? => NO • 1レプリカにおけるビザンチン故障により保証条件が不成立 N=4, f=2 => N>3f BFT DB を拡張して BFD DB を実現する のは困難 AD-1 AD-2
© 2025 Scalar, inc. BFD SMR を拡張して BFD DB が実現可能であるか?
• BFD SMR でトランザクションを並列実行可能か? => 部分的にYes ◦ プライマリ側でのみ並列実行可能 • 正しさを保証するには、セカンダリ側ではハッシュチェーンベースのログ を逐次的に実行する必要あり ◦ セカンダリ側で並列実行するとタイムトラベル異常が発生 AD-1 AD-2 T1 T2 T2 T1 hash-chained log プライマリ セカンダリ(Witness) 逐次実行が必要
© 2025 Scalar, inc. BFT (Byzantine Fault Tolerance) N >
3f, マスキング BFD (Byzantine Fault Detection) N > f, 検知 SMR トランザクション を逐次実行 DB トランザクション を並列実行 BFT SMR PBFT [OSDI’99], BFT-SMaRt [DNS’14], HotStuff [PODC’19] BFD SMR PeerReview [SOSP’07] BFT DB HRDB [SOSP’07], Byzantium [EuroSys’11], Hyperledger Fabric [EuroSys’17], Basil [SOSP’21] BFD DB ScalarDL [VLDB’22] Challenges: スケーラブルな BFD アプローチ
© 2025 Scalar, inc. ScalarDL - 他の分散型台帳製品との比較 ビザンチン故障 管理組織数と 保証条件
性能 (TPS) スケーラビリティ クラッシュ耐性 環境依存度 Public Blockchains (Bitcoin, Ethereum) マスキング (ただし、確率的。後述文 献参照) 1000-数万 (過半数の管理組織が正 しければ、正しく動作) 1-100 スケールしない 高い (ピア数による) N/A Hyperledger Fabric (Private/Consortiu m Blockchains) マスキング (一部のコンポーネントが クラッシュ故障のみ対応の ため不完全) 4以上 (4の場合、3組織が正しけ れば、正しく動作) 100-数千 スケールしない 高い (ピア数による) クラウド非依 存、DB依存 Oracle Blockchain Table 対応しない (オペレーションミスや簡易 な改ざんであれば検知で きる可能性あり) 1 (保証なし) 100-数千 限定的(スケール アップのみ) 高い (と思われるが内部構成 が不明なため詳細は不 明) クラウド依存、 DB依存 Azure Confidential Ledger (w/ CCF) 対応しない (TEEにより、コードの改ざ んは防止) 1 (保証なし) ? 限定的(スケール アップのみ) 高い (CCFを構成するノード数 による) クラウド依存、 DB依存、H/W 依存 ScalarDL 検知 2 (1組織が正しければ 正しく動作) 100-数10万 (計算資源の総 量による) ニアリニアスケーラ ビリティ (計算資源10倍で9倍程度 の性能向上) 高い (使用するデータベースに よる) クラウド非依 存、DB非依存
© 2025 Scalar, inc. • 厳密な直列化可能性を保証しつつ、トランザクションを並列に実行 • DBのAPIだけを用いることでデータベース非依存かつ非侵襲に実現 Primary Secondary
ScalarDL Ledger Servers Primary Database AD1 ScalarDL Clients Applications ScalarDL Auditor Servers Secondary Database AD2 Database System ScalarDL: スケーラブルかつ実用的なBFDアプローチ
© 2025 Scalar, inc. ScalarDL Ledger User (Client) Java コントラクト
電子署名 秘密鍵 ScalarDL Ledger リクエスト : (contract, args, sig) Asset ID Age Data (before) Data (after) Sigs Func (ref) Args Hash A 1 { } { balance = 100, …} charge { val = 100 } B 1 { } { balance = 200, …} charge { val = 200 } A 2 { A: {balance = 100}, B: {balance = 200} …} { balance = 90, …} payment { val = 10 } 公開鍵 B 2 { A: {balance = 100}, B: {balance = 200} …} { balance = 210, …} payment { val = 10 } H(A1) H(B1) State hash chain * includes other accounts data 引数 S N = Contract (S N-1 , Args) Deterministic & TE TE If S 0 is TE ⇒ S N is TE Ledger データの完全性 function invoke() { if (accounts[0].data.balance < args.val) { throw new Error(“not enough balance”); } accounts[0].data.balance -= args.val; accounts[1].data.balance += args.val; results = { … }; } Payment コントラクト 引数 { accounts = [“A”, “B”], val = 10, …}
© 2025 Scalar, inc. ScalarDL Auditor Ledger とは別の管理ドメインに存在 実行 実行結果の証拠
リクエストの証拠 実行結果の証拠 T 状態を比較し、 ビザンチン故障を検知 Auditor はリクエストの実行とその結果の証拠を管理し、Ledger からのデータを信 頼することなく、Ledger と同じデータを再計算可能(特許取得済、PVLDB採録) User (Client) Scalar DL Ledger Scalar DL Auditor
© 2025 Scalar, inc. BFT/BFD SMR (プライベートブロックチェーン) と Scalar DL
の本質的な違い BFT/BFD SMR (プライベートブロックチェーン) Scalar DL データを全順序で管理 並列化・スケールが困難 データを半順序で管理 ⇒ 並列化・スケールが容易 逐次実行が必要 並列化が可能
© 2025 Scalar, inc. 主要機能と最近の取り組み 2
© 2026 Scalar, inc. TableStore & HashStore
© 2026 Scalar, inc. TableStore & HashStore: ScalarDLの新しい抽象化層 • 標準的またはシンプルなインターフェースと事前定義済みコントラクトを
提供 ◦ コントラクトの作成が不要となり、開発効率の大幅な向上を実現が可能に • TableStore: SQLインターフェースを備えた抽象化層 ◦ SQL処理系とステートメントごとの事前定義済みコントラクトを提供 ◦ 標準的なSQLでアプリケーション開発が可能 • HashStore: 証拠保全ユースケースに特化した抽象化層 ◦ 証拠保全用の事前定義済みコントラクトを提供 ◦ 証拠保全アプリケーションの開発が容易に
© 2026 Scalar, inc. TableStore: SQLインターフェースを備えた抽象化層 • ScalarDLをSQLで処理するインターフェースを提供 Client ScalarDL
Register Develop Execute w/o TableStore w/ TableStore ExecuteStatement(SQL) Predefined Contracts Select Insert Update Create … SELECT * FROM table WHERE id = 10; SQL: User-defined contracts Immutable Immutable
© 2026 Scalar, inc. HashStore: 証拠保全ユースケースに特化した抽象化層 • ドキュメントのハッシュ値(証拠)を保全するためのインターフェースを 提供 Client
ScalarDL Register Develop Execute (hash) w/o HashStore w/ HashStore PutObject/GetObject Predefined Contracts Put Get PutToMutable … Document 0bf2b66062d6baf3b 622def836bb1f3e41 84d9993c44153cbcb 8496659a6e47a createCollection/addToCollection/ getCollectionHistory Document Create Add GetHistory … 0bf2b66062d6baf3b 622def836bb1f3e41 84d9993c44153cbcb 8496659a6e47a hash: hash: User-defined contracts Immutable Mutable Immutable Mutable
© 2026 Scalar, inc. 汎用コントラクト
© 2026 Scalar, inc. 汎用コントラクト • 典型的なユースケースをカバーした汎用コントラクト ◦ 利用者はコントラクトを新たに書く必要はなく、当該コントラクトを使用してアプリケー ションを実装可能に
• 2つの抽象化 ◦ オブジェクト真正性管理 ▪ PubObject, GetObject, ValidateObject ◦ コレクション真正性管理 22 $ scalardl execute-contract --properties client.properties --contract-id PutObject \\ --contract-argument '{"objct_id":"xyz", "hash_value":"a3ae11", "properties": {"note": "something"}}' $ scalardl execute-contract --properties client.properties --contract-id GetObject \\ --contract-argument '{"objct_id":"xyz"}' Contract result: {"object_id" : "xyz", "hash_value" : "a3ae11", "properties" : {"note" : "something"}}
© 2026 Scalar, inc. 名前空間
© 2026 Scalar, inc. 名前空間 (3.13 -) • ScalarDLのデータ(Assetの集合)を複数の論理的な区画に分離 ◦
セキュリティ境界の分離も可能 • ルールに基づくパーティショニングやマルチテナントを実現可能 Asset 1 Asset 2 Asset 3 App 1 App 2 App 3 マルチテナント Asset 1 Asset 2 Asset 3 App ルールに基づくパーティショニング NS 1 NS 2 NS 3 NS:2024 NS:2025 NS:2026
© 2026 Scalar, inc. デプロイのGUI化
© 2025 Scalar, inc. GCP Marketplace • Omnistrate社との連携によりBYOA (Bring Your
Own Account) SaaSを実現 ◦ 自社のクラウド環境にGUI操作でScalarDBをデプロイを可能に ◦ Scalarとの直接契約なしにScalarDB Clusterを使用可能 26
© 2025 Scalar, inc. 詳細 3
© 2025 Scalar, inc. • トランザクションの半順序を分権したまま並列に合意 ◦ プライマリとセカンダリが、トランザクション実行順序を明に共有することな く同じ結果になるようにオペレーション列の送信順序を制御 ◦
メッセージ認証(HMAC)を利用して、プロトコルを強制 • 3フェーズのプロトコル: Ordering -> Commit -> Validation. • 詳細は後述の論文を参照ください Client Secondary Primary Ordering Commit Validation ScalarDLの基本アイデア
© 2025 Scalar, inc. • 2PLの亜種を用いてトランザクションを Strict Serializable に順序付け ◦
トランザクションを仮実行し、R/W セットを取得 ◦ 下位の DB の Linearizable なオペレーションを用いて R/W ロックを取得 ◦ トランザクション ID に対するメッセージ認証をクライアントに返却 • 明に順序を共有しないことから、プライマリとセカンダリは異なる Version Order になりうるため、Multi-version の活用は困難 Primary key Version Lock count Lock mode Lock holders (TxIDs) Input dependencies Lock entry: <primary-key, version> のセット Client Secondary Primary Ordering Commit Validation トランザクショ ンの半順序関係 ScalarDL BFD プロトコル - Ordering フェーズ
© 2025 Scalar, inc. • クライアントとセカンダリからのメッセージ認証を検証 ◦ セカンダリを通っていないリクエストはアボート • トランザクションを任意の順序で
ACID に実行 ◦ <TxID, Status> を DB にログとして書き込み(リカバリ用) ◦ 書けた時点でコミットが確定 • 実際に書かれた R/W セット(Proof)とそのメッセージ認証と実行結果 を返却 Primary key Version TxID Input dependencies MAC Proof entry: Client Secondary Primary Ordering Commit Validation トランザクション の半順序関係 ScalarDL BFD プロトコル - Commit フェーズ
© 2025 Scalar, inc. • プライマリからのメッセージ認証を検証 • 半順序関係を比較(Lock entry と
Proof entry を比較) • セカンダリ側でトランザクションを再実行 • クライアントでプライマリとセカンダリの実行結果と Proof を比較 ◦ 異なるならビザンチン故障と判断 Primary Secondary Result Proofs Result Proofs 2. Commit phase 3. Validation phase Compare =? Compare lock table =? Pre-validation Client Client Secondary Primary Ordering Commit Validation ScalarDL BFD プロトコル - Validation フェーズ
© 2025 Scalar, inc. 評価実験 • 各DBインスタンス: AWS. c5d.4xlarge (8
cores, 32GB DRAM, NVMe SSD) • クライアント: c5.9xlarge • ワークロード: YCSB (100B x 100M records), TPC-C (1000 warehouse) • 比較対象: PeerReviewTX(PeerReviewの拡張)、ScalarDL PostgreSQL Scalar DL C* DL … PostgreSQL Scalar DL C* DL C* DL C* DL … C* DL C* DL Clients Clients AD AD AD AD
© 2025 Scalar, inc. PostgreSQL環境での評価実験結果 YCSB-F TPC-C (NP) ScalarDLは並行性制御により、スレッド数の増加に伴い性能がスケール (PeerReviewTxは4スレッドで頭打ち)
© 2025 Scalar, inc. Cassandra環境での評価実験結果 YCSB-F TPC-C (NP) Cassandraでの同様の傾向(データベース非依存性の実現を確認)
© 2025 Scalar, inc. スケーラビリティ (TPC-C) ADごとのノード数の増加に比例してスループットがほぼ線形に増加
© 2025 Scalar, inc. ロードマップ 4
© 2025 Scalar, inc. 直近ロードマップ • ライフサイクル管理 (3.13) • 性能最適化
• https://scalardl.scalar-labs.com/docs/latest/roadmap