MySQLユーザーのデータ活用に関する課題

MySQLは世界でもっとも普及しているオープンソースデータベースであり、多くのOLTPシステムで採用されています。しかし、MySQLは大量データの集計処理には向かないため、MySQLに溜まったデータを分析するのに時間がかかる場合があります。また、データを分析するために別途DWH用のデータベースを用意しているユーザーも多くいます。典型的な構成では、ETLツールを使ってMySQLからデータをDWH用のデータベースに連携し、DWH用のデータベースで分析処理を実行しています。このような構成には以下のような課題があります。

課題例: 最新データを分析対象にできない

  • ETLツールを使ってデータ連携する場合、データの鮮度はETLツールの同期頻度に依存します。同期が完了するまで最新データを分析することができないため、例えば、夜間バッチでデータ連携しているケースでは今日のデータは分析できません。そのため、最新データをリアルタイムで分析したいというニーズに応えられません。

課題例: DWHを実現するためにETLツールも管理する必要があり、導入コストや運用管理コストが高くなる

  • OLTP向けのMySQLからDWHとして集約するデータを選定し、分析に適したデータへの変換と連携方法を考慮する必要があります。この処理のためにETLツールを使用する場合、ETLツールの導入と運用管理が必要になり、データ連携の追加要件に対してもETLの追加開発コストを負担していく必要があります。また、OLTP向けのMySQL上でスキーマ変更をした場合、そのままではデータ連携できず、ETLツールの設定を変更しないといけない場合もあります。

課題例: MySQL以外の異なるデータベースと併用が必要となり運用管理コストが高くなる

  • MySQLとDWH用のデータベースは異なるデータベースであるため、インフラ担当者には異なる運用管理のスキルが必要になり導入コストや運用管理コストが高くなります。また、OLTPシステムとDWHで担当者が異なる場合には、組織間での連携やシステム間での調整が必要となり、時にそれらがスムーズなデータ連携を困難にする場合があります。

DWHとしても使えるMySQL HeatWave Database Serviceによる課題の解決

これらの課題を解決できるのはオラクルが提供しているMySQL HeatWave Database Serviceです。MySQL HeatWave Database Serviceは、MySQLの開発ベンダーであるオラクルがOracle Cloud上で提供しているMySQLのマネージドサービスです。シンプルにコストパフォーマンスの高いMySQLのマネージドサービスとして使用することもできますが、HeatWaveという拡張機能を使用することで従来のMySQLが苦手としている大量データの集計処理も高速に実行できます。つまり、MySQLをDWHとしても使えるようになります。

MySQL HeatWaveをDWHとして使用すると、前述の課題を解決できます。それぞれの課題をどのように解決できるのかを紹介します。

課題: 最新データを分析対象にできない

  • DWH用のデータベースは更新処理が苦手なものも多いですが、MySQL HeatWaveはMySQLを拡張した機能であるため、データの更新にも対応できます。そのため、OLTP環境とDWH環境を1つのMySQL HeatWaveで実現でき、最新データを分析対象にできます。
  • システムによっては、パフォーマンスの観点や運用の観点から、OLTP用のMySQL HeatWave(もしくは通常のMySQL)とDWH用のMySQL HeatWaveを分けた方がいいケースもありますが、その場合もMySQLのレプリケーション機能で随時OLTP用のMySQLで更新されたデータをDWH用のMySQL HeatWaveに連携できるため、最新データを分析対象にできます。

課題: DWHを実現するためにETLツールも管理する必要があり、導入コストや運用管理コストが高くなる

  • MySQL HeatWaveをDWHとして使用する場合、MySQLからのデータ連携のためにETLツールを使う必要がありません。MySQLのレプリケーション機能を使って手軽にデータ連携できます。また、レプリケーション機能では連携元のMySQLで行ったスキーマ変更も反映されるため、スキーマ変更にも対応できるDWHを構築できます。
  • OLTPシステムで生成されたデータをDWHに格納する時に、用途に応じて加工するケースもありますが、MySQL HeatWaveでは更新処理も実行できるため、ELT(Extract, Load, Transform)のアプローチでMySQL HeatWaveにデータをロードした後で、MySQL HeatWave上でデータを変換できます。(※ MySQL以外のデータをMySQL HeatWaveに集約するためにETLツール等を使うこともできます)

課題: MySQL以外の異なるデータベースと併用が必要となり運用管理コストが高くなる

  • MySQL HeatWaveをDWHとして使用する場合、既存のMySQLのデータをそのまま移行して、最低限の労力でDWHを構築できます。MySQLのレプリケーション機能はネットワーク的に繋がっていれば動作するため、既存のMySQL環境とMySQL HeatWaveでレプリケーションを構成することで、簡単にDWHを追加できます。Amazon RDS、Amazon Auroraなどの他社製のMySQLマネージドサービスからレプリケーションもできます。
  • MySQL HeatWaveはMySQLを拡張した機能であるため、MySQLに慣れたインフラ管理者の方は、MySQLを管理する手法とほぼ同様の方法でMySQL HeatWaveも運用管理できます。そのため、異なるデータベースをDWHに用いるよりも、導入コストや運用管理コストを低く抑えられます。

データプラットフォームとして活用できるOracle Cloud

Oracle Cloudでは以下の図のようにMySQL HeatWaveだけでなく、データプラットフォームを構成するために必要な様々なソリューションを提供しています。

Oracle Modern Data Platform Reference Architecture - MySQL HeatWave Lakehouse
詳細スライドは こちら

 

この記事ではMySQLユーザーのデータ活用に関する課題に焦点を当てていますが、OCI Data Integration、Oracle GoldenGate Cloud Service、OCI Streaming Serviceなどを利用すれば、MySQL以外で生成されたデータもMySQL HeatWaveに連携して活用できます。

また、MySQL HeatWaveの拡張機能であるMySQL HeatWave Lakehouseを使用すれば、オブジェクトストレージ上のデータを高速に分析対象にできるため、DWHとしてだけでなく、データレイクとしても活用できます。

MySQL HeatWaveに格納したデータをBIツールであるOracle Analytics Cloudを使って可視化したり、MySQL HeatWave AutoMLを使って機械学習に活用することもできます。AutoMLではなく、データサイエンティストの方が専門的な機械学習を行いたい場合はOCI Data Scienceも利用できます。

このように、Oracle Cloudでは包括的に様々なサービスを提供しており、データプラットフォームとして活用できます。また、Oracle Cloudでは毎月10TBまでアウトバウンドのデータ通信量が無料であるため、Oracle Cloudをデータプラットフォームとして採用した場合は、蓄積されたデータをオンプレミス環境や他のクラウド環境に移して活用しやすい、といったメリットもあります。

最後に

このように、MySQL HeatWaveを使用するとMySQLに溜まったデータを分析する環境を手軽に構築できます。既存のMySQL環境に、DWHとしても使える超高速なリードレプリカを追加する感覚で導入できるので、導入コストや運用管理コストも低く抑えられます。MySQL HeatWaveを使ってデータ活用を始めてみませんか?

参考情報