TOP>企業情報>コラム>技術情報>Oracle Database In-Memoryが業務を変える

Oracle Database In-Memoryが業務を変える

Oracle Database In-Memoryが業務を変える

関 俊洋

関 俊洋

2006年、株式会社アシスト入社。データベース・システムの構築や運用トラブルの解決といったフィールド・サポート業務を経験し、その後は新製品の検証やハードウェアとデータベースを組み合わせたソリューション(DODAI)の立ち上げに従事。現在はデータベースの価値や魅力を伝えるための執筆・講演活動を行っている。『SQL逆引き大全363の極意』共著。


ここ数年の間に、DBMSの主要各社が次々とインメモリ対応の製品をリリースしています。SAP社のHANAを皮切りに、IBM社のDB2 BLU、Microsoft社のSQL Server 2014と続き、今年の7月にはOracle社からOracle Database In-Memoryがリリースされました。本稿では、いま旬を迎えているインメモリ技術について、Oracle Database In-Memoryに焦点を当てながら解説します。

1. 再び注目されるインメモリ技術


DBMSのインメモリ技術というと、多くの皆さんは1990年代後半に市場に投入されたTimesTen社やSolid Information Technology社などの「インメモリ・データベース」を思い浮かべるのではないでしょうか。当時リリースされたインメモリ・データベースは、例えば、オンライン証券会社の顧客向けダッシュボードへの銘柄情報の配信や、通信キャリアの数千万人規模の認証処理など、主に一意のデータを絞り込む処理に採用されてきました。これらのインメモリ・データベースはSQLで操作できますが、既存DBMSとは別製品として提供されています。処理性能は格段に向上しますが、アプリケーションではインメモリ・データベースと既存DBMSへの処理の切り分けが必要なこと、何より導入効果を期待できる領域が限られていることなどから、それほど大きなトレンドを形成するまでには至っていませんでした。

しかし、時代は変わりました。メモリの大容量化と低価格化が進んだことや、ビッグデータ・ブームによって情報活用の価値が見直されたことなどを受け、DBMSの主要各社が「DBMSとしての動作はそのままに、インメモリ技術を追加する」というスタンスでの製品開発を始めたのです。

インメモリ・データベースの導入状況


IBM社のDB2、Microsoft社のSQL Server、Oracle社のOracle Databaseに次々とインメモリ技術が追加され、現在ではインメモリ・データベースというカテゴリの中に主要なDBMSの大半が含まれるようになりました。インメモリ技術はいま旬を迎えています。

ITR社の調査結果によると、「インメモリ・データベースをすでに利用している」という回答は23%、「今後1年以内に導入を予定している」が19%、「導入に向けて具体的な取り組みを始めている」が12%となっており、注目度の高さは数字にもはっきりと現れています。

2. Oracle Database In-Memoryとは


現在のデータベース・システムは、業務系システムとは別に情報系システム(DWH)を構築し、分析用途で使用する構成が一般的です。業務系システムに分析処理を実行させると業務系システムの性能に影響が出ること、業務系システムに適したロー(行)型のRDBMSは分析処理に不向きで分析に時間を要することが主な理由です。情報系の分析処理は、例えば、ある期間のある商品の売上げや、その集計など、特定の列の大量行にアクセスする必要があります。そのため、ロー型で格納されている形式だと、検索処理で必要のない他のカラム(列)のデータも同時にアクセスしないと処理できません。カラム単位でデータが格納されていれば、必要なカラムだけにアクセスするだけで良くなります。また、カラム単位でデータを格納した場合、格納されている値(商品コードや地域コードなど)は重複しているため圧縮効果が高くなり、アクセス対象をより小さく、処理を高速化できます。

こうした格納方式の違いもあり、業務系と情報系データベースの分離は加速していきましたが、最近では「一日前のデータではなく、最新のデータをビジネスに活用したい」という情報の「鮮度」への要件が高まっています。しかし、この業務系から情報系へのデータ連携のタイム・ラグによって、鮮度の高いデータをリアルタイムに活用できないのです。

業務系と情報系の分離


この課題を解決するために開発されたのが、冒頭でご紹介した従来のDBMSにインメモリ技術を組み合わせた製品です。今年の7月にリリースされたOracle DatabaseIn-Memoryでは、メモリ上にロー型とカラム型のフォーマットを同時に保持することで、更新処理と分析処理の両方を高速化できるようになっています。Oracle Databaseの中に、分析処理に特化した仕組みが追加で実装されたと考えればわかりやすいでしょう。

Oracle Database In-Memoryの仕組み


情報系システムにデータをロードしてから分析するというこれまでの常識を変え、更新も分析もすべて同じデータベース上で同時に高速処理できるのが、Oracle Database In-Memoryです。

3. Oracle Database In-Memoryの特徴


Oracle Databaseの進化系とも言えるOracle Database In-Memoryには、次のような特徴があります。

アプリケーションの変更が不要


Oracle Database向けに作成されたアプリケーションを変更することなく、そのまま使用できます。ロー型とカラム型の使い分けは自動的に行われるため、ユーザが意識する必要はありません。

