告白は設計変更であり、DBは沈黙の告白を拒む

石川篤

Hatched by 石川篤

Jun 27, 2026

1 min read

72%

0

いちばん怖いのは、技術でも恋愛でも「あとで何とかなる」と思うこと

多くの失敗は、能力不足ではなく見立ての甘さから起こります。最初は小さな違和感です。DBなら、なんとなく遅いクエリ、なんとなく増え続ける例外的な処理、なんとなく増築される非正規化テーブル。恋愛なら、告白しないまま続く曖昧な距離、なんとなく友達以上に見えてしまう関係、なんとなく相手の反応を待ち続ける受け身の時間。

どちらにも共通しているのは、「今は回っているから大丈夫」という感覚です。ところが、回っていることと、持続可能であることは違います。システムは負荷が上がった瞬間に、関係は第三者が現れた瞬間に、隠れていた構造を露出させます。

問題は、何を使うかではない。どういう前提で、どの代償を引き受けるかを言語化できているかだ。

この視点で見ると、DB設計と恋愛は驚くほど似ています。どちらも、正面から決め切らないまま運用すると、後から高いコストを払うことになる。そして本当に重要なのは、選択そのものよりも、選択したことで失うものを自覚しているかです。


「本当に必要なのか」は、本質的な問いではなく、設計を止める問いになりうる

よくある言い回しに、「本当にそれ必要?」があります。軽く聞こえて便利ですが、実はかなり危険な問いでもあります。なぜなら、この問いはしばしば条件を外して抽象化しすぎるからです。前提を消したまま要件だけを切り取ると、どんな複雑なものも無駄に見えてしまう。

DBの世界でいえば、「本当にRDBMSが必要なのか」「NoSQLで十分ではないか」は、設計の初期に必ず出てくる議論です。もちろん、単純なアクセスパターンだけならオブジェクトストレージやNoSQLがはまる場面はあります。だが、実際のWebシステムでは、複雑な結合、整合性、マイグレーション、将来の仕様変更がほぼ確実にやってきます。そのとき、クエリの弱さや非正規化の癖が、じわじわと運用を蝕みます。

恋愛でも同じです。「本当に告白が必要なのか?」と問うと、たしかに関係が自然に深まるケースはあります。けれど、そこには相互の温度感、時間の共有、接触頻度、他者の存在といった条件が揃っている必要がある。条件が違えば、自然発生を期待するのは単なる願望です。

ここで大事なのは、必要性の有無を二択で決めないことです。必要かどうかではなく、

  1. どの条件なら有効か
  2. どの条件で破綻するか
  3. 破綻したときの修正コストはいくらか

を考えることが、設計の本筋です。

「必要ですか?」ではなく、「その選択は、どの前提に賭けているのか?」と聞き直す。

この問いに変えるだけで、議論の質は一気に上がります。否定か肯定かの粗い対立から、前提とコストの精密な比較に変わるからです。


非正規化の誘惑と、受け身の恋の誘惑は同じかもしれない

非正規化は、短期的にはとても魅力的です。必要な情報を一箇所にまとめれば、読みやすいし、見た目のクエリも単純になります。まるで、気になる相手に本音を言わず、都合のいい空気だけ保っている関係のようです。表面的には摩擦が少ない。だが、その楽さは、後から修正しづらい形で積み上がっていきます。

受け身の恋も、似ています。自分から動かなければ、失敗の痛みは避けられる。相手も関係も、はっきり壊れない。しかし、その静けさは進展の不在でもあります。実際、ある人が勇気を出して告白したときは玉砕したのに、その後しばらく距離を置き、別の相手と仲良くなり始めたら、嫉妬から相手が告白してきた。ここで起きているのは、関係が「気持ち」だけではなく、構造の変化で動いたということです。

DBでも恋愛でも、構造は感情より強いことがあります。クエリが遅いなら、気合いでは速くならない。関係が曖昧なら、察してほしいだけでは進まない。必要なのは、曖昧さを維持することではなく、曖昧さを解消する行動です。

この点で、非正規化と受け身は「先延ばしの快適さ」を売っています。今の痛みを減らす代わりに、未来の自由を奪う。だからこそ、それらは短期最適ではあっても、長期最適ではありません。

先延ばしの構造は、必ず利息を生む

借金には利息があります。設計の先延ばしにも利息があります。最初は小さな管理コストですが、データが増えるほど、関係が深まるほど、負債は指数的に重くなる。

  • DBでは、整合性の欠如がバグの温床になる
  • 恋愛では、言語化されない期待が誤解の温床になる
  • どちらも、後から修復しようとすると影響範囲が広い

つまり、問題は「今すぐ決めるかどうか」ではなく、決めないことを選んだ結果、誰がどれだけの負債を持つかです。技術の話に見えて、実は責任配分の話でもあります。


上級者は「正しさ」を振りかざさず、境界条件を見ている

DBに詳しい人ほど、RDBMSを絶対視しません。むしろ、どのようなワークロードで、どのような更新頻度で、どのような失敗許容度ならNoSQLやオブジェクトストレージが合理的かを見ます。つまり上級者は、「これが一番すごい」ではなく、境界条件の変化に強いかを見ている。

