顧客からデータが10件以上ある時のUIを見せてほしいと言われた。BigQuery上に実際は5件のデータがありそれが表示されている。データ追加が不可な理由を教えて欲しい。
端的に言うと、「システムに一度登録したデータは、簡単に追加・削除できない」という極めて重要な設計上の原則があるためです。
ご共有いただいた図にある通り、このシステムには以下の大原則があります。
データの削除が原則不可能 特に「1行単位の削除」はできない設計になっています。テスト用にデータを5件追加したとしても、そのテストデータを後からきれいに消すことができません。
追加したデータが将来的に問題を引き起こすリスク
削除できないテストデータが本番環境に残ることは、「データ汚染」に繋がります。将来的に正確なデータ集計や分析を妨げ、最悪の場合、重大な事故やバグの原因となり得ます。(図のデータ追加は削除不可により大事故に繋がるに該当)
このシステムでデータを修正する唯一の方法は、図にも示されている通り、以下のいずれかの非常に大掛かりな手順を踏む必要があります。
UIの表示確認という目的のために、これほどリスクとコストのかかる作業は実施できません。
実際のデータを追加することはできませんが、ご要望の「10件以上データがある場合のUI」をご確認いただくための代替案として、UIのデザインツール(Figmaなど)や画像編集ソフトで作成したモックアップ(完成見本画像)をご提出させていただけます。
これにより、システムに影響を与えることなく、ご希望の表示イメージを正確にご確認いただくことが可能です。
なぜ簡単に見えるはずの「テストデータを5件追加する」という作業が、これほどまでに慎重にならざるを得ないのか、その背景にあるシステムの設計思想と具体的なリスクについて、さらに詳しくご説明します。
このシステムは、一般的なウェブサイトのデータベースとは根本的に設計思想が異なります。これは**「追記型(Append-Only)」と呼ばれる考え方で作られた、データ分析や事実の記録**に特化したデータストアです。
一番わかりやすい例えは、会社の会計帳簿です。
会計帳簿に一度書いた取引記録を、消しゴムで消したり、修正液で書き換えたりはしませんよね。間違えた場合は、その間違いを訂正するための新しい取引記録を「追記」します。これにより、「いつ、誰が、何を記録し、どう修正したか」という全履歴が残り、データの信頼性・完全性が担保されます。
このシステムも同じ思想です。
データの信頼性と完全性の担保 📓 一度書き込まれたデータは「変更されない事実」として扱われます。これにより、後から誰かがデータを意図せず、あるいは悪意を持って変更・削除することを防ぎます。データは常に信頼できる状態に保たれ、監査や追跡が容易になります。これが図にあった「深い考察の重要性(バグ防止)」の根底にある考え方です。
超高速なデータ分析の実現 📊 データを「追記」するだけのシンプルな構造にすることで、システムはデータの更新や削除といった複雑な処理を考慮する必要がなくなり、その分リソースを「読み込み」と「集計」に集中させることができます。これにより、BigQueryのように何十億行というデータの中から必要な情報を数秒で取り出す、といった超高速な分析が可能になります。
つまり、「削除できない」という一見不便な制約は、データの信頼性を保証し、分析速度を最大化するためのトレードオフなのです。
では、このシステムに安易にテストデータを追加した場合、どのような「大事故」につながる可能性があるのでしょうか。
分析結果の汚染(最も頻繁に起こる問題) 例えば、UI確認のために「テストユーザーA」から「テストユーザーE」までの5件を追加したとします。これらのユーザーは当然、サービスの利用実績がありません。
本番システムの誤作動 このデータを参照している別のシステムがあれば、さらに深刻な問題を引き起こします。
コンプライアンス・監査上の問題 このデータストアがユーザーの行動ログなど、監査証跡としての役割を担っている場合、そこに意図的に作られた偽のデータが存在すること自体が問題視される可能性があります。
図にあった「我々の資産ではないデータは触らない」という原則は、こうした複合的なリスクを回避し、お客様の貴重なデータ資産をクリーンな状態で守り抜くための強い意志表示と言えます。
上記のリスクを全て回避し、かつお客様の「UIの見た目を確認したい」という本来の目的を安全かつ迅速に達成できるのが**モックアップ(画像やデザインツールでの再現)**です。
以上の理由から、実データへの操作は行わず、モックアップによるご確認をお願いしております。システムの安全性とデータの整合性を維持するため、何卒ご理解いただけますと幸いです。