インターシステムズ開発担当副社長インタビュー
Javaを使ってる? ならばオブジェクトデータベースだ!
2010/06/29
「エンジニアはみんなオブジェクト指向言語を使っているのに、なぜオブジェクトデータベースを使わないんだろう? まるで、高級なポルシェに乗っているのに、ガレージではバラバラに分解して格納しているみたいだ」――そんなジョークが社内ではやっていると話すのは、インターシステムズソフトウェア開発担当副社長 ロバート・ネーグル(Robert Nagle)氏だ。オブジェクトデータベースであるCaché(キャシエ)を販売する同社の取り組みについて、開発者でもある同氏にインタビューを行った。
オブジェクトデータベース市場は拡大している
インターシステムズ ソフトウェア開発担当副社長 ロバート・ネーグル氏ネーグル氏はインターシステムズの状況について「2009年、経済はリーマンショックで縮小した。そのころインタビューを受けていたなら、弱気な発言をしていたかもしれない」と述べる。しかし同社はこの状況においてあえて投資を行い、730名だったスタッフを1000名にまで増やしたという。しかも、その増員のほとんどが技術スタッフだ。その結果、2009年は5%成長となり、売上の85%がオブジェクトデータベースのCachéによるものだという。
海外では、Cachéが特に医療系で強いという。Cachéは臨床用のアプリケーションのバックエンドとして「最も使われているデータベース」(ネーグル氏)で、アメリカの上位20位に入るすべての病院で利用されている。
これには、2つの理由があるという。1つは「ほかの領域に比べ、医療系で利用されるデータモデルが大変複雑なこと」。繰り返し項目が多く、通常のリレーショナルデータベースでは現実的な対応が難しいほどの複雑なモデルが要求される分野だという。
「病院のデータモデルは複雑な上に、各組織ごとに1000万人から1500万人分のデータを大変長い期間保持しなくてはならず、データ量も多い。これに対応できるのもCachéの利点だ」(ネーグル氏)
2つ目は「急激に動く業界」であることを挙げる。アメリカにおける病院のシステムはアプリケーションのカスタマイズ要求が多く、継続的に改修が発生している。それに対応するにも、データモデルを柔軟に拡張できるCachéが生きてくるという。
開発方針は「シンプル・イズ・ベスト」
では、このような分野に通常のRDBを利用してしまうとどうなるのだろうか。ネーグル氏は「もちろん、RDBでも対応はできる。しかし、シンプルにはならないので、開発のためには多くの人的リソースを必要とする」という。ここで問題になるのは、そのような大人数を擁するプロジェクトは「コミュニケーションが複雑になるため、“Less Progress”になる」ことだ。
ここには、ネーグル氏の「エンジニア」としての知見が生きている。同氏にCachéのデザイン哲学を尋ねたところ、「システム内部はとにかくシンプルに」というひと言が帰ってきた。その理由として、「シンプルの利点は2つ。1つは速くてスケーラブルな仕組みになる。もう1つは、バグがなくなることだ」と答える。複雑さは性能の敵であり、信頼性の敵で、システムを作るには、その複雑性を取り除くことに注力すべきだという。
「Cachéは何度もバージョンアップをしており、そのたびにいろいろな新機能を追加している。しかし、どれだけ便利になったとしても『前のバージョンよりも遅くしない』という原則を貫いている。インターシステムズの開発者は、まずパフォーマンスを第一に考えてコーディングを始める。パフォーマンスはあとから付け加えるものではない」(ネーグル氏)
CachéにはSQLによるアクセスもでき、RDB的な側面を持っている。そのため、オブジェクト指向言語に慣れたエンジニアであれば、特に習得すべきスキルはないという。「オブジェクトデータベースを知らないエンジニアは、これを利用して成功した事例をケーススタディとして学んでほしい。理論ではない。その成功事例を見ればきっと分かるはずだ」(ネーグル氏)
関連リンク
関連記事
情報をお寄せください:
TechTargetジャパン
- やはりSELECT文は永遠のテーマです (2012/2/7)
Database Expertフォーラムの2012年1月のアクセスランキングをお届けします。定番の記事を一気に追い抜いてあの記事が…… - SELECT文で取り出したデータを加工して表示する (2012/1/25)
SELECT文で取り出したデータを対象に四則演算する方法など、データを見やすくする方法を解説します - 2012年は私たちが勉強会を盛り上げる! (2012/1/23)
2011年12月、データベース業界初の女子会が発足しました。そこで、女子会を盛り上げていってくれそうな2人にお話を伺いました - 複数の条件を指定してSELECT文を実行する (2012/1/13)
複数の条件を指定してSELECT文を実行する方法と、条件指定に必要な論理演算子、比較演算子の役割を解説します
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
