グローバル転職NAVI

キービジュアル キービジュアル

タカシの外資系物語

テッキーなあいつ ( その 1 )2004.12.09

クエリーを作る

Takashi ! Pls help me …


上司の Neil が呼んでいます。年末の決算を控え、管理職連中は業績予測の真っ最中。会社のシステムにアクセスして、いろんな観点から数値を分析しています。会社のシステムから出てくる定例計表では限界があるため、データベースを直接いじって、自分の欲しい情報を取ってくるわけです。Neil はこのようなデータ分析作業が大の苦手なようで、いつも私にデータの加工をお願いしてきます。一般的に、外国人は PC やシステム関連の作業が得意なイメージがありますが、私の経験ではそうでもありません。50 代に近いおじさん連中は、洋の東西を問わず、PC が苦手な人がまだまだ多いように思います。


どのようなデータベースであっても、ある条件に従って数値を集計するためには、「Query(クエリー)」という機能を使います。例えば、「顧客が銀行で、今年の 7 月以降に開始したプロジェクトのうち、売り上げ 1 億円以上のもの」という条件ならば、


顧客属性フラグ = 銀行


プロジェクト開始日 > 20040701


売り上げ > 100,000,000円


なんていうクエリーを作って、データベースに検索をかけるわけです(実際には、もっと複雑な設定をするのですが)。


これは余談になりますが、私が銀行のシステム部にいたときには、来る日も来る日も、クエリー作りに明け暮れていました。プログラムの不具合(バグ)が出るたびに、データに影響が出ていないか確認する作業をしなければならないからです。私が所属した課の連中は、「クエリー」のことを「キューリー」と呼んでおり、クエリーを作成することを「キューリーを育てる」と言っていました。「野菜とらにゃ、だちかんぞー !」なんて言っている上司もいました(ふ、古っ ! 大昔に野菜ジュースの CM で流行ったフレーズです)。入社当時は、まさか銀行に入って野菜を育てるとは思っていなかったもので、最初のうちは面食らったものです。

「クエリー王」の失態

クエリー作りに慣れてきた頃、私は大失態を犯したことがあります。通常、クエリー検索を実行する場合には、社員のみんなが実際に使っているシステム環境(「本番環境」という)ではなく、それをコピーした調査用のシステム環境(「開発環境」という)を使います。銀行のシステム部内で、自称「平成のクエリー王」を気取っていた私は、今日も複数かつ複雑なクエリーを作って、ガンガンに走らせていました。


「さぁ、手塩にかけて育てたキューリーちゃん。頑張ってデータを検索してねーー」


しばらくして、ある部署からシステムトラブルの電話。


担当者 「あのー、30 分ぐらい前から、システムが全然動かなくなっちゃたんですけど……」


タカシ 「それは変だな…… 画面になんかメッセージ出てます ?」


担当者 「えーっと…… “Performance is terribly low. ‘Taka-Query1’ occupied on CPU 92.5% …”」


タカシ 「…… い、いかーーーーーーーーーーん ! 本番で走らせてもーーたーーー !(T-T)」


「Taka-Query 1」 というのは、私が作ったクエリーです。私は開発環境でしか実行してはいけないにもかかわらず、誤って本番環境でクエリーを実行してしまったのです。その結果、私のクエリーのためにシステムのパフォーマンスが落ち、通常のシステム処理が行えなくなってしまったのです。


結局、部長・課長・私の 3 人で迷惑をかけた部署に深々と頭を下げ、何とか許してもらうことができました。しかしこの事件以来、「平成のクエリー王」という私の称号は地に落ち、「暴走キュウリ君」と呼ばれるようになってしまいました。な、情けなし…… トホホ……

データベースをチューンアップせよ !

さて、以上のような輝かしい経験(?)を持つ私ですが、プロのデータベース・エンジニアというわけではありませんので、その能力もたかが知れています。データベース処理について言えば、平均よりはちょっとデキるかな、ぐらいのレベルにすぎません。世の中には、私などは足元にも及ばないような、「techieなやつら」(テッキー。技術、特にコンピュータに詳しい人のことを指します)が存在しているのです。


数年前のこと。すでに外資系コンサルティング会社に転職していた私は、ロンドンにいました。実は、日米欧混合のわれわれプロジェクトチームは困り果てていたのです。


「うーーむぅ…… パフォーマンスが全く上がらん……」


導入するシステムのプログラミングは終了し、すでにシステムテストの段階に入っていました。システムに要求される機能面のテストはほとんど終了していたのですが、1 つ大きな問題が立ちはだかったのです。パフォーマンス、つまり処理時間がかかり過ぎるのです。ある計算処理の実行をしてから結果が出るまでに、速くて 30 分、条件が複雑になれば 5 時間ぐらいかかっていました。


「Problem is … database structure …(問題はデータベースの構造にあるんだよ……)」


実際に、データベースの構造とパフォーマンスとの間には、大きな因果関係があります。例えば、あなたが、大根とブリとお酒を買いに行くとしましょう。それぞれを購入するのに、八百屋さん、魚屋さん、酒屋さん…… と行っていたのでは、時間がかかりますよね。一方で、スーパーマーケットに行けば、同じ場所ですべての買い物が済んでしまいますから、時間という観点では、一番速い方法です。データベースの構造も同様で、よく使用されるデータを近いところに集めておけば、処理が早く終了するのです。このように、主に処理時間の観点からデータベースの構造を変更していくことを、「データベースのチューンアップ」と言います。