ここに、恋愛や人間関係の成熟も重なります。関係がうまくいく人は、感情だけで押し切りません。相手が今どういう状態か、距離を縮めると何が起こるか、沈黙が何を意味するか、他者の存在がどう作用するかを見ています。告白が効くかどうかも、言葉の強さではなく、相手との関係の文脈次第です。

このとき重要なのが、万能解を求めないことです。RDBMSは万能ではないし、告白も万能ではない。けれど、万能でないからこそ、どこに効くのかを知る必要がある。逆に言えば、境界条件を知らずに「流行っているから」「みんな使っているから」で選ぶと、あとで必ず苦しみます。

実行計画を見ることは、現実を見る訓練である

DBのクエリ最適化で実行計画を見ないのは、車のエンジン警告灯をテープで隠して走るようなものです。しばらくは動くかもしれない。しかし、問題は消えていない。むしろ、問題の位置が見えなくなっているだけです。

恋愛でも、表面的なメッセージのやりとりだけを見て安心するのは危険です。相手が返信してくるから脈ありとは限らない。会ってくれるから進展するとも限らない。大事なのは、その行動が何を意味するのかを構造として読むことです。

実行計画を見ることと、関係の文脈を読むことは、どちらも「見えている結果の裏にある仕組み」を見る練習です。ここを飛ばして感覚だけで判断すると、改善の打ち手を外しやすい。

表面の成功に安心するな。仕組みを理解していない成功は、次の局面で崩れやすい。


告白は、関係を壊す行為ではなく、曖昧さを終了させる操作である

告白には、誤解されやすいところがあります。多くの人は、告白を「気持ちをぶつけること」だと思っていますが、本質はむしろ違います。告白とは、関係の状態を未確定から確定へ移す操作です。成功すれば恋人関係になるし、失敗すれば友達として再定義される。どちらにせよ、曖昧な観測不能状態が終わる。

この観点で見ると、告白はかなりDB的です。スキーマ変更に似ています。テーブル定義を変えるとき、適当にやれば壊れるが、適切にやれば整合性が上がる。マイグレーションとは、今の運用を守りながら構造を更新する作業です。告白も同じで、関係を壊すためではなく、曖昧なまま維持するコストを下げるための操作と考えると、意味が変わります。

実際、告白してから始まる恋は珍しくありません。なぜなら、人は曖昧な状況のままでは、自分の気持ちすら判別しきれないことがあるからです。相手が離れたときに初めて価値に気づくこともある。競争や喪失の可能性は、しばしば本音を浮かび上がらせます。

ただし、ここで学ぶべきなのは「嫉妬を煽ればいい」という浅い話ではありません。むしろ、関係は宣言されて初めて比較可能になるということです。宣言されない関係は、評価も改善も難しい。曖昧さは優しさのように見えて、実は相互理解を遅らせることがあるのです。

曖昧さを減らすことは、必ずしも冷たさではない

曖昧さを減らすと、ロマンが失われると感じる人もいます。しかし、実務でも恋愛でも、曖昧さはしばしば優しさではなく先送りです。優しさとは、相手が判断できる形にして渡すことでもあります。

DBなら、責務を分け、正規化し、整合性のルールを明確にすること。恋愛なら、気持ちや期待を適切なタイミングで言葉にすること。どちらも、相手に読心術を要求しない点で誠実です。


Key Takeaways

  1. 「本当に必要か?」ではなく「どんな前提に賭けるのか?」で考える。 前提を言語化すると、議論が抽象論から具体論に変わる。

  2. 短期の楽さは、長期の負債になることが多い。 非正規化も受け身も、今の摩擦を減らす代わりに未来の修正コストを増やしやすい。

  3. 境界条件を見ない選択は危険。 RDBMSも告白も万能ではない。効く条件と壊れる条件を先に見積もる。

  4. 実行計画を見るように、関係の構造を見る。 表面の現象だけではなく、裏の仕組みを観察すると打ち手が外れにくい。

  5. 曖昧さを減らすことは、冷たさではなく誠実さになりうる。 判別可能な形にすることは、相手の判断可能性を上げる行為でもある。


結論: 先に決めることは、自由を奪うのではなく、未来の選択肢を守ること

DBの設計でも恋愛でも、失敗する人は「今はまだ決めなくていい」と考えがちです。しかし、決めないことは中立ではありません。決めないことで、システムは歪んだまま育ち、関係は曖昧なまま消耗します。先延ばしは、選択しないことではなく、選択の責任を未来に送ることです。

逆に、適切なタイミングで構造を決めることは、自由を狭めるどころか、むしろ自由を守ります。DBなら将来の変更に耐えられる余白ができる。恋愛なら、相手の気持ちを推測し続ける消耗から解放される。

だから本当に問うべきなのは、「これが必要か」ではありません。今ここで曖昧さを残すことで、誰が何を失うのかです。その問いに正面から答えられる人だけが、データベースでも人間関係でも、あとで慌てない設計ができます。

Sources

← Back to Library

Hatch New Ideas with Glasp AI 🐣

Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)

Start Hatching 🐣