働くおじさん データベースエンジニア編
子供:おじさんは何の仕事してるの?
おじさん:データベース管理する。データベースエンジニアさ。
子供:それなに?食えるの?
おじさん:
「宝の山です。」
個人情報や企業のデータがお金になる世の中です。
流出したり、破損したら損害賠償ものです。
そういう意味から、宝だなあと思っています。
その宝を守るのがデータベースエンジニアです。
子供:すごいねー。
おじさん:おじさんの一日を紹介するよ。
■データベースエンジニアの一日
・障害がない日
9:00 出社
9:00-9:30 ミーティング
9:30-12:00 メール読み書き、開発データベースメンテナンス作業、業務チームのSQLレビューに参加
12:00-13:00 お昼休み
13:00-17:30 メール読み書き、データベース設計、サポート問い合わせ
何もなければ、定時六時くらいに帰れます。
良い職場、良い仕事だと思います。何もなければ。
・障害が発生した日
3:00 電話が鳴りだす。
3:01 電話に出る。プロジェクトマネージャから「本番環境のデータベースが止まったみたいです。」
との連絡を受ける。
3:10-3:30 タクシーで現場に向かう。
3:30-3:40 保守端末から、本番データベースに接続し、本当にデータベースが死んでいるか確認する。
3:40-3:50 データベースは死んでいないが、メモリがいっぱいで、死んでるのと同じだと分かる。
プロジェクトマネージャに、データベースの停止をしてから復旧してよいか判断をあおる。
3:50-4:30 復旧作業。
4:30-5:00 障害原因調査、サポート問い合わせ。
5:00-6:00 お客様のところに謝りに行く。
6:00-23:00 サポートとのやり取りや、サポートに問い合わせるための情報収集、報告書作成、再発防止策検討。
何かあると、その程度にもよりますが、普段のまったりモードから、阿修羅モードに変わります。
子供:恐ろしいね。
おじさん:そうだね。障害が起きると肝が冷えるね。
子供:障害が起きないデータベースって作れないの?
おじさん:
データベースを死なせないために、設計・構築の時点から、パラメータ設定や、ディスク、メモリ容量などに気を使います。
上席者、有識者のレビューもしっかり受けます。
もちろん構築後のテストもしっかり行います。
それでも、データベースは死ぬときは死にます。
原因としては、やっぱり実運用してみて初めて発生することが原因だったり、データベースソフトウエア自体の潜在的なバグ
だったり。
あとは、ディスクの経年劣化によるデータ破損とか。
全ての結果には原因があるはずです。
ただ、データベースが落ちた後、その原因を調査するのは骨の折れる作業です。
データベースが落ちた時に出力されるログは、大概落ちた瞬間を捉えたものばかりだからです。
落ちるぞー、落ちるぞーの兆候がログから分かるときもありますが、分からないことのほうが多い。
結局、再現待ちとなることが多いです。
そんな悠長なことを言ってる時間はないので、開発環境で、どういう場合に再現するか試したり、日替わりで本番データベースの
健康状態を監視する日々が始まります、、、
子供:データベースが死ぬ前に、おじさんが死にそうで心配だなあ。
おじさん:だけど、障害を突破した後のビールは美味いよ。
子供:未成年に酒をすすめんなよ。
次回は、株でこそこそ稼ぐおじさんについてお送りします。