RESTful API の設計を行います。エンドポイント定義、リクエスト/レスポンス仕様、エラーハンドリング、ScalarDBトランザクション例外のマッピングを含みます。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
ScalarDBのトランザクション設計を行います。トランザクション境界定義、パターン選定(単一集約内/2PC/Saga/ハイブリッド)、OCC競合率評価、バッチ処理設計、v3.17最適化適用計画を含みます。ワークフローStep 05(トランザクション設計)で使用します。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
ScalarDB のトランザクションパターンを選定・設計し、以下を生成する:
| 資料 | パス | 参照内容 |
|---|---|---|
| トランザクションモデル | research/07_transaction_model.md | 7つのトランザクションパターン |
| バッチ処理 | research/09_batch_processing.md | バッチ有効/無効ケース、チャンクサイズ |
| ScalarDB 3.17 | research/13_scalardb_317_deep_dive.md | 最適化機能の詳細 |
| ワークフロー05 | workflow/05_transaction_design.md | Step 05 手順 |
Step 04(データモデル)の結果を基に、各ビジネスプロセスのトランザクション境界を定義する。
トランザクション境界テンプレート:
| トランザクション名 | ビジネスプロセス | 関与集約 | 関与テーブル | 操作種別 |
|---|---|---|---|---|
| Read/Write/ReadWrite |
各トランザクションに対してパターンを選定:
| パターン | 適用条件 | ScalarDB API |
|---|---|---|
| 単一集約内 | 1サービス・1テーブル | DistributedTransaction |
| 単一サービス複数テーブル | 1サービス・複数テーブル | DistributedTransaction |
| 2PC(2サービス) | 2サービス間ACID | TwoPhaseCommitTransaction |
| 2PC(3サービス) | 3サービス間ACID(上限) | TwoPhaseCommitTransaction |
| Saga | 結果整合性で十分 | アプリケーション実装 |
| Saga + 部分2PC | 一部ACIDが必要 | ハイブリッド |
パターン選定マトリクス:
| トランザクション名 | 選定パターン | 根拠 | リスク |
|---|---|---|---|
楽観的並行性制御(OCC)の競合率を評価し、対策を検討する。
競合率評価テンプレート:
| トランザクション | 対象レコード | 同時実行数 | 推定競合率 | 許容範囲 | 対策 |
|---|---|---|---|---|---|
| < 5% |
競合率が高い場合の対策:
バッチ処理テンプレート:
| バッチ名 | 処理内容 | 対象テーブル | 予想レコード数 | チャンクサイズ | トランザクション範囲 |
|---|---|---|---|---|---|
| 100-1000推奨 | チャンク単位 |
ScalarDB バッチ処理の制約:
| 最適化機能 | 適用対象 | 効果 | 設定 |
|---|---|---|---|
| Piggyback Begin | 全トランザクション | ラウンドトリップ -1 | 有効化推奨 |
| Write Buffering | 書き込み多いTx | ネットワーク呼出削減 | 対象Txで有効化 |
| Batch Operations | バッチ処理 | スループット向上 | バッチ処理で使用 |
| Tx Metadata Decoupling | 小レコードテーブル | ストレージ効率化 | READレイテンシ影響を評価 |
エラーハンドリングテンプレート:
| 例外 | 原因 | 対応 | リトライ |
|---|---|---|---|
CrudConflictException | OCC競合 | リトライ | Yes(指数バックオフ) |
CommitConflictException | コミット時競合 | リトライ | Yes(指数バックオフ) |
UnknownTransactionStatusException | 状態不明 | 確認→リトライ or 補償 | 条件付き |
CommitException | コミット失敗 | abort→リトライ | Yes |
UnsatisfiedConditionException | 条件未達 | ビジネスロジック判断 | No |
リトライ設定テンプレート:
| パラメータ | 推奨値 | 説明 |
|---|---|---|
| 最大リトライ回数 | 3-5 | 過度なリトライは避ける |
| 初回待機時間 | 100ms | 指数バックオフの起点 |
| 最大待機時間 | 5000ms | 上限 |
| バックオフ係数 | 2.0 | 倍増 |
| ジッター | ±50ms | 同時リトライの分散 |
成果物を output/phase2/05_transaction_design.md に出力。
/plan-step 05
Step 04 のデータモデルに基づいてトランザクション設計を行ってください。
特に以下のプロセスの設計を重視:
- 注文確定(注文 + 在庫 + 決済の3サービス跨ぎ)
- ポイント付与(結果整合性で可)
- 月次バッチ集計
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
RESTful API の設計を行います。エンドポイント定義、リクエスト/レスポンス仕様、エラーハンドリング、ScalarDBトランザクション例外のマッピングを含みます。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
ScalarDBを前提としたデータベース設計を行います。スキーマ設計、トランザクション設計、マルチストレージ構成を対話形式で決定し、スキーマファイルと設計書を生成します。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
DDDに基づいたドメインモデルを設計します。戦略的設計(境界コンテキスト、ユビキタス言語)と戦術的設計(エンティティ、値オブジェクト、集約、ドメインサービス、ドメインイベント)を定義し、ヘキサゴナルアーキテクチャとの統合を行います。ScalarDBのトランザクション境界や管理テーブル分類の考慮事項を含みます。中間状態はresearch/に記録されます。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
設計ドキュメントに基づいて実装計画を生成します。ScalarDB特有のスキーマ定義、トランザクション実装、統合テストを含む実装可能なタスク指示書を作成し、フェーズ別の実装ロードマップを提供します。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Kubernetes、Kong API Gateway、ScalarDB Cluster v3.17を使用したインフラストラクチャ設計を行います。マニフェストファイルと設定ファイルを生成します。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
ScalarDBの制約を考慮したデータモデル設計を行います。Partition Key・Clustering Key・Secondary Index の設計、ホットスポット評価、メタデータオーバーヘッド見積もり、バックエンドDB選定を含みます。ワークフローStep 04(データモデル設計)で使用します。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.