NEC第一コンピュータソフトウェア事業部の濱田光保氏は,1992年の入社以来,メインフレームのデータベース業務に従事し,近年はデータベース連携ソフトウェア『DataCoordinator』の開発リーダーとしてプロジェクトのスタート時から開発に携わっています。このほどエンジニアマインド編集部は,濱田氏とお会いする機会を得ましたので,今年1月にバージョン4.1がリリースされたばかりのData Coordinatorの特長や有用性についてお話を伺いました。
データベース間のデータ連携
編集部:まずDataCoordinatorについてお聞きしたいのですが,この製品の特長をお願いします。
濱田氏:DataCoordinatorはデータベース間のデータ連携,つまりデータ活用やデータ統合を容易に実現します。多くの企業は最低でも2種類以上のデータベースを使っていて,ほとんどのデータは業務や部門ごとに別々に処理されて連携がとられていないことが多くあります。DataCoordinatorはこうした個別のデータベースで管理されたデータの連携をとり,活用性を高めるのです。それにより,基幹業務など限られたセクションでしか使われていなかったデータが,他の部門でも使用できるようになります。つまり,眠っていたデータを生き返らせ,有効活用できるようになるのです。また,組織変更や企業の合併などで異なるデータベースを統合する必要に迫られたときなどに威力を発揮します。
編集部:構築面,運用面でのメリットは?
濱田氏:GUIを使った簡単なオペレーションでデータの流れが定義でき,容易にデータベース連携システムが構築できるので,開発期間が短縮し,大幅なコスト削減が可能になります。データベースを連携させ一元で管理するということは,運用面でのコスト削減はもとより,障害の検出やリカバリといったメインテナンスも楽になります。
編集部:機能面での独自性があれば紹介ください。
濱田氏:DataCoordinatorは,2種類のレプリケーション方式を持っています。1つはデータを一括して指定された時刻に配信する方式で,日次処理,月次処理などを業務終了後のバッチ処理として行うものです。もう1つは差分レプリケーション方式といって,更新されたデータのみを配信する方法です。更新データの転送間隔を指定して,業務中に定期的に転送します。この方式を使えば,ネットワークに負荷をかけずに遠隔地にデータを随時送ることができ,送付先では鮮度の高いデータを活用することができます。また,この方式をデータのバックアップ手段として利用することもできます。現実にユーザの中には,レプリケーション方式を使って遠隔地へのデータのバックアップに利用している例があります。
編集部:多くの機能を含むとなると開発の苦労も並大抵ではなかったと思います。
濱田氏:DataCoordinatorは,納期やマンパワーなど厳しい状況の中,多くの要望を取り入れ,しかも品質の良いものを作らなければならなかったわけですから,製品化できたときは達成感がありました。NECには社内に品質保証部という製品をテストする部門があるのですが,製品化するにはそこのテストをパスしなければなりません。当部でDBMSやOSごとに1万5千に上る項目を評価し,これに加え品質保証部にてさらなるテストを行います。しかし,こうした第三者の視点でチェックしてくれる部門があると,外に自信を持って確かな製品を出せるので,開発側としてはとても助かります。Data Coordinatorはこの厳しいテストを通っているので,品質は保証します。
オープンソースソフトウェア(OSS)との共存
編集部:そもそもDataCoordinatorのようなツールを開発しようとした背景はなんでしょう。
濱田氏:ご存知のように,NECは独自のデータベースを持っていません。それは弱みでもあり,同時に強みでもあるかもしれません。自社製のデータベースを持たないことが,逆に社員に多くのデータベースに精通させたというのはゆるぎない事実です。社内にはOracleにしろSQL Serverにしろ詳しい人がたくさんいます。たとえばOracle認定試験の資格取得者は,国内の企業で一番多いはずです。OSSデータベースについても,ソースコードを読める技術者がいるため,OSSデータベースのサポートや,ツールとして製品化することができるのです。
編集部:OSSの話が出たのでお聞きしますが,OSSについてどうお考えですか?
濱田氏:はじめてOSSを見たとき,正直言って驚きました。無償のソフトウェアが出てくるようになると,将来的に我々の仕事はなくなってしまうのではないかと恐怖感すら覚えました。しかし,業務で使う場合の信頼性やサポートということを考えると,すべてがすべてOSSになるということはありえないと思います。OSSで事足りるものについてはOSSで済ませればいいですし,信頼性やメンテナンスを重視する必要から商用製品を使ったほうがいいケースであれば商用製品を使う,そうやって両者は共存していくと思います。ただ,商用のデータベースなどが無償版を出すようになったのは,OSSの存在が多少なりとも影響しているのではないでしょうか。
編集部:先ほどのDataCoordinatorもOSSデータベースにも対応していますね。
濱田氏:OSSのデータベースとしては,MySQLやPostgreSQLが有名ですが,これらは非常に優れたデータベースで,普通に使うぶんにはまったく問題がありません。我々はOSS,商用を問わず,データベースをより有効利用できるようにするためのツールを製品化しています。
編集部:今後出荷される予定のツールがあればお聞かせください。
濱田氏:新しいところでは,6月にデータベースの運用性向上ツールを2製品出荷する予定です。どちらもまだ正式名称は決まっていませんが,1つはOSSデータベースの監視ツールで,PostgreSQLは8.0以降,MySQLは4.1以降に対応しています。もう1つの製品は,PostgreSQLの8.0以降に対応したOSSデータベースのメンテナンスツールです。こちらは,データの高速ローダ機能があり,さらにデータベースの診断と破損の修復まで行うツールです。
仕事以外のものも作ってみよう
編集部:最後に,若いシステムエンジニアの方に何かアドバイスをいただけないでしょうか。
濱田氏:とにかく開発に没頭してほしいです。そして,その中から自分の得意分野を見つけ,この方面のことなら誰にも負けない,人一倍精通しているというものを持ってほしいですね。開発者は広く浅い知識よりも,まずはあるジャンルにおける深い知識を持つことのほうが大切ですし,個人の財産になります。その後,得意分野を中心に広げていくのが良いでしょう。
編集部:自信にもつながりますしね。
濱田氏:はい。それと,言われたことだけをやるのではなく,仕事以外のものを何か作ってみることをお勧めします。当部では業務で作っている製品とは直接関係のないツールを作る人が多くいます。それらのツールは開発に役に立つということで,何人かの人に使われはじめ,いつしか当部でのデファクトスタンダードになったものもあります。このように業務以外で作ったものが,部全体の効率を良くしたりします。積極的にものを作るというスタンスはエンジニアにとってとても大切なことです。もの作りにどんどん挑戦してほしいです。