読了:失敗から学ぶRDBの正しい歩き方
2019年6月23日
「涙がちょちょぎれる」「全バックエンドエンジニアが感動」
といった噂をちらほら聞いた本書、失敗から学ぶ正しいRDBの歩き方
通称そーだい本を私も読んでみました。
まぁ、私フロントエンドエンジニアですけども。
まぁ元バックエンドエンジニアですし。
目次
データベースの迷宮
失われた事実
やり過ぎたJOIN
効かないINDEX
フラグの闇
ソートの依存
隠された状態
JSONの甘い罠
強すぎる制約
転んだ後のバックアップ
見られないエラーログ
監視されないデータベース
知らないロック
ロックの功罪
簡単過ぎる不整合
キャッシュ中毒
複雑なクエリ
ノーチェンジ・コンフィグ
塩漬けのバージョン
フレームワーク依存症
感想
各章ごとに、章で扱う問題についてのエピソードから入り、それについての解説とアンチパターンを生まないためには?とアンチパターンのポイントについてを各節で扱います。
涙的な意味でいうと第一章が一番ウッてなりました。想像するだけで辛い。
幸いそんな突貫でDBにカラム追加したりしなきゃいけないなんてことはなかったですけれども。
読んでてちょっと戸惑ったのは、サマリーテーブルでした。てっきりRDBMSにそういう機能があるのかな?と思ったのですが、集計結果を普通にテーブルとしてCreateしてしまおうというものなのですね!
気づいてしまえば簡単です。必要なデータに応じて集計済みのデータを参照するだけなので、都度集計する必要がなくてとても高速ですね。
もちろん、リアルタイムなデータではないですが、状況に応じては十分でしょう。
細かく上げていくとキリがないのですが、正しいものを正しく作るって本当に大事ですね。
読み終えた後に振り返る目次の各タイトルに思うところしばしです。
私はアプリケーションエンジニアなので、作りっぱなしで終わってしまいがちという意味で、「第十章転んだ後のバックアップ」「第十八章ノーチェンジ・コンフィグ」あたりは気をつけないといけないなと思いました。
あと「第十三章知らないロック」「第十四章ロックの功罪」はロックでハマったことがない(もしくはハマっていることに気づいていない)のでイマイチ想像できなくて、敗北感が残ってしまいました……。
今はフロントエンドエンジニアですが、今後個人開発などでバックエンドもやることがあるかなーと思いますので、いろいろ参考になったな!という感想です。
サクっと読めておいしい本でした。いつでも取り出せるようにしまっておきたい本です。
この記事が気に入ったらサポートをしてみませんか?