浜松市で起きた全件検索に係るシステム遅延障害の話題
@boss_kintore タイムアウトや検索上限を設定していないのが信じられないですね。。 でも150万件のフルスキャンくらいなら何とかなりそうな気もしますが。。色々joinしてた感じですかね。
2024-01-04 22:17:18@boss_kintore 「通常このデータベースは検索結果数が多すぎると検索をストップする仕様ですが検索をスタートしてしまい」 「担当者は、ヒューマンエラーが招いた障害と説明しています。」 ヒューマンエラーで障害起こさないために仕様を策定したんちゃうか
2024-01-05 08:14:56@boss_kintore んー。150万人程度のデータを全検索したら止まるシステムっていうのもなんだかなあ、って思うし、全検索したら止まるってわかってるんだったらシステム側で全検索しないような措置をしておくべきではないかと。
2024-01-04 21:52:24@boss_kintore いろんなパラメータがリミッターになるはずだけど、そもそも150万件程度の検索でねを上げるなんてしょぼいシステムだな
2024-01-04 19:17:36@boss_kintore 全件検索をしてそれをすべてクラスに展開とかしちゃったということなんでしょうか。そのくらいの件数ならクエリ自体は時間がさほどかからないはずなので。もし検索だけでCPUやメモリが圧迫されるならインデクスのないフィールドでouter-joinとunionしまくりでないとならないのでは。
2024-01-04 23:46:46@boss_kintore え、150万件くらいでダウンするの? どういうこと? 何かに書き出したのかね。 ハードディスクかメモリがパンク?
2024-01-05 01:20:27前世でこんなシステムに出会った人の体験談も…
> 職員がデータベース検索をした際に、絞り込みを行わず市民150万人分のデータを一斉検索 > 検索をスタートしてしまい事実上システムがストップ あるある。前世でなんちゃらデータから納品されたシステムみんなこれだった 浜松市中央区役所で一時システム障害 newsdig.tbs.co.jp/articles/-/924…
2024-01-04 21:25:43あまりに検索機能・処理能力が貧弱なので、定期的に人がCSVダンプして、そこらへんに転がっているPCにLAMP入れてMySQLにインポートし、PHPで書いたUIで検索するというオレオレ補助検索ツールがあちこちで誕生した
2024-01-05 11:50:33で、そういうベンダは当然ながらスキーマ設計もクソで、数値もenumも全部strで変な値が入り放題なので、インポートスクリプトでインポート失敗→それの例外処理(データ補正)を書く→インポート→失敗→修正処理追加 を繰り返していくあるある
2024-01-05 12:45:21そう言えばLibraHackみたいな事件もありましたね
Librahack事件の時なら、警察に逮捕されていたな twitter.com/boss_kintore/s…
2024-01-05 00:29:18「市によりますと、1月4日午前9時30分ごろ、職員がデータベース検索をした際に、絞り込みを行わず市民150万人分のデータを一斉検索したということです。」 無邪気に全件検索かけられちゃうって恐ろしいよなぁ。 newsdig.tbs.co.jp/articles/-/924…
2024-01-04 16:10:23