現在プロジェクトに参加しているプログラマでは、これ以上のチューンアップは難しそうです。私は、ロンドンから東京に電話して、チューンアップができる人材を探してもらうことにしました。


タカシ 「だれかいい人いませんかね……」


上司 「そうだなぁ…… 1 人、いるにはいるんだけど…… ちょっと問題が……」


タカシ 「どんな問題ですか ? 英語なんて話せなくてもいいですよ」


上司 「いや、そういうことじゃないんだよ。もちろん、英語できないやつなんだけど……」


タカシ 「じゃ、そいつでいいですよ。すぐにロンドンに来てもらうように、手配お願いします」


そいつの名は、シンノスケくん。シンノスケくんは、週明けの月曜日からプロジェクトに参加することになりました。

シンノスケ登場

Ri—ng ! Ri------ng !!! 週末、滞在中のアパートで寝ていた私は、電話の音で起こされました。


「ハ、ハロー…… ムニャムニャ……」


「あのぅ…… もしもし。シンノスケですが…… 今ヒースロー空港にいます」


東京から呼び寄せた、シンノスケくんでした。


シンノスケ 「実は…… ちょっと困ったことが……」


タカシ 「どした ?」


シンノスケ 「スーツケース盗まれました」


タカシ 「にゃに ?」


シンノスケ 「トイレに行ってる間、入り口に置いといたら盗まれました」


なんちゅう無用心なやつなんでしょうか。海外に来て、スーツケースを放置したままでトイレに行くとは……


タカシ 「パスポートは ? PC は ?!」


こうなった以上、衣類などの荷物は仕方ありません。問題はパスポートと PC です。パスポートの重要性は言うまでもありませんが、PC には一部の顧客情報が入っている可能性がありますから、紛失や盗難に遭うと厄介なのです。


シンノスケ 「パスポートはポケットに入れてたんで大丈夫です。PC は手に持ってましたから」


タカシ 「そっか、PC は別のカバンに入れてたんだ。ま、よかった、よかった」


シンノスケ 「いや、カバンになんか入れてません。直接手に持ってましたけど……」


タカシ 「え ? 直接、手で ? ……」


…… PC 本体を生(ナマ)で手に持ってトイレに行くやつ…… シンノスケ恐るべし…… 

シンノスケ、かなり問題あり……

さて、週明けの月曜日。私はプロジェクトルームでシンノスケを待っていました。


「おっせーな、あいつ…… 9 時に来いって、あれだけ言ったのに……」


アパートの部屋に電話しても、だれも出ません。私は東京の上司が言っていた「ちょっと問題がある……」の一言を、今になってかみしめていました。


「使えねぇな、こいつ……」


お昼近くになって、やっとシンノスケが現れました。


タカシ 「お前なぁ、1 日目から遅刻すんなよ。社会人なんだから……」


シンノスケ 「すいません…… 海外初めてなもんで、すっかり眠ってしましました…… ハウスキーパーのおばさんに起こされちゃいましたよ、ハハハ !」


タカシ 「あのなぁ…… 普通は初めてだったら緊張して眠れないんじゃないの ? んったくぅ…… ま、いいや。早速仕事してもらうからな」


私はシンノスケに、現在起こっている問題の概要を説明しました。シンノスケはシステムの仕様書と実際のプログラムをじっと見ながら、ときどきキーボードをたたいていました。かれこれ、4 時間ほどたった頃でしょうか。


シンノスケ 「タカシさん、こんなもんでしょうか ?」


タカシ 「ん ?」


シンノスケはおもむろに、処理の実行キーを押しました。

  • このエントリーをはてなブックマークに追加

外資・グローバル企業の求人1万件以上。今すぐ検索!

この記事の筆者

奈良タカシ

1968年7月 奈良県生まれ。

大学卒業後、某大手銀行に入行したものの、「愛想が悪く、顔がこわい」という理由から、お客様と接する仕事に就かせてもらえず、銀行システム部門のエンジニアとして社会人生活スタート。その後、マーケット部門に異動。金利デリバティブのトレーダーとして、外資系銀行への出向も経験。銀行の海外撤退に伴い退職し、外資系コンサルティング会社に入社。10年前に同業のライバル企業に転職し、現在に至る ( 外資系2社目 )。肩書きは、パートナー(役員クラス)。 昨年、うつ病にて半年の休職に至るも、奇跡の復活を遂げる。

みなさん、こんにちは ! 奈良タカシです。あさ出版より『外資流 ! 「タカシの外資系物語」』という本が出版されています。
出版のお話をいただいた当初は、ダイジョブのコラムを編集して掲載すればいいんだろう ・・・ などと安易に考えていたのですが、編集のご担当がそりゃもう厳しい方でして、「半分以上は書き下ろしじゃ ! 」なんて条件が出されたものですから、ヒィヒィ泣きながら(T-T)執筆していました。
結果的には、半分が書き下ろし、すでにコラムとして発表している残りの分についても、発表後にいただいた意見や質問を踏まえ、大幅に加筆・修正しています。 ま、そんな苦労 ( ? ) の甲斐あって、外資系企業に対する自分の考え方を体系化できたと満足しています。

書店にてお手にとっていただければ幸いです。よろしくお願いいたします。
奈良タカシ

合わせて読みたい

---