[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 |
リスト1 複合イベント処理(Complex Event Processing)のコード例 |
近い将来、RFIDが一般的に利用されるようになると、短時間に大量のデータをイベントとして受け取り、それを非常に短い時間で処理するアプリケーションが求められるようになります。そのときに、データベースの役割はどのように変化すべきかをぜひ考えてほしいですね。(次ページへ続く)
1/2 |
Index | |
[DB Interview] RFID、ECサイトに求められるデータベース性能とは? |
|
Page 1 ・データ・キャッシングとECサイト ・金融業界で進化するリアルタイム・データサービス |
|
Page 2 ・RFID最新事情 ・RFID時代の到来とデータベースの役割 ・「クエリ」から「イベント」への意識改革 |
[DB Interview] |
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|