Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録
< anond:20250602122536 |■ >

2025-06-02

anond:20250602121311

あー、出た出た。「負荷試験で全部検出できる」っていう過信系エンジニア典型的自己放尿ね。

それっぽい口ぶりしてるけど、中身はかなり雑。

リリース前に負荷試験で危ないクエリ洗い出せばOK

それ、現実では成立しないことのほうが多い。

まず、負荷試験のスケーラビティは静的でしかない。

データの複雑さ、偏り、スパイクタイミングの揺らぎ、全部再現不能

とくにJOINが関わると、クエリプランデータ量や分布に応じて変化する。

たとえば初期はNestedLoop爆速だったJOINが、数百万件超えるとIndex Mergeになり、さらデータが偏ると一気にフルスキャンに堕ちる。「その場では平気」でも、翌月には地獄が来る。

それに、負荷試験では「時間の経過による蓄積的劣化」は測れない。

たとえばバッチ処理や月次分析クエリ広告配信ログなど、JOIN対象が少しずつ増えていく処理では、初期の負荷試験では一切異常が出ない。半年後、1年後に突然クエリ1本でサーバが沈む。

まり、「リリース前に大丈夫だった」は、将来の保証にはならない。時間は最強の敵だ。

そして負荷試験が万能だと思ってる時点で視野が狭い

それ、運用経験が浅い人間が夢見る自己放尿だよ。

本当に経験積んでるエンジニアは、「負荷試験で詰めきれないものが必ずある」ことを理解して、そもそもそういう危うい構造最初から作らないようにする。

JOINを避けるのは、「MySQLがいけてないから」じゃない。「JOINという構造自体が後から効いてくる爆弾から」。

どんなDB使ってようが、JOINスケール問題は必ず起きる。

素人が死んだのをJOINのせいにしてるだけでは?」

逆。JOINを無警戒に使って設計して、死んだときに「こんなにデータ増えるとは思わなかった」とか言い出すやつが素人

こっちは、死ぬとわかってる構造を未然に潰してるだけ。その結果が、辞書化・プリロードキャッシュパーティション非正規形の併用設計

JOINのせいにしてる」んじゃない、JOIN限界理解してるから設計回避してる。それだけ。

というわけで、負荷試験万能説、JOIN無罪論MySQLディスり、全部現場経験不足と理屈すり替えから来てる自己放尿である

知識の断片で語るな。

設計ってのは、未来リスク先読みして潰す知的労働だ。

JOINは便利。でも無敵じゃない。

大丈夫だった」と「大丈夫であり続ける」の間には、何百万件もの地雷が埋まってる。

その地雷を踏ませないようにするのが、プロ仕事だよ。

Permalink |記事への反応(1) | 12:30

このエントリーをはてなブックマークに追加ツイートシェア

記事への反応 -
  • また自己放尿か? まず君は現場でのパフォーマンス要件を完全に無視している。 理論と実務の乖離が甚だしい。 RDBの第三正規形について何も分かっていない 巨大なusersやitemsテーブルを...

    • 巨大なテーブルを扱っているというのが誤解です 今後巨大なテーブルになるというのも誤解です 本当に巨大なら手元に辞書作るのも無理なので問題ありません

      • 「巨大なテーブルじゃない」「今後も巨大にならない」「だから辞書じゃなくてJOINでも問題ない」 全部甘い。現場知らないヤツの脳内放尿だな。 まず、もしテーブルが小さいならそ...

        • あなたの不安が大きいのはわかりましたが、現実としてデータは大きくならないし、joinは破綻しません 思い込みで無駄に複雑にするのが一番よくありません まずはシンプルにコードを...

          • そうよね リリース前に負荷試験で危ないクエリ洗い出しておけば安心してリリース迎えられるのに 後でデータが巨大になって死ぬって話を繰り返してて 負荷試験やらない素人がでかい...

            • あー、出た出た。「負荷試験で全部検出できる」っていう過信系エンジニアの典型的自己放尿ね。 それっぽい口ぶりしてるけど、中身はかなり雑。 「リリース前に負荷試験で危ないク...

              • 「負荷試験で現実からかけ離れた雑なデータしか作れない素人です」って札を首から下げて生きた方がいいよ RDB扱ってるのにマトモな負荷試験やったことない奴って本当に多いよね

                • 「負荷試験で現実からかけ離れた雑なデータしか作れない素人です」 それ、お前の妄想上の素人に向かって自己放尿してるだけで、俺の話には一切当たらない。 こっちは負荷試験その...

          • あー、それ完全に自己放尿のマジックワード連打だな。「現実として〜」「破綻しません」「シンプルにしましょう」中身ゼロ。 こっちが挙げた定量的リスク(件数増加、I/O負荷、JOINの...

        • JOINの動きが分かりづらいから自分がわかるエンジニアリングに逃げてるだけなのでは

          • あー、なるほどね。「JOINが難しくて避けてるだけなんじゃね?」ってわけか。 甘い。構造わかってない奴ほどそういう浅い自己放尿をしたがる。 まず前提を修正しろ。JOINの動きなんて...

            • DBにはこだわりは有るようだが、事業全体のコストとかは見えてないエンジニアなんだろうなと。 まあ、少数のシステムしか経験のない飼い殺しエンジニアみたいな感じだろうが。 事業...

              • お前の反論、自分が引き算の美学で事業コストを語れてると勘違いしてるパターン。 でも実態は、事業規模に対する思考スコープの狭さがにじみ出てる。 まず最初に、 「事業全体の...

記事への反応(ブックマークコメント)

全てのコメントを見る

人気エントリ

注目エントリ

ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp