記憶に残るパフォーマンス
~スイスの保険業界を主導するモビリア保険グループは、ビジネス分析を高速化するためにOracle Database In-Memoryの展開を進めている。~

 1826年創業のモビリアは、スイスでもっとも歴史のある保険会社である。首都ベルンの本社を拠点に160カ所のオフィスと4000名以上の従業員を擁し、火災、自動車、損害、リスク管理の各保険やその他の金融サービスを、スイス連邦内の全26州(準州含む)で160万を超える個人や企業に提供している。2014年の後半になって、モビリアは自社のデータベース・インベントリが長い歴史をもつ保険会社にありがちなものであることに気づいた。ITシステムも合併や買収によって得られたものばかりである。同社のIT部門は、IBMのメインフレームおよびDB2データベース・テクノロジー、Microsoft SQL Server、Oracleデータベース、それに大量のレガシーCOBOLアプリケーションを抱えていた。
 「ご想像のとおり、3種類のデータベースを同時に運用するのはきわめて困難です」と語るのは、モビリアのデータベース管理システムを支えるチームのリーダー、パオロ・クレス氏である。「それぞれに別の技術者、別のハードウェアが必要になり、ライセンスも個別に必要です」。

モビリアの経営陣はメインフレームから脱却することにした。「メインフレームから脱却するうえで重要だったのは、そうした戦略を支えることができる適切なデータベースを探すことでした」とモビリアのIT運用部門で基本サービスの責任者を務めるヨッヘン・マース氏は説明する。
DARRIN VANSELOW/GETTY IMAGES

 モビリアの経営陣は、3つのデータベースを今後も維持していくのは無理であり、同社の長期計画にも反すると思い至った。「私たちは、メインフレームから脱却してJavaとオープンシステムに移行することを決めました」とモビリアのIT運用部門で基本サービスの責任者を務めるヨッヘン・マース氏は説明する。「メインフレームから脱却するうえで重要だったのは、そうした戦略を支えることができる適切なデータベースを探すことでした」。

 当時、モビリアは、自社コールセンターのSiebel Customer Relationship Management (Siebel CRM)アプリケーションの支援用など、Oracle Database 11gのインスタンスをいくつか稼動させていたので、今後の新たな戦略的データベース・プラットフォームにもオラクル製品、具体的にはOracle Database 12cとインメモリデータベースオプションのOracle Database In-Memoryを搭載したものを選定した。

 「私たちは、自社の戦略的データベースとしてオラクル製品を選びました」とクレス氏はいう。「今後10年をかけてDB2の使用を取り止める予定です。それだけの期間が必要なのは、メインフレーム上にある当社のコア・アプリケーションがすべてCOBOLで書かれているからです」。

 クレス氏によると、オラクルがJavaを手中に収めていることも、データベースを決定する要因の1つになったという。「Oracleデータベースの採用により、当社はJavaテクノロジーを積極的に活用することになるでしょう」と彼は補足する。

 しかし、データベースの選定でさらに重要だったのは、変更や微調整をおこなうことなくOracle Database In-Memoryによって既存のアプリケーションのパフォーマンスがどれだけ向上するかという点だった。「Oracle Database In-Memoryを使えば、アプリケーションのパフォーマンスをわずか数分で向上させることができます」とクレス氏は語る。

 Oracle Database In-Memoryは、Oracleデータベースの既存のロー型フォーマットに新しいインメモリ・カラム型ストアを追加する。ロー型フォーマットは、オンライン・トランザクション処理(OLTP)で最適なパフォーマンスを発揮し、インメモリのカラム型フォーマットは、分析で最適なパフォーマンスを発揮する。

データベース・ストレージ:ロー型とカラム型の比較

トランザクション処理はロー型のほうが高速
分析はカラム型のほうが高速

3つのシナリオ

 パフォーマンス上のメリットを検証するために、クレス氏と彼のチームは、概念実証の場を設定し、現時点で自社の標準的な運用形態となっている3つの異なるデータベース・シナリオをテストした。

 最初のテスト用にチームが選んだのは反復的な業務処理だった。「現在のモビリアで標準的なビジネスケースを選びました」とクレス氏は説明する。「新しい顧客に対して営業をおこなうと、その顧客の情報がDB2データベースに入力されますが、そのデータは契約が締結されるまで営業用のデータウェアハウスからは参照できません。ところが、それが原因で『自動車保険も当社でご契約いただければ、保険料の割引が可能になったのですが』といった状況になってしまうことがあります。しかし、お客様が契約書への署名を済ませた後ではどうしようもありません」。

 Oracle Database 12c(Release 12.1.0.2)は、7台のブレード(それぞれIntel Xeonプロセッサと384GB(ギガバイト)のメインメモリを搭載)で構成されたサーバー(Linux OSが稼動)にインストールされた。続いて、このサーバーにはモビリアの営業用データウェアハウス上にあるのと同じデータが配置された。

 最初のテストでは、この7ブレードサーバーでOracle Database In-Memoryを有効にし、テーブル・パーティションを1つ変更しただけで、基本的には「そのままの状態」のシステムがテストの対象となった。クレス氏は次のように話す。「確認したかったのは、データを配置してOracle Database In-Memoryを有効にする以外に何もしなかった場合はどうなるのかという点でした」。

 その結果は、同社の新しいデータベース戦略の有効性を裏づけるものだったと彼はいう。「速くなったクエリもあれば、遅くなったものもありましたが、全体的に見るとOracle Database In-Memoryによってクエリ処理のパフォーマンスは向上しました」と彼は語る。「経営陣はとても満足していました。データベース戦略の変更によるパフォーマンスの低下について心配する必要がなくなったからです」。


