型付き辺: 出 0 / 入 2
前提とされる: ADR-0047 ADR-0108全体は INDEX →
ADR-0005: Google SpreadsheetをデータストアとするDB選定
- Status: Accepted (旧形式「## ステータス: 採用済み」より転記)
- Mode: Critical (内容から推定・旧 README 一覧より移設)
- Kruchten Type: Executive
- Scope: product
- Implementation Status: Done (Spreadsheet を DB として運用中)
Kruchten Type は ADR-0031 (2026-05-13) で遡及追加。分類根拠は ADR-0031 §決定セクションおよび docs/adr/README.md の Kruchten 3 分類ガイドを参照。 Status / Mode / Scope は 2026-06-11 に遡及追加 (ADR-0031 corrigendum パターン)。出典: Status = 旧形式「## ステータス」節の機械転記 / Mode = 旧 README §既存 ADR 一覧の推定値 (git 履歴) / Scope = ADR-0049 4 層分類の遡及付与 (PR レビューで確定)。
ステータス: 採用済み
コンテキスト
スタートアップ初期段階(従業員10名未満)において、データストアの選定で以下の選択肢があった:
- 案A: 専用DB(Cloud SQL / Firestore等)を使用し、GASからJDBC等で接続する
- 案B: Google Spreadsheetのタブをテーブルとして使用し、GAS標準APIで操作する
決定
案B を採用する。 Google Spreadsheetの各タブをテーブルとして使用する。列参照はヘッダー名ベース(indexOf / buildHeaderIndex_)で行い、列番号のハードコードは禁止する。
理由
- 専用DBの運用コスト・複雑性がスタートアップ初期段階では過剰
- ユーザーがスプレッドシートに慣れており、データの確認・修正が直接行える
- GAS標準APIとの統合が容易で、追加の認証設定やドライバが不要
- ヘッダー名ベースの列参照により、列の追加・並び替えに耐性がある
結果・影響
- ポジティブ: 運用コスト実質ゼロ。ユーザーが直接データ確認・修正可能。GAS標準APIで操作が完結
- ネガティブ: GAS 6分実行制限により大量データの一括処理に制約。同時編集の排他制御なし。トランザクション保証なし
- 技術的負債: データ量増加時にCloud SQL等への移行が必要になる可能性。その際、ヘッダー名ベースのアクセスパターンをDAO層に抽象化する必要がある
Confirmation (準拠確認 / Fitness Function)
本セクションは ADR-0036 (Accepted 2026-05-14) で遡及追加された。ADR-0031 パターン (業界標準準拠メタデータ後付け = 誤字修正範疇) に準拠する遡及で本文の意思決定内容は不変。
- 検証手段: N/A — 要マッピング更新 (ADR-0036 遡及時点で未定義、月次レビューで確定)
- 実行頻度: —
- 違反時の対応: —