こんにちは。ご無沙汰しております。
さて、今回ですが、今データベース界大注目の HeatWave に関する記事を掲載いたします。
HeatWave と Lookerの連携方法についても説明する予定です。皆様、是非お楽しみに!
はじめに
HeatWave とは、オラクル社が提供するクラウド環境である OCI(Oracle Cloud Infrastructure)上で使用可能な MySQL Database Service に加わった分析処理を高速化するエンジンのことで、2020年12月に発表されました。
HeatWave を用いることで、MySQL の更新処理と分析処理を一つのデータベースで実現することが可能になります。
また、SCSK では HeatWave のベータプログラムに参加し、その性能について検証も行いました。
そこで第1回は、OCI の MySQL サービスである MySQL Database Service と、HeatWaveの特徴についてお話したいと思います。
MySQL Database Service(MDS) とは
MySQL の開発元であるオラクル社が提供する DBaaS です。Oracle Cloud Infrastructure で使用することができ、業界唯一の有償版 MySQL がベースのデータベースサービスになります。(他社の MySQL 系サービスは、全て Community 版 MySQL がベース。) MySQL Enterprise Edition(MySQL EE) をベースとしているため、監査、データマスキング、データベース・ファイアウォール、暗号化などのMySQL EE でしか使用できない機能も使用できるようになります。
また、オンプレ向けの有償版 MySQL、無償版 MySQL と完全互換となりますので、途中で何らかの理由で MDS を利用できなくなった場合でもオンプレの MySQL EE や Community 版 MySQL に変更してもアプリケーション側での互換性の心配をする必要がありません。
そのため、クラウドロックインの心配がないクラウド・データベースサービスといえます。
そしてさらに、HeatWave の利用により、高速な更新処理と分析処理を単一の DB での実現が可能となります。
HeatWave とは
オラクル社の MySQL エンジニアリング・チームによって開発された新しいインメモリ分析アクセラレータです。
OCI 上で使用できる MDS の拡張機能として提供されており、アプリケーション側からは通常の MySQL を使用する感覚で、HeatWave の得意分野である分析系のクエリも高速に処理することが可能です。
内部の仕組みについて少し説明をしましょう。
HeatWave には、分析処理を担う「RAPIDエンジン」が搭載された HeatWave ノードが複数あり、この HeatWave ノード群を「HeatWaveクラスター」と呼びます。HeatWave に分析系のクエリが送信されると、MySQL は HeatWave ノードにクエリをプッシュダウンし、複数のHeatWave ノードが分散クエリ処理アルゴリズムを用いて並列に処理を行う事で、分析系のデータを高速に処理することができます。
通常データ分析を行う際には、オンラインのトランザクション処理が得意な MySQL を含む RDBMS によって保存されている様々なデータを、ETL ツールを介してデータ分析系基盤へ転送して分析を行うケースが一般的です。しかし、ETL ツールを使用したデータ統合には設定や管理が必要で、さらにはデータを分析系基盤に送る際にはデータ同期や大量データの転送処理速度の問題により、分析したいデータにタイムラグが発生する問題点があります。
一方で、HeatWave を使用した場合、分析系の DB や ETL ツールを別途用意する必要はありません。MDS の中で SQL がトランザクション処理か分析系処理かを判断し、必要に応じて InnoDB を利用するのか、HeatWave のエンジンを利用するのかを判断し結果を返すためです。
また、これまでの MySQL 環境はそのまま HeatWave を使用したいという方は、レプリケーションの先に Heatwave を構成することで、ETL ツールを利用することなく分析系 DB を簡単に用意し連携することも可能です。
HeatWave の検証
SCSK では、HeatWave のベータプログラムに参加し、性能評価を実施しました。
オラクル社の HeatWave に関する紹介ページにも検証に言及した動画が掲載されております。ぜひ、ご覧ください。
今回は以上となります。