圧縮によるメモリ消費量の削減


すべてのデータをメモリ上に配置する仕組みではないため、メモリの消費量を抑えられます。さらに、メモリ上のデータは自動的に圧縮されるため、大容量メモリを搭載した高価なサーバは必要ありません。

更新処理も同時に高速化


分析処理をメモリ上で高速に処理できるため、これまで存在していた分析用の索引を削除することができます。索引を更新するためのオーバーヘッドがなくなり、更新処理が高速になります。

容易なセットアップ


別製品の導入は必要なく、インメモリ機能をオンにするだけですぐ使い始めることができます。

図4 のグラフは、Oracle Database In-Memoryを使用した場合に分析処理の性能がどの程度向上するのかを検証した結果です。従来のOracle Databaseでディスク・アクセスが発生した場合より4,500倍、ロー型のメモリ領域であるバッファ・キャッシュを使用した場合より100~1,000倍も性能が向上しています。1秒あたりに換算すると、約50億行のデータを処理できることになります。

Oracle Databse In-Memoryの性能


4. インメモリ技術がもたらす未来


インメモリ技術によって更新と分析を同時に高速化できる時代が到来したことで、データベース・システムのあり方が大きく変わろうとしています。

リアルタイムな情報活用


情報系システムに存在する数時間前や一日前のデータではなく、最新のトランザクション・データを利用することで、企業はより速やかな意思決定を行えるようになります。

例えば小売業の場合、顧客の好みや属性、直近の購買履歴や関心事などをつぶさに分析することにより、アップセルやクロスセルのための施策をその場で立案、実行できます。セールやキャンペーンの効果がより高まり、購買単価を引き上げることに繋がります。

顧客から見ても、自分の嗜好に合ったプロモーションが展開されることで、利便性や満足度が高まります。結果として企業と顧客の双方にメリットが生まれ、ビジネス・チャンスが拡大していきます。

また、鮮度の高い情報によって購買予測が立てやすくなり、発注精度が向上することで過剰在庫や不良在庫を防ぐといった効果も期待できます。インメモリ技術によって単に業務がスピードアップするだけではなく、それによって投資の最適化やコストの削減といった効果が生み出されるのです。

バッチ処理からの解放


インメモリ技術によって大量のデータを瞬時に処理できるため、帳票やレポーティングのためにサマリ表を作成する必要がなくなります。

従来、サマリ表はアウトプットの数に応じて増えていくため、数十~数百のサマリ表を業務システムやデータマートに保持しているというシステムは珍しくありません。しかし、サマリ表が増えすぎるとバッチ処理が長期化したり、データが肥大化するなどの問題が起こります。

インメモリ技術があれば、明細データに対してそのまま分析処理を実行できるため、こうした問題を回避できます。バッチ処理がなくなることで運用がシンプルになり、管理工数も削減できます。まさにデータベース・システムのあり方を変える技術と言えるでしょう。

5. おわりに


Oracle Databaseは、Oracle Exadata Database Machineに実装されているデータ圧縮技術を除き、これまでカラム型RDBソリューションを持っていませんでした。市場で他社のカラム型RDB製品が受け入れられる中、Oracle社のこの分野への取り組みに注目していましたが、それが、Oracle Database Enterprise Edition のオプションとしてリリースされるとは全く想像していませんでした。しかも、既存のRDBMSの同一テーブルにロー型とカラム型のデュアル・キャッシュを持つという実装は、他に例がなく、非常に画期的だと感じました。ユーザから見ても、カラム型RDBを別立てで用意するのではなく、メモリさえあれば属性を変更するだけで容易にカラム型技術の恩恵を享受できます。Oracle Database In-Memoryは、従来の業務系、情報系のデータベース・システムのあり方を変えるだけではなく、電力のスマートグリッドのようなM2M(Machine to Machine)のリアルタイム情報処理の発展を加速させ、私達の生活の常識が変わるような、全く新しいサービスを産み出すことができる技術革新だと感じます。

アシストでは、インメモリ技術が主流になる時代を見据え、情報システムの将来を一緒に考えられるパートナーとなり「データベースのアシスト」と評価いただける活動を続けていきます。

株式会社アシスト ソフトウェア・リサーチ・センターについて

ソフトウェア・リサーチ・センターはアシストの組織を横断するメンバーから構成され、アシストの特長を活かした中立的な立場でのソフトウェア製品や市場動向の調査を行っています。

※本稿は弊社が信頼できると判断した情報源に基づいて執筆していますがその情報の正確性、完全性を保証する
 ものではありません。また本稿に記載された、弊社意見、予測などは本稿作成時点における弊社の判断であり
 今後予告なく変更されることがあります。
※記載した製品名および社名は、各社の商標または登録商標です。

関連製品/サービス



Facebookで情報をお届けしています

Facebookでは、アシストの「今」を週3回のペースでお届けしています。「めげない、逃げない、あまり儲けない」を合言葉に日々頑張っておりますので、応援よろしくお願いします。



ページの先頭へ戻る