モビリアのIT運用部門で基本サービスの責任者を務めるヨッヘン・マース氏(写真左)と、モビリアでデータベース管理システムを支えるチームのリーダーを務めるパオロ・クレス氏(同右)は、メインフレームからJava、オープンシステム、Oracle Database 12cとOracle Database In-Memory搭載への移行を指揮監督した。

 2番目のシナリオでは、当時構築中だった新しい役員用データウェアハウスでOracle Database In-Memoryのテストがおこなわれた。「役員用データウェアハウス構築チームと連携して、今後の実行可能性が高い、シミュレーションの対象となるクエリを抽出しました」とクレス氏は説明する。「一部のクエリについては、パフォーマンスの著しい向上が見られました。たとえば、以前は200~300秒かかっていたレポート処理はわずか1秒で完了しました」。

 3番目のシナリオは、20年前に構築された自社用リスク管理システム(通称RICO)のパフォーマンスがOracle Database In-Memoryによってどう変化するかを確認することがねらいだった。テストチームは、1テラバイト(TB)の専用データベースをもつこのアプリケーションのパーティション分割スキーマにほんの数カ所だけ変更を加えた。「平均的には、Oracle Database In-MemoryによってRICOのアプリケーションのパフォーマンスは50~200倍になりました」とクレス氏は語る。

インメモリのすばらしさ

 モビリアは、最初のステップとして、既存のOracle Database 11g インストールのすべてをOracle Database 12cにアップグレードしようとしており、それが完了した段階で、時間をかけて自社のすべてのOracleデータベースでOracle Database In-Memoryを有効にしていく予定である。モビリアでOracle Database In-Memoryが本番環境に初めて導入されたアプリケーションは、新しいエンタープライズ・データウェアハウスだった(2015年4月)。この新しいデータウェアハウスの実行には、概念実証のときと同じブレードサーバー・ハードウェアを使用しているが、そのうち4台のブレードは開発、テスト、および統合用である。

 「現在は、2台のブレードサーバーでOracle Database In-Memoryのライセンスを取得しています」とクレス氏は語る。「しかし、Oracle Database In-Memoryのライセンス対象となるブレードをさらに増やす契約に署名したので、2016年にはほかの本番環境用データベースのすべてでOracle Database In-Memoryを有効にするつもりです」。

 「Oracle Database In-Memoryの効果は、最新のパフォーマンス評価結果で証明されました。今度は、インメモリ処理の効率向上のためにデータベース設計の最適化を目指しています」とクレス氏は将来を見据える。

どちらの領域でも最適なOracle Database In-Memory

 Oracle Database In-Memoryは安価なRAMや新世代の64ビットOSの登場で脚光を浴びるようになったテクノロジーと語るのは、オラクル・コーポレーションのマスター・プロダクト・マネジャー、マリア・コルガンである。

 「強く求められているのは、オンライン・トランザクション処理(OLTP)のパフォーマンスに悪影響を及ぼしたり、旧来のETL(抽出、変換、ロード)処理によるデータウェアハウスへのデータ読み込みが終わるのを待ったりすることなく、データをリアルタイムで分析できる機能です」とコルガンはいう。「分析クエリは何百万ないし何十億というローをもつテーブルのごく一部のカラムだけを参照する傾向があるのに対し、OLTPアプリケーションはごく少数のローのすべてのカラムを参照する傾向があります。カラムを軸とする分析クエリと、ローを軸とするOLTPの両方に対応できるように、データを自動的に構造化することが、企業の求めている機能です」。

 OLTPと分析のどちらでも最適なパフォーマンスを提供するために、Oracle Database In-Memoryでは、OLTP用の従来のロー型フォーマットと分析用のインメモリ・カラム型フォーマットの両方の形でデータを同時にメモリ内に設定できる新しいインメモリ・カラム型ストアを追加している。この新しいカラム型フォーマットは、既存のバッファキャッシュを置き換えるものではなく、データをカラム型とロー型の両フォーマットでメモリ内に保持できるように、バッファキャッシュを補完するものである。

 Oracleデータベースのクエリ・オプティマイザは、各クエリを適切なフォーマット(分析クエリの場合はカラム型、OLTPクエリの場合はロー型)に自動で振り分けるので、どちらの場合でも、その違いをユーザーに意識させることなく、最適なパフォーマンスを実現できる。Oracleデータベースでは、これらのフォーマット間でトランザクションの完全性と一貫性が自動的に維持される。新しいインメモリのカラム型フォーマットは純粋にメモリ内に配置され、ディスク上に存在し続けることはないので、ストレージ内にはテーブルのコピーが1つ(ロー型のもの)しか存在しない。そのため、ストレージのコストが増加したり、同期の問題が生じたりすることもない。

SNAPSHOTS

モビリア保険グループ
Die Mobiliar

本  社:スイス連邦ベルン
業  種:金融サービス
従業員数:4,000人以上
収  益:5億9,640万スイスフラン(2014年度)
オラクルの製品とサービス:Oracle Database 12c、Oracle Database In-Memory、Oracle Database 11g、Siebel Customer Relationship Managementアプリケーション

ページの先頭へ