ビジネスのデータインフラを支えるリレーショナルベースとして高い人気を誇るMySQL。大量トランザクション処理に大きな強みを持っている反面、データ分析に特化した機能は用意されていなかった。これに対しオラクルでは、その提供するDBaaS型サービス「MySQL Database Service」において新たに「HeatWave」と呼ばれる超高速データ分析エンジンを投入。それはまさに、MySQLがデータ分析用途に最適化されていないという常識を覆すものだ。

MySQLユーザーがデータ分析の領域で
抱えるさまざまな課題

「世界で最も人気のあるオープンソースデータベース」とも言われるMySQL。ソーシャルネットワークやEコマースサイト、あるいは金融サービスなどのデータ基盤として、世界中の企業の広範なビジネス領域において活用されている。とりわけその強みとなっているのが、WebアプリケーションやEコマースアプリケーションなどにおける、大量のオンライントランザクション処理(OLTP)で高い性能と高度なスケーラビリティを発揮する点だ。

日本オラクル株式会社
MySQL Global Business Unit
MySQL Solution Engineering Director, Asia Pacific & Japan
梶山 隆輔 氏

「ただし、その一方でMySQLは、大量のデータレコードを一度に扱うデータ分析のような処理に向けた特別な機能があるわけではないとの認識が一般的であるというのも事実です」と日本オラクルの梶山隆輔氏は指摘する。このため、すでに述べたような各種の業務システムにおいてMySQLを採用しているユーザーが、データ分析処理を行おうとする際には、MySQLに格納されたデータを、ETL(Extract、Transform、Load:抽出・変換・格納)ツールなどを使って、分析用のデータウェアハウスなどに格納しなおすという方法をとっていることが多い。

そうしたアプローチにおいては、当然のことながらデータ移行のための手間がかかるうえ、別途、分析用のデータベースを用意しなければならないなどコストが膨らんでしまうという問題がある。「加えて、移行処理には相応のリードタイムを見なければならず、そうすると分析に供される段階では、データの鮮度が落ちてしまうことになり、その点も大きな課題です」と梶山氏は語る。

今日の企業にとって不可避なテーマとなっているDXにおいて、データ活用はまさにその根幹をなすものだといっていい。こうしたデータ分析のための準備作業に手間やコスト、時間をかけなければならないという現状は、MySQLユーザーにとってはDX推進の観点からも、切に解消が望まれる課題だと言える。

MySQLベースのDBaaSに
高性能な分析エンジンを新たに組み込む

商用版MySQLとして企業の間で広く用いられている「MySQL Enterprise Edition」の開発・提供元であるオラクルでは、MySQLユーザーのそうした要請に応え得る、「HeatWave」と呼ばれる新たなソリューションを先ごろリリースした。これについてオラクルでは、かねてよりDBaaS(DataBase as a Service)型のフルマネージドのサービスである「MySQL Database Service」を市場に投入してきているが、HeatWaveはこのサービスに分析エンジンとして組み込まれるものとなっている。

MySQL Database Serviceについては、その利用によってユーザーは、MySQL Enterprise Editionのハイパフォーマンスでスケーラビリティに優れたデータベース機能をクラウド上で利用でき、パッチ適用やアップグレード、バックアップなどの運用をオラクルに委ねることで管理負荷の軽減を図ることが可能だ。特にMySQL Database Serviceは、オラクルの提供するIaaS環境である「Oracle Cloud Infrastructure(OCI)」に最適化されたサービスとなっており、OCIが基盤として実現している高度なパフォーマンスや可用性、セキュリティなどのメリットを廉価な料金設定により享受できる。

「オラクルというと、ともすればコスト高な印象をもたれるお客様もいらっしゃいますが、OCIやそのうえで提供するMySQL Database Serviceについて当社では、『低コスト』を前面に打ち出しており、持ち前の自動化機能なども駆使しながら運用管理業務を最適化するなど、お客様により低廉な料金でご利用いただけるよう努めています」と梶山氏は強調する。

また、MySQLを開発にあたるオラクルのエンジニア自身が、DevOpsとサポートを担当していることも、MySQL Database Serviceならではのアドバンテージである。これにより、顧客からのフィードバックを受けてMySQLの機能改修を行い、リリースしていくというサイクルを高速で回していくことができ、何よりもMySQLを隅々まで知り尽くした開発エンジニアが直接サポートにあたることは、顧客に大きな安心感をもたらすことにつながる。

分散型のインメモリによる独自の
クエリ技術で分析処理を高速化

すでに述べたように、こうしたMySQL Database Serviceに分析エンジンとして組み込まれるのがHeatWaveということになるわけだが、その導入もきめて簡便である。具体的には、OCIのコンソール内にあるMySQL Database Serviceの管理画面上で、MySQLサーバーの新規立ち上げ操作を行う際に、「HeatWaveの分析エンジン付き」をオプションとして選択するだけという手軽さだ。

このHeatWaveにおける最大の特徴といえるのが、本来MySQLが苦手としている分析処理を劇的に高速化できることであり、それによってこれまでは困難だったOLTP(トランザクション処理)、OLAP(オンライン分析処理)、双方のワークロードを単一のMySQL上に統合することが可能となる。要するに、従前のようにデータウェアハウスなど分析用のデータベース環境を別途用意して、データを移行するといった必要がなくなるわけだ。

OLTP、OLAPのワークロードを単一のMySQL上に統合することで、時間とコストがかかるデータ移動や別の分析データベースとの統合が不要になる。

