検索
特集/連載

【技術解説】Oracle TimesTenのインメモリデータベーステクノロジーをひも解く長年のボトルネック「HDD」を解消するインメモリ

「Oracle TimesTen」は全てのデータをメモリに格納してアプリケーション層で動作するよう設計されたRDBMSだ。その高速化を実現するテクノロジーやメモリ構造、適した利用分野を解説する。

PC用表示
Share
Tweet
LINE
Hatena

 インメモリデータベース(IMDB)は、米Oracleの「Oracle TimesTen」などのスタンドアロン型データベース管理システム(DBMS)の場合もあれば、米Sybaseの「Sybase Adaptive Server Enterprise(ASE)」のようにDBMSの一部を構成する個別データベースの場合もある。

 IMDBの狙いは、スループットを最大化し、遅延を最小化するためにコンピュータのメモリをデータストレージとして利用することにある。ここが、ディスクストレージを利用する従来型DBMSと異なるところだ。ディスクを最適化したデータベースよりもIMDBの方が高速なのは、内部の最適化アルゴリズムが単純で、実行すべきCPU命令も少ないからだ。メモリ内のデータにアクセスするため、高速な応答が可能となる。取引システム、電気通信、防衛システムのように応答時間が極めて重要な意味を持つ用途でIMDBが使われることが多い。IMDBの性質上、これらのデータベースは通常、ディスク常駐型データベースシステムよりも多くのメモリを使用する。

 Oracle TimesTenとSybase ASE-IMDBは、アウトオブプロセス型IMDBの例だ。これらのデータベースは、本格的なSQL(多少の方言を伴う場合もある)に加え、セキュリティおよび管理機能を実装している。両データベースともSQL経由でデータにアクセスできる。いずれもディスク常駐型データベースと同様の機能を提供する。このため、これらの製品を使えば、永続的データベースを保持するSQLバックエンドにSQLリクエストをキャッシングするのが容易になる。

 TimesTen、Sybase ASE-IMDBをはじめとする最近の商用IMDBのほとんどは、筆者の表現で言えば「リレーショナルモデルの行ベースのストレージインプリメンテーション」をベースとしている。これらの製品はOLTP(オンライントランザクション処理)アプリケーションで威力を発揮する。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る