【技術解説】Oracle TimesTenのインメモリデータベーステクノロジーをひも解く:長年のボトルネック「HDD」を解消するインメモリ
「Oracle TimesTen」は全てのデータをメモリに格納してアプリケーション層で動作するよう設計されたRDBMSだ。その高速化を実現するテクノロジーやメモリ構造、適した利用分野を解説する。
インメモリデータベース(IMDB)は、米Oracleの「Oracle TimesTen」などのスタンドアロン型データベース管理システム(DBMS)の場合もあれば、米Sybaseの「Sybase Adaptive Server Enterprise(ASE)」のようにDBMSの一部を構成する個別データベースの場合もある。
IMDBの狙いは、スループットを最大化し、遅延を最小化するためにコンピュータのメモリをデータストレージとして利用することにある。ここが、ディスクストレージを利用する従来型DBMSと異なるところだ。ディスクを最適化したデータベースよりもIMDBの方が高速なのは、内部の最適化アルゴリズムが単純で、実行すべきCPU命令も少ないからだ。メモリ内のデータにアクセスするため、高速な応答が可能となる。取引システム、電気通信、防衛システムのように応答時間が極めて重要な意味を持つ用途でIMDBが使われることが多い。IMDBの性質上、これらのデータベースは通常、ディスク常駐型データベースシステムよりも多くのメモリを使用する。
インメモリデータベース関連コンテンツ
- インメモリデータベースで高速処理化が進む最新OLAP分析ツール
- インメモリ型DBやiPhone対応で「誰でも使えるBI」を目指した「SAP BusinessObjects BI 4.0」
- インメモリテクノロジーを理解するための「6つのシナリオ」と技術解説(ホワイトペーパー)
Oracle TimesTenとSybase ASE-IMDBは、アウトオブプロセス型IMDBの例だ。これらのデータベースは、本格的なSQL(多少の方言を伴う場合もある)に加え、セキュリティおよび管理機能を実装している。両データベースともSQL経由でデータにアクセスできる。いずれもディスク常駐型データベースと同様の機能を提供する。このため、これらの製品を使えば、永続的データベースを保持するSQLバックエンドにSQLリクエストをキャッシングするのが容易になる。
TimesTen、Sybase ASE-IMDBをはじめとする最近の商用IMDBのほとんどは、筆者の表現で言えば「リレーショナルモデルの行ベースのストレージインプリメンテーション」をベースとしている。これらの製品はOLTP(オンライントランザクション処理)アプリケーションで威力を発揮する。
Copyright © ITmedia, Inc. All Rights Reserved.