このようなHeatWaveにおける分析処理の劇的な高速化に寄与しているのが、分散型のスケーラブルなインメモリ処理による独自のクエリ技術を搭載していることである。これについて米国オラクルの研究開発部門であるOracle Labsでは、長年にわたりコスト効率の高いインメモリによるデータ分析をテーマに長年研究に取り組んできており、そこで熟成された技術をMySQLに対して実装したものがHeatWaveにほかならない。

HeatWaveでは、インメモリでのカラム型によるデータの高速処理に加え、水平パーティショニングを行って、パーティション単位で異なるノードにデータを分散配置して、処理を可能な限り並列化。ノードの追加によってリニアに処理性能を高めていくことができる。「そのほかにも、コンテキストスイッチなどによる処理の停滞を極力排除すべく、パーティショニングされたレコードをCPUのキャッシュサイズに合わせてさらに小さなパーティションに細分化したり、あるいはSQLのJOIN命令の対象となるレコードをできるだけ1ノードに集めるなど様々な工夫を施しています」と梶山氏は解説する。

HeatWaveは、分析クエリを高速で実行するために設計された、分散型でスケーラブルなインメモリ・ハイブリッド列指向のクエリ処理エンジン。

仕組みとしては、MySQLサーバーで実行される分析アプリケーションによるクエリ処理が自動的にHeatWaveのエンジンにルーティングされ、複数のノードでインメモリによる高速な分析処理を行って、実行結果をMySQLサーバー経由でアプリケーションに戻すというかたちとなる。「アプリケーションから見れば、HeatWaveによるこうした処理はあくまでも透過的であり、通常のMySQLサーバーを利用している際と基本的には何も変わらず、当然、プログラムの改修等ももちろん不要。MySQLに対し互換性を有する分析ツールや各種サービスからもそのまま利用できます」と梶山氏は説明する。

MySQL単体に比べてクエリ実行が
500倍向上したという検証結果も

オラクルでは、HeatWaveを適用することで、MySQL単体での分析クエリの実行を「400倍」高速化できるとしている。さらに他ベンダーが提供する分析向けのデータストアのサービスと比べても大幅な性能向上を実現できることを、TCP-Hのベンチマークテストの結果によって明らかにしている。これについて梶山氏は「それらベンチマークについては、お客様が自分たちの環境で再現し独自に検証いただけるよう、その手順やスクリプト類などをGitHub上で公開しています」と紹介する。

加えてオラクルでは、HeatWaveのリリースに先立って、ユーザー企業の参加を仰いで性能検証を実施しているが、検証に参加した企業からは、劇的な性能向上が確認できた旨の報告もなされており、それらはいずれもオラクルが性能に関して表明している内容を裏付けるものとなっている。

例えば、MySQLを活用したシステム構築を数多く手がけるSIerとして知られるSCSKでは、業務システムを模したアプリケーションの2テラバイトのデータを利用して検証を実施。分析系の処理が他のパブリッククラウドの分析向けサービスと比較して10倍以上高速であることが確認できているという。

フリマアプリを展開するメルカリでも同様、HeatWaveの活用で大手クラウドベンダーの分析基盤と比較して、分析処理を最大24倍の高速化できたことを明らかにしている。「特にメルカリ様のケースでは、HeatWaveの活用によって、トランザクション処理で利用しているMySQL上のデータに対しシームレスに分析処理を行うことが可能になったことで、これまでETLの処理などによってどうしてもタイムラグが避けられなかった、不正出品のチェックについてのリアルタイム性を担保できるようになったという点も高く評価いただいています」と梶山氏は言う。

超並列処理を使用してMySQLクエリを400倍高速化し、リアルタイム分析を実現する。

 

また、オンラインゲームなどデジタルエンタテインメント事業、アミューズメント事業で知られるスクウェア・エニックスでは、数々のオンラインゲームの既存のサービス提供インフラとしてMySQLを活用している。HeatWaveの検証にもいち早く参加し、次のようにコメントしている。「スクウェア・エニックスでは数多くのオンラインゲームのインフラとしてMySQLを活用しています。HeatWaveによってオンラインゲームのデータの分析性能がどの程度向上するのかに興味を持ち、検証に参加しました。HeatWaveはSQL文を変更することやETLツールを利用することなく、既存のMySQLの約500倍の処理性能を発揮しました。本サービスの正式提供を心待ちにしていました」

「HeatWaveの正式リリース後には、金融や製造、小売など、業種を問わず幅広いお客様から引き合いをいただいている状況で、適用事例も着実に増えてきている状況です」と梶山氏は紹介する。

以上のようにオラクルのHeatWaveは、MySQLユーザーがデータ分析領域で抱える運用上、パフォーマンス上の課題を、まさにトータルに解消するものとなっている。オンプレミス環境でMySQLを運用しているユーザー、あるいはDBaaSなどのかたちで他ベンダーのMySQLベースのデータストア基盤サービスを利用しているユーザーにとっても、HeatWaveが実装されたオラクルのMySQL Database Serviceへの移行はきわめて魅力的な選択となるはずである。

「また、オンプレミスや他社のクラウド基盤上で稼働するMySQLからレプリケーション機能によってMySQL Database Serviceにデータ連携を行っていただいて、データ分析の高速化を実現していただくといったことももちろん可能です。さらには、MySQLユーザーに限らず、分析用のデータ基盤の性能に不満を抱えているすべてのお客様に、このソリューションの活用をご検討いただければと考えています」と梶山氏は語る。

お問い合わせ

日本オラクル株式会社

https://www.oracle.com/jp/index.html

HeatWave

https://www.oracle.com/jp/mysql/heatwave/