“ひどい”SQLを書いても気づかなかった新人時代
「社会人になり、最初の5年間はアプリケーション開発をしており、ほとんどデータベースには関与していませんでした。多少SQLを書く程度です。今から思えば、ひどいSQLを書いていました」
そう話しながら中西さんは苦笑いする。開発者にとって重要なのは要求された機能を実装すること。サーバーに負荷がかかる処理かどうかはさして重要ではない。一方、サーバーの運用者はサーバーを安定稼働させるのが役割であり、性能を劣化させるような処理はできるだけ食い止めたい。与えられた役割が異なるため、両者の溝は深い。
かつての中西さんはアプリケーション開発しか経験していなかったため、サーバーの性能に悪影響を与えるような“ひどい”SQLを書いていてもそれに気づかなかった。
そんな中西さんに突然の転機がやってきた。それまで短期の開発プロジェクトを転々としていたところ、5年目から金融系の基幹システム刷新のプロジェクトにどっぷり参画することになった。上流の要件定義から関与し、データベースの設計や構築、運用にも関わる。開発中心からアーキテクトや管理側へ。キャリアの大きな転換点となった。
当然、最初は「本当に?私に?いくらなんでも自分では経験がなさすぎる」と困惑した。仮にプロジェクトが失敗したら「(経験の浅い)自分に任せるからではないか」、そんな考えもよぎった。ただ中西さんだけに全てがゆだねられたわけではなかった。プロジェクトにはデータベースの経験を積んだ人もいて、中西さんはその補佐的な役割からスタートした。いずれにしても立場が大きく変わったことは確かだ。
不安でいっぱいだったかというと、実はそうでもなかった。あまりの変化の大きさに逆に開き直ることができたという。またシステム刷新のプロジェクトに最初から関与できたため、経験のなさで周囲から浮くということはなかった。
そうはいっても「どこから考えればいいのか」と全く勝手が分からない。当時携わったのは商用のデータベース製品。まずはモデリングの本を手にした。「『実践的データモデリング入門』などの本を読みました。もちろん、当時はDB Magazineも読みましたよ」と笑う。
いつしかデータベース管理者として開発者と向き合うこともあった。処理の負荷を減らすように開発者に交渉するということだ。開発者はかつての自分なので、相手の状況はよく分かる。
「気持ちはよく分かるんですよ。『その処理はサーバーの性能を劣化させるからよくない』など、正論だけでは相手に通じません。『この処理はだめ』と拒否するのではなく、『こういう処理に変えたらどう?』と修正案を考えたうえで提案するようにしました」
開発者を経験した中西さんだからこそ、開発者と管理者、アプリケーションとインフラのつなぎ役となることができた。
PostgreSQLの世界へどっぷりと―「読みは当たっていた」
基幹システム刷新のプロジェクトが一段落つくと、現在の部署に異動になった。従来のように特定の顧客を抱えることはなく、将来流行しそうな新しい技術を評価する。主にオープンソースのミドルウェアが対象となる。実際に企業システムに導入可能かどうか検証し、可能と分かれば担当チームの後方支援を行うこともある。
現段階はまず社内に理解を促すところから。商用製品の採用が中心だった社内にオープンソースの普及を進めている。顧客はもちろん、社内のエンジニアからも「オープンソースで本当に使えるの?大丈夫?」と懐疑的な声があったからだ。
「現実的にどこまで使えるかを伝えています。なかには検証したけど『現時点では使えない』ものもありますから」と、中西さんは地道に検証し、正直に結果を開示する。データベース製品だとかつてはMySQLとPostgreSQLの両方を検証していたが、最近ではPostgreSQLに絞っているそうだ。
理由は基本的な機能や性能では両者に大きな差はなく、人的リソースの制限もあるため。PostgreSQLだと特定のベンダーに属さないという“政治的な”要素も安心材料となっている。また日本国内ではPostgreSQLが普及しており、PostgreSQLエンタープライズ・コンソーシアムのように企業導入に向けたコミュニティ活動も活発であることも後押しとなっている。
「PostgreSQLに注目しているのは3年ほど前からですが、現在の潮流を見ていると『読みは当たっていたな』と思っています」
2012年夏にはLPI-Japanが運営しているオープンソースデータベース技術者認定試験Gold(OSS-DB Gold)に合格した。普段の業務でPostgreSQLに携わっているため、スキル的にはGold合格レベルには達していた。
中西さんは「社内でPostgreSQLを普及させる立場なので、とらないと示しがつかない」ということで、OSS-DB Goldが出たら間もなく、試験にチャレンジした。結果は問題なく合格。特に性能に関する問題の正答率は普段から検証しているためパーフェクトだった。
試験勉強にかけた時間はおよそ2週間。中西さんのおすすめは実機を触ること。現段階ではOSS-DB Gold向けの試験対策本が少ないため、試験の見当をつけるのが難しいところだ。中西さんは「基礎知識があれば、最初は不合格でも試験の傾向はつかめると思います。あと問題数が少ないことは注意しておいたほうがいいでしょう」と話す。設問数が少ないため、間違えると致命傷になりかねない。確実に正答を狙いたいところ。
近年では商用データベース経験のあるエンジニアがオープンソースデータベースに携わる場合も目立つ。中西さんは「データベースの仕組みを理解していれば同じRDBなので、オープンソースデータベースといっても、そう難しくないはずです」と話す。大事なのは根幹の仕組みを理解することだという。
目指すは、「得意分野を持つジェネラリスト」
中西さんは最近のオープンソースデータベース動向をどう見ているだろうか。
「オープンソースであろうとも基本的な機能は商用のものとそう大差なく、性能を見ても運用次第では遜色ないレベルに達してきていると思います。ただ商用はオープンソースと比較して周辺ツールが充実していたり、クラスタリングなど高度な運用に関する機能を持ち合わせていることなどが優位性としてあげられます。オープンソースデータベースにとってこうした側面はこれからの課題といえるでしょう」
オープンソースデータベースは商用製品にまだ及ばないところもあるものの、最近では周囲のオープンソースデータベースへの意識が変化してきていることを中西さんはひしひしと実感している。前は「そもそも使えるの?」と懐疑的だったが、今では「ここはどうすればいい?」と実践的なところに目が向けられるようになってきたからだ。企業システムにおける詳細な導入事例が開示されるようになり、周囲の関心は実際に使う上での具体的なノウハウに向くようになってきた。これは裏を返せば、「企業システムでも使える」という信頼を得たからだろう。
中西さん自身の将来はどうか。何かの技術だけを究めるスペシャリストとなるのはやや抵抗があるようだ。流行が去り、廃れてしまうというリスクを懸念してのことだ。目指すは「何か1つは得意分野を持つジェネラリスト」。中西さんにとって「何か1つ」となるのはもちろんデータベースとなるだろう。
データベースならアプリケーションの上層にも、ネットワークやOSなどの下層にもつながっているため、データベースをキャリアの中心にすえるというのは賢明といえる。またオープンソースなら今後の需要も見込める。
「今後はPostgreSQLの世界で名前が売れるようになりたいですね」と中西さんは笑顔で意気込みを見せた。
■■■ Profile ■■■
中西剛紀 NAKANISHI,Yoshinori
TIS株式会社
コーポレート本部
戦略技術センター 主査
TIS入社後、
2010年に現部署異動後は PostgreSQLをはじめとするオープンソースの技術検証を開始し、得られたノウハウを体系化したアプリケーション基盤「ISHIGAKI Template」を開発。
現在は ISHIGAKI Template を通じて、オープンソースを
社内のプロジェクトへ活用する際の技術支援を行うとともに、
「OSSマイグレーションサービス」の事業立ち上げにも参画している。
また、得られたノウハウや情報はIT系雑誌、弊社技術ブログといったメディアや、日本PostgreSQLユーザ会、
趣味はカラオケ。1人で3時間位歌い続けることも可能で、ストレス解消には一役買っているのかもしれない。