Database Watch 3月版 Page 1/2

PostgreSQLをWindowsでブンブン走らす裏技


加山恵美
2007/3/9

 Oracleから超高速インメモリ・データベースの新バージョンが4月から出荷されることになりました。ところでこれはOracle Database 10gとはどう違うのでしょうか。

Oracleの超高速インメモリ・データベース

 Oracleは3月7日、「Oracle TimesTen In-Memory Database 7」(以下、Oracle TimesTen)を4月より出荷開始すると発表しました。今回のバージョン7は2005年6月にオラクルがTimesTen社を買収して以来オラクルで開発が進められたため、Oracle Database 10gとの互換性がかなり強化されています。

 「おや? 互換性?」と気付いた方もいると思いますが、これはOracle Database 10gとは別のデータベース製品です。では何が違うのか、どんな用途で使う製品なのか。オラクルの表現を借りるとOracle TimesTenは「超高速インメモリ・データベース」です。主に組み込み系で用いるか、または企業のアプリケーションでOracle Databaseと組み合わせて用いることが想定されています。

次世代ネットワーク機器で活躍

 Oracle TimesTenの組み込み用途について、ほかのオラクルデータベース製品と比較してみましょう。オラクルのデータベース製品といえば、まずOracle Database 10gがあります。加えて、オラクルが2006年2月にSleepycat Software社から買収した「Oracle Berkeley DB」もあります(参考:Database Watch 3月版)。これは組み込み用のオープンソース・データベースで、2006年9月にはバージョン4.5がリリースされました。さらにOracle Databaseの軽量版として「Oracle Database Lite」があります。

 今回のOracle TimesTen 7はOracle Database 10gとOracle Berkeley DBの中間に位置すると考えていいでしょう(図1)。それぞれの製品に適用する組み込み機器を身近で小型のものから考えると、モバイルデバイスや自動販売機などで使うのがOracle Database Lite、ネットワーク機器やストレージなどで使うのがOracle Berkeley DBと分けることができます。これよりもより大規模で高速処理が必要なもの(特に次世代の)通信ネットワーク、防衛関連装置、行程制御システムなどに使うのがOracle TimesTenです。組み込みの中では最も大きい規模に分類できます。

図1 組み込み用途における「Oracle TimesTen」のポジショニング
(出典:日本オラクルの記者発表用資料)

 大規模なネットワーク機器を例にすると、これまではハードウェア、OS、データベースからアプリケーションに至るまで専用のものを独自開発していました。しかし現在では標準的な商用ハードウェアやOSを利用するようになっています。ここにOracle TimesTenのデータベースを使うことで、開発やメンテナンスの工数を削減できると見込まれています。

 実際にOracle TimesTenは次世代ネットワークの中核となるNECのソフトプラットフォーム製品群「NC9000シリーズ」で採用されることになったそうです。

Oracle Databaseのキャッシュとして利用

 Oracle TimesTenは組み込み用途だけではありません。Oracle Database 10gと組み合わせてアプリケーションの高速化に使うことも想定されています。これまでリアルタイム処理が必要とされるエンタープライズのアプリケーションでは、高速化のために特殊なロジックをアプリケーション内部にコーディングすることもありました。この高速処理のための特殊ロジック部分をOracle TimesTenに置き換えると、開発工数削減やメンテナンス性を向上することが期待できるというのです。

 では具体的にはどのようにしてOracle TimesTenはOracle Database 10gと連携して高速化を実現するのでしょうか。答えはOracle TimesTenをOracle Databaseの動的なキャッシュとして用いることです。これには「Cache Connect to Oracle」というOracle TimesTenのオプション製品が必要となりますが、Oracle TimesTenに該当データがなければOracle Databaseから自動的にデータを取得し、またOracle TimesTenでアクセスされなくなったデータがあれば削除するといったことができます。

 そうなると「それなら、うちのアプリケーションでTimesTenを用いたらどのくらい速くなるの?」と気になるところですよね。しかし検証用のプログラムを作成するのは手間がかかってしまいます。そこでオラクルから簡易パフォーマンス評価キットとして「Oracle TimesTen Common Benchmark Tool(OCBT)が提供されます。このサンプルプログラムに稼働中のSQL文を入力すると、Oracle DatabaseとOracle TimesTenでSQLを実行したレスポンスタイムを比較することができます。開発者にはちょっとうれしいですね。

  1/2

 Index
連載 Database Watch 3月版
PostgreSQLをWindowsでブンブン走らす裏技
Page 1
・Oracleの超高速インメモリ・データベース
・次世代ネットワーク機器で活躍
・Oracle Databaseのキャッシュとして利用
  Page 2
・WindowsにフォーカスしたPostgreSQLセミナー
・Windows版のPostgreSQLで知っておくべきこと
・次期バージョンは2007年夏に登場か


Database Watch



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間