[DB Interview]
RFID、ECサイトに求められるデータベース性能とは? Page 1

@IT編集局
上島 康夫
2004/11/25

金融システムやECサイト、さらにはRFIDの登場で、データベースは膨大なデータをリアルタイムに扱う必要に迫られつつある。データベースに求められる性能はどう変化していくのか。オブジェクト指向データベース「ObjectStore」を提供する米プログレス・ソフトウェア社ObjectStore事業部門のマーケティング担当副社長、マーク・パーマー氏に同社が掲げる「リアルタイム・データサービス」というコンセプトについてインタビューを行った。

データ・キャッシングとECサイト

── ObjectStoreはECサイトでは代表的なAmazon.comのシステムに採用されているそうですが、どのような経緯で導入が決まったのですか。

 
ObjectStore事業部門 マーケティング担当
副社長
マーク・パーマー氏
 

 Amazon.com(米国サイト)の書籍コーナーでは、新刊本と古本を同時に販売しています。実際に古本を売っているのはサードパーティで、Amazon.comはその在庫情報をWebサイトに表示するだけです。現在、10万のパートナーが古本販売に参加しており、書籍コーナー全体のアクセス数は2000万回/時間以上にもなります。

 当初、このシステムは在庫情報を格納するバックエンドのRDBMSと、そのデータをキャッシュしておくフロントエンドのRDBMSの2層構造となっていましたが、2つの問題点がありました。1つは、キャッシュ用のフロントエンドに高性能なUNIXマシンを用意し、20個のRDBMSインスタンスを稼働させる必要があり、コストがかかっていたこと。もう1つは、フロントエンドのキャッシュ・データとバックエンドの在庫情報を同期させるのに12時間もかかっていたことでした。

 バックエンドのRDBMSはそのままに、フロントエンドのデータ・キャッシングに「ObjectStore 」のファミリ製品であるObjectCacheを導入することで、Linuxマシン上で稼働する4つのObjectCacheインスタンスにリプレイスでき、コストを大幅に削減できました。また、同期処理時間は12時間から1分以内に改善され、応答速度も向上しています。

:ObjectStore
オブジェクト指向データベース製品で、特にCFA(Cache-Forward Architecture)と呼ばれる独自のキャッシング技術を持ち、アプリケーション・データのストレージ機能を提供しつつ、メモリアクセスと同等のデータアクセス速度を実現している。ObjectStoreのキャッシング機能を切り出して製品化したのがObjectCache。日本でのObjectStore製品はソニック ソフトウェア(株)が販売・サポート。

── 一般的にRDBMSのパフォーマンスに問題が生じた場合、IAサーバでクラスタリング構成にし、ハードウェア的に解決する手法が主流だと思いますが。

 ハードウェアの数を増やすことでリアルタイム性能を追求しようとすると、必ずどこかで破たんするでしょう。いろいろなケースを想定できますが、結局はコストの問題に行き着くはずです。RDBMS製品を大量に投入するシステムは、リアルタイム・データに特化した製品を導入するのに比べて、数億円程度の追加出費を強いられることになるでしょう。いまでも複雑なリアルタイム・データを扱うシステムでRDBMS製品の数を増やして対応しようとしている企業もありますが、米国のIT市場では、もっと低コストなソリューションを求めだしています。

金融業界で進化するリアルタイム・データサービス

── リアルタイム・データサービスという概念を簡単に説明してください。

 現在、世界中の株式売買は、25%が電子化されており、3年後には50〜60%に増加するといわれています。実際にObjectStoreで開発され、ウォールストリート(米国の株式市場)で導入されているプログラム・トレーディング・システム(株式の自動売買システム)を例に説明しましょう。

 このシステムに登録されている株式は75万銘柄あり、1秒当たり5000〜5万回のイベント情報(株価の変動)がシステムに通知され、そのデータ量は3テラバイトにもなります。このすべてのイベント情報をシステムで格納し、同時にRDBMSからも売買に関する静的なデータを参照して、どの銘柄を売買するかアルゴリズムを使って瞬時に判断します。さらにSOAインターフェイスを介し、60個のビジネス・アプリケーション(トレーディング室の端末や市場分析ツールなど)がシステムに接続されています。そして、一連のデータ処理は2秒以内に完了しなければなりません。この例は、リアルタイムデータを扱うアプリケーションの典型といえるでしょう(図1参照)。

図1 株式自動売買システムにおけるリアルタイム・データサービスの構成図

 リアルタイム・データサービスでは、データをバッチ処理的に格納し必要なときに参照するといった従来型のデータベース・アプリケーションとは決定的に異なります。例えば、ウォルマートの株(WMT)が過去15日のVWAP(Volume Weighted Average Price:売買高加重平均価格)よりも2%上回っていると、イベントが発生したとシステムが認識します。ここから30秒以内に指標となる平均株価(S&P500)が0.5%値上がりし、かつターゲットの株(TGT)が2%値下がりしたら即座にウォルマート株の売り注文を出すといったように、複数のデータのある時間軸での変化を判断し、特定の処理を完了させるものです(リスト1参照)。このようなプログラミングは、「複合イベント処理(CEP:Complex Event Processing)」と呼ばれる新しいスタイルです。常に変化している複数のストリーム型データを処理することがリアルタイム・データ・サービスとなります。

IF WMT price moves > 2% 15-DAY WMT-VWAP
FOLLOWED-BY
  S&P500 moves > 0.5% AND
  TGT price moves < 2%
WITHIN 30 seconds
ACTION SELL WMT
リスト1 複合イベント処理(Complex Event Processing)のコード例

 近い将来、RFIDが一般的に利用されるようになると、短時間に大量のデータをイベントとして受け取り、それを非常に短い時間で処理するアプリケーションが求められるようになります。そのときに、データベースの役割はどのように変化すべきかをぜひ考えてほしいですね。(次ページへ続く)

  1/2

 Index
[DB Interview]
RFID、ECサイトに求められるデータベース性能とは?
Page 1
・データ・キャッシングとECサイト
・金融業界で進化するリアルタイム・データサービス
  Page 2
・RFID最新事情
・RFID時代の到来とデータベースの役割
・「クエリ」から「イベント」への意識改革


[DB Interview]



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

注目のテーマ

Database Expert 記事ランキング

本日月間