2014年12月24日
Oracle Database 12c のオプションとしてOracle Database In-Memory が登場しました。 Oracle Database In-Memoryは、インメモリとカラム型データベースの機能を搭載し、OLTPとDWHの両方のデータ処理時間を大幅に削減できるオプション機能です。
Oracle Database 11g と比較して、Oracle Database 12c だけでも十分な機能強化を果たしたOracle Databaseですが、Oracle Database 12c の Oracle Database In-Memory オプションにより、さらなる高速化を実現しています。
さらに、Oracle Database 12c のOracle Database In-Memory オプションと、富士通のUNIXサーバ SPARC M10 の組み合わせは、従来と比較にならないほどの驚異的な性能を発揮し、データベースの高速化を実現します。
まず、SPARC M10にはインメモリデータベースの高速化に寄与する3つの機能があります。
■ インメモリデータベースの高速化に寄与するSPARC M10 の3つの機能
これらの機能を搭載するSPARC M10と、Oracle Database In-Memory の組み合わせにより、従来では考えられなかったような超高速なデータアナリティクスサーバを実現できます。
富士通とOracle社はサーバやOSを共同開発していますが、Oracle Database においても両社で協業しています。
SPARC M10にはハードウェア独自の、Oracle Database In-Memory にはソフトウェア独自の、高速化を実現する仕組みを搭載していますが、SPARC M10 と Oracle Database In-Memory はお互いにアシストし合う仕組みも兼ね備えています。
SPARC M10 の SPARC64プロセッサ上にカラム型データベースの高速処理を可能にするSoftware on Chip機能を実装し、Oracle Database In-Memory の処理をハードウェアからアシストしています。そしてOracle Database 12c には、SPARC M10 のプロセッサに搭載されたSoftware on Chip機能専用のプログラムがあらかじめ実装され、相互にアシストし合い、高速化処理を実現しています。
■ SPARC M10 と Oracle Database In-Memory による高速化の3要素
では、このSPARC M10 と Oracle Database In-Memory の組み合わせがいかに高速なのか、検証して確認してみましょう。
Oracle Database 12c と SPARC M10による超高速インメモリデータベースのデモをご紹介いたします。
今回の検証では、とある企業の売上げデータをサンプルとして使用します。
過去12年にわたる膨大なトランザクションデータから、受注件数を検索・集計するプログラムを動かし、処理速度を比較してみます。
上記の検証データを、3種類のアプリケーションで分析し、その差を見てみましょう。
A:
Oracle Database 12c In-Memory + SPARC M10 (Software on Chip 有効)
Oracle Database 12c のオプションである「Oracle Database In-Memory」と、SPARC M10の Software on Chip、両方の機能を組み合わせたパターン。
B:
Oracle Database 12c In-Memory + SPARC M10 (Software on Chip 無効)
Oracle Database 12c In-Memoryオプションの機能だけを使ったパターン。
C:
Oracle Database 12c + SPARC M10 (Software on Chip 無効)
Oracle Database 12c の環境下で In-Memoryオプションを使わないパターン。
これらの3つの環境を同時に動かして、どれだけ性能の差が出るかというのをご覧いただきたいと思います。
3種類のアプリケーションの分析状況を動画で確認してみましょう。
1年ごとの受注件数を検索・集計し、線グラフに表していきます。全データ検索が終わり、分析が完了した時間を数字で表示していきます。
実行画面
上段のSoftware on Chipと In-Memoryの組み合わせを使った場合は、約3秒で検索が終わり、超高速に分析処理が完了したことがわかります。
中段のOracle Database In-Memory を使い Software on Chip をオフにした場合では、下段Oracle Database 12c のみに比べると高速ですが、上段の Software on Chipと In-Memoryの組み合わせに比べると、遅いことがわかります。
(下段の測定が終わるまで時間がかかるため、動画は途中までにしています。)
いかにSPARC M10 と Oracle Database In-Memory の組み合わせが最適なのか、ご確認いただけたかと思います。そして最終的な測定結果が、以下です。
実行結果
Oracle Database 12c のみを使用し、Software on Chip と Oracle Database In-Memory を使用しなかった場合は、281秒という5分近い時間がかかることがわかります。5分近くかかっていた処理が、 Oracle Database In-Memoryオプション と SPARC M10のSoftware on Chipの機能を活用することで、3秒台で処理できることがわかりました。
この検証結果から、Oracle Database 12c の標準機能だけの状態から、Oracle Database In-Memory を使用しただけでも約8倍、そこにSoftware on Chipを追加することで、さらに約11倍。
合わせるとOracle Database 12c だけの状態から100倍前後の性能向上を実現できることがわかります。
従来、分析が完了するまで1日かかっていたような処理が、SPARC M10 の Software on Chip と Oracle Database In-Memory を活用することにより、 数分~1時間程度で終わる、ということが可能になります。
短時間で分析結果を得られるため、リアルタイム性のあるスピーディーな経営判断を可能にします。コストや機会損失リスクを低減し、企業の経営に多大な貢献をします。