最近はあまり技術的な仕事をしていないんですが、実は私は元々DBエンジニアです。

 

OがつくDBとか、PがつくDBとか、mがつくDBとかをいじくって、クエリを書いたり、テーブルの設計をしたり、パフォーマンスのボトルネックをあれこれ調べて解消したり、INDEXヒントを総とっかえして頑迷なオプティマイザをぶん殴ったりすることが主なお仕事でした。今でもたまーにそういうことをします。

同業の方であればお分かりかと思うんですが、DBのパフォーマンスは凄く唐突に、かつ多くの場合極端に落ちます。そして、DBのパフォーマンスが落ちると物凄く広範囲に影響が及びます。

 

アプリケーションサーバ、重くなります。クライアント、ろくに動かなくなります。お客様、切れます。カスタマーサポートにはわんさか電話がかかってきます。

 

ただ「遅くなる」だけでも十分に影響は甚大なのですが、それ以上のトラブルが発生するとまあエラいこっちゃです。

 

特にBtoCのシステムにおいて、「システムの異常」は決して、決して見過ごされません。何でそんなにレスポンスが早いんだ監視センターか、と思うくらい、瞬間的にお客様からのレスポンスは戻ってくるものです。

 

別にDBに限らないのですが、サーバーというものは生き物です。データを食っては吐き食っては吐き、時にはおなかを壊し、時には錯乱してよくわからない呪文を吐き出し始めます。

手がかかる子どものようなものでして、保守担当は彼らのお世話に並々ならない工数をつぎ込むことになります。

 

なにせパフォーマンスが落ちた時の影響が甚大なので、保守担当は可能な限り、異常が発生する前兆を捉えて、常に先手、先手で対応を検討し、メンテナンスの判断をしなくてはなりません。

DBの場合であれば、DBAは常にパフォーマンスレポートなり、AWRレポートなり、チューニングアドバイザなりとにらめっこをして、おかしな負荷の増大はないか、パフォーマンスが下がったクエリはないか、IOの妙なスパイクはないかと探し回ります。そして、何か前兆を見かけたら、慎重にテストした上でそれを叩き潰します。

これ、結構大変な作業です。やり始めると10時間20時間平気で飛びます。それをやった上でも、パフォーマンスの低下を完全に防ぐということは至難の業なのです。

 

ところが、それだけ大変な作業をやったとして、その作業が目に見える形でユーザーに評価されることは極めて稀です。

 

ある時、土日にDBのメンテナンス作業をテッテー的にやりまして、かなりのパフォーマンス改善を実現したことがありました。

ある処理においては応答速度が200倍くらいになった筈で、フフーン流石にここまで頑張れば文句もないだろう、とドヤ顔もあらわにユーザー部門の人に感想を聞いてみました。

「ああ、なんか普通に動いてますね」

これが回答でした。ウソやーん。ドヤ顔していた私涙目です。

 

これ割と一般的に言えると思うんですが、ユーザーには「応答時間が3倍になれば大騒ぎをするが、それが0.01秒になっても気づきもしない」という傾向があります。

後者を達成するためにはエラいコストがかかるのですが、そのコストが適切に理解されるケースは滅多にありません。「スムーズに動いている」ことの価値は、基本的に理解されないのです。

元来、我々のインフラに対する期待度は聊か高過ぎ、それに比してインフラに対する評価は低過ぎるのではないでしょうか。

 

電気は流れているのが当たり前、水道は蛇口を捻れば流れ出すのが当たり前、電車は定刻通りに動いているのが当たり前であって、止まればそれは「異常事態」なのが日本社会なわけですが、実際の所インフラをインフラとして運用するだけでも、コストはかかるし腕も要るものです。

健康のありがたみは体を壊すまで分からないけれど、健康を保つには実際それなりのコストがかかる、という話です。

 

システムなんぞ何をかいわんやで、元来「不安定な状態」がデフォルトかと思いたくなるくらいインフラとしては未成熟なのに、向けられる期待値は社会基盤のインフラに向けられるそれとあんまり変わらない様な気が、時折します。

サーバがダウンすれば批判が殺到しまくるけれど、サーバが安定して動いていても誰も「保守の人たちいい腕だなー!」とは言わない。

 

ただ、「システムがトラブルなく動いている」というそれだけで、案外裏では頑張っている人達がいるんだ、という。社会の様々なインフラと同じように、システムにおいても、もうちょっとそういう認識が一般的になってもいいんじゃないかなあと、私はそんな風に思うのです。

 

皆さんが使ってるシステム、ちゃんと動いてますか?トラブル起きてないですか?

もしトラブルなくちゃんと動き続けているのであれば、時には保守担当に優しい言葉をかけてあげてください。結構頑張ってると思いますよ、彼ら。

今日書きたいことはそれくらいです。

 

【お知らせ】
Books&Apps及び20社以上のオウンドメディア運用支援で得られた知見をもとに、実際我々ティネクト(Books&Apps運営企業)が実行している全48タスクを公開します。

「成果を出す」オウンドメディア運営  5つのスキルと全48タスク
プレゼント。


これからオウンドメディアをはじめる企業さま、現在運用中の企業さま全てにお役に立つ資料です。ぜひご活用ください。

資料ダウンロードページはこちら↓
https://tinect.jp/ebook/5skills48tasks/
メールアドレス宛てに資料が自動送信されます。

ティネクトの事業・サービス詳細はこちら

 

【プロフィール】

著者名:しんざき

SE、ケーナ奏者、キャベツ太郎ソムリエ。三児の父。

レトロゲームブログ「不倒城」を2004年に開設。以下、レトロゲーム、漫画、駄菓子、育児、ダライアス外伝などについて書き綴る日々を送る。好きな敵ボスはシャコ。

ブログ:不倒城