![]() |
TimesTenは完全なデータ管理機能を提供する--オラクル担当者が語る |
Oracleでは、中核となるRDB「Oracle Database」に加え、組込用途向けデータベースとしてOracle Liteを用意し、さらに2005年にTimesTen、2006年にBerkeley DBを相次いで買収してラインナップの強化を図っている。
今回は、Times Tenの創業メンバーの1人であり、現在はOracleで組込データベース製品担当バイスプレジデントを務めるMarie-Anne Neimat博士にTimesTenの製品概要と、同製品に関する同社の戦略を聞いた。
Marie-Anne Neimat博士
TimesTenは1996年に設立され、2005年にOracleに買収されました。中核技術は「インメモリのリレーショナル・データベース」で、この技術はHP(Hewlett-Packard)のR&Dラボで「Smallbase」という名称で研究されていたプロジェクトが元になっています。HPではSmallbaseの製品化は行なわず、TimesTenはHPからのスピンアウトとして設立されました。この技術の特徴は、一般的なRDBと同じ機能をはるかに高速に実行できる点で、レスポンスタイムが短く、リクエストに対して即座に応答が返ります。TimesTenという名前は「Ten Times Faster(10倍高速)」という意味を含んでいます。
TimesTenは、データをメモリ上に展開して動作するインメモリRDBですが、システムはスタンドアロンで利用可能です。インメモリとはいっても、システムダウンなどでメモリの通電が断たれる可能性もありますから、一定周期でトランザクション・ ログをディスクに保存するなどの対策を行なっており、データの一貫性も常に正しく保証されます。
スタンドアロンで使う以外にも、エンタープライズ市場で目立つ用途として、Oracle DBの前段でキャッシュとして動作させる使い方もあります。これは、Oracle DBの強みとTimesTenの強みを組み合わせる、有効な活用法となっています。
現在TimesTenはOracleの製品となっており、Oracle DBを補完する役割を担います。TimesTenは、ミドルティア/アプリケーションティアにリーチできるので、Oracle DBの市場拡大をリードする役割も期待されます。
TimesTenとOracle DBの組み合わせでは、スケーラビリティの高さはOracle DBが、レスポンスタイムの速さはTimesTenがそれぞれ担うという、それぞれの強みを活かした役割分担が実現できるのです。大規模なデータをOracle DBに格納し、頻繁にアクセスされる一部のデータのサブセットをTimesTenにコピーしてキャッシュとして利用することで、レスポンス・タイムを大幅に短縮できます。
現在では、リアルタイムアプリケーションに対する需要は特殊用途に限られるものではありません。多くの業界の多くのアプリケーションで、データ量とトランザクション量が共に増大し、同時にリアルタイムのレスポンスが要求されるようになってきているのです。TimesTenの高速性能は、リアルタイムでのデータ処理の需要に対応できます。
Marie-Anne Neimat博士
Oracleでは、“すべてのユーザーのすべてのアプリケーションが必要とする完全なデータ管理機能を提供する”ことにコミットしています。そのためにも、Oracleは複数のデータベース製品を揃えています。
Oracle Databaseは、豊富な機能性を備えた、代表的なRDBMSで、パフォーマンスとスケーラビリティには特に強みがあります。
一方組込系では、TimesTenはアプリケーションティアで動作させることができ、Oracle DBと連携することでOracle DBを補完し、瞬時にレスポンスを返すことができます。また、Berkeley DBはトランザクショナル・ストレージ・マネージャと位置づけられる製品です。Berkeley DBでは、データ管理機能は提供されますが、SQLはサポートしません。アプリケーションが、複数のユーザーが同一レコードに同時にアクセスしたり更新したりするといった状況に対応する必要がある場合、独自のデータストアを用意するよりも、Berkeley DBを使ってデータ管理機能やトランザクション処理、高信頼性を実装すればメリットが大きいでしょう。
最後に、Oracle Liteはフットプリントの小さなRDBで、主にモバイルユーザーを対象とした製品です。リソースが限られた小さなデバイスに組み込むことができ、オンライン/オフラインのどちらでも利用可能です。オンラインに復帰したときにはオフライン時に更新された情報を、同期機能を使ってOracle DBのデータと同期させることができます。携帯電話やPDAに内蔵するような場合にも対応できます。
Oracleが提供するデータベース製品は幅広くさまざまな要件をカバーし、かつすべてが協調して動作することができます。これによりOracleは、ユーザーやアプリケーションが必要とするデータ管理機能すべてに対応する完全なスペクトラムを提供することができるのです。
TimesTenの市場は、大きく「組込」と「エンタープライズ」に分かれます。組込では、アプリケーションのデータストアとして利用され、具体的にはテレコム業界向けの課金管理アプリケーションなどで利用されている例があります。一方、エンタープライズ市場では、Oracle DBの前段に配置してキャッシュとして利用し、高速なレスポンスを実現する、という用途が大半です。
Marie-Anne Neimat博士
アプリケーションに対してキャッシュをどのように活用するのか、例として、エアラインの予約システムを考えてみましょう。
多くの人がフライトスケジュールを見るために大量のWebアクセスを発生させます。チケット情報や予約状況はもちろん、あるフライトに対して、どの機材がアサインされたか、どのクルーがアサインされたか、といったエアラインが内部で利用する情報も、すべての情報がOracle DBに格納されているとします。
TimesTenをOracle DBの前段に配置してキャッシュとして使うと、Oracle DBが格納している情報の中から、必要な情報だけをコピーしておくことができます。Webを通じてアクセスしてくる多くのユーザーが見たいのは、フライトに関する情報や座席状況に関する最新情報ですから、この部分だけをTimesTenにコピーしておくことができます。
TimesTenは極めて高速なので、大量のWebアクセスが発生しても、ユーザーには快適なアプリケーション体験が提供されます。同時に、バックエンドのOracle DBも大量のアクセスから解放されます。 TimesTenが格納している情報に対するリクエストはTimesTenだけで処理され、Oracle DB側にアクセスが到達することはないからです。このため、Oracle DBに与える負荷も軽減されることになります。
別の座席販売アプリケーションによって空席に予約が入り、フライトが満席になることもあります。このように、TimesTenが知らないうちにバックエンドのOracle DBのデータが変更されると、キャッシュの内容が正しいデータと一致しなくなってしまいます。TimesTenではOracle DBとの密接な連携により、こうした場合にも自動的にTimesTenの情報がアップデートされるようになっています。
キャッシュのために別のデータベースを導入するまでもなく、Webキャッシュのためのソフトウェアやアプライアンスを使えばよいという考え方もあるかもしれません。実際、階層型のアプリケーションインフラの中には、キャッシュ技術を導入可能な層がいくつもあります。たとえば、データベース層、アプリケーション層、Web層のそれぞれでキャッシュ技術が実装されています。
TimesTenをOracle DBの前段でキャッシュとして利用する場合、アプリケーション層のすぐ手前で動作することになります。ただし、これはWeb層でのキャッシュ技術と対立する概念ではありません。実際には、必要に応じてどちらかを選ぶこともできるし、同時に併用することも可能です。TimesTenによるアプリケーション層でのキャッシュとWeb層でのキャッシュはそれぞれ動作が異なり、異なるアクセスに対して効果を発揮します。2つの技術を併用すれば、それぞれがパフォーマンスに対して貢献することになるでしょう。Web層のキャッシュ技術が存在することはTimesTenによるアプリケーション層キャッシュの意義を損なうものではないのです。
TimesTenは組込用途でも利用されていますが、アプリケーションソフトウェアへの組込が主です。TimesTenのフットプリントでは、モバイル機器や家電製品への組込は想定されておらず、こうした用途にはBerkeley DBやOracle Liteが対応します。なお、TimesTenのシステムサイズは10MB程度で、さほど大きいわけではありませんが、携帯電話に組み込むには最適とは言えないサイズであることは間違いないでしょう。データサイズに関しては、システム上でどれだけのメモリが実装されているかに依存します。実際の運用例では、60GB~100GBというサイズで利用されている例もあります。
TimesTenは、現時点でもいくつかの業種で広く利用されています。
たとえば、テレコム(電気通信)業界、ファイナンシャルトレーディング(金融取引)業界、エアラインやチケット販売などの顧客向けアプリケーションの分野はTimesTenが得意としている市場だと言えます。一方これまでのところ、製造業向けの取り組みはまだ充実しているとはいえない状況ですから、今後はこの分野でより積極的に取り組んでいくことも考えられますね。
製品開発に関しては、Oracle DBとの互換性をさらに高めることと、キャッシュの透明性をさらに強化することが大目標となります。さらに、最初期から一貫して取り組んでいる最重要テーマがパフォーマンスの向上であり、この点には常に努力を重ねています。
エンタープライズ市場では、Oracle DBのキャッシュとして利用される例が多数を占めています。このため、Oracleに買収されて以降の製品開発では、リリースアップごとにキャッシュ機能の強化を継続的に行なっています。Oracle DBとの互換性向上も重要で、現在ではアプリケーション側から見るとOracle DBもTimes Tenもほぼ同じようにアクセスでき、どちらにアクセスするかに応じてアプリケーション側のコードを変更する必要はまずないという状況にまで至っています。
ZDNET Japanは、Ziff Davisからのライセンスに基づき株式会社4Xが運営しています。
ZDNET Japan is operated by 4X Corp under license from Ziff Davis.
Copyright © 2026 4X Corp, Inc. All rights reserved. No reproduction or republication without written permission.