AWS上のMySQL HeatWave Lakehouse (2023/09/29)
AWS上のMySQL HeatWave Lakehouse (2023/09/29)
https://blogs.oracle.com/mysql/post/mysql-heatwave-lakehouse-on-aws
投稿者: Nipun Agarwal | Senior Vice President, MySQL HeatWave
MySQL HeatWave LakehouseがAWSで利用できるようになりました。
MySQL HeatWaveは、オンライン・トランザクション処理(OLTP)データベース、リアルタイムのインメモリー・データ・ウェアハウス、およびデータベース内自動機械学習機能を単一のMySQLデータベース・サービスで提供する唯一のクラウド・データベース製品であり、複雑なETL重複、レイテンシ、リスク、およびコストはありません。
AWSのお客様は、MySQL HeatWaveでレイクハウス機能を追加したことで、トランザクション処理、データウェアハウスとデータレイク全体のリアルタイム分析、および1つのクラウド・データベース・サービスで機械学習を実行できるようになりました。5つのAWSサービスを1つのサービスに置き換えることができ、複雑さを軽減し、分析のための業界で最高の価格パフォーマンスを実現できます。
HeatWave Lakehouseでは、AWSのお客様は、S3データをデータベースにコピーせずに、CSV、Parquet、Avroなどの様々なファイル形式で、Amazon S3オブジェクト・ストレージの何百テラバイトものデータを問い合せることができます。問合せ処理はHeatWaveエンジンで完全に実行されるため、非MySQLおよびMySQL互換のワークロードに対してHeatWaveを利用できます。AWSのデータ・エグレス料金は、変更することなく、AWSで引き続きアプリケーションを実行できます。お客様は、HeatWave LakehouseでAutoMLを実行することもできます。これにより、機械学習モデルの自動トレーニング、S3に格納されているファイルに対する推論と説明の実行、および対話型のMySQL HeatWaveコンソールから様々な種類の機械学習分析を実行できます。AWS上のMySQL HeatWave Lakehouseは、現在、可用性が制限されています。
AWSのHeatWave Lakehouse
HeatWave Lakehouseでは、標準のMySQL構文を使用して、S3から数百テラバイトのデータとMySQL Databaseに格納されているトランザクション・データを結合するデータを問い合せることができます。何百テラバイトものデータのロードは、CSVファイルなどの事前定義済スキーマを持たないファイルに対してスキーマを正確に定義するなど、様々な理由で困難で時間がかかる場合があります。MySQL HeatWave Lakehouseは、適応型のMySQL Autopilot ML駆動技術を使用して、データのロード量を最小限に抑え、ネットワーク転送を最適化して、S3データ・ロードの集約ネットワーク帯域幅を増やし、業界をリードするデータ・ロード・パフォーマンスを実現します。
なぜレイクハウスが必要なのか。
過去数年間で急激なデータ増加がありました。このデータのほとんどは、従来のOLTPアプリケーションの外部で生成されます。IoTセンサー、接続されたデバイスと車両、Webアプリケーション、テレメトリ・エンドポイントなど...一般にオブジェクト・ストレージに格納される大量のデータを生成します。このデータをETLで分析するデータベースに適用することは、実用的でもコスト効率にもかかりません。
通常、このデータはCSV、Parquet、Avroおよびその他のファイル形式で格納されます。多くの場合、半構造化または非構造化です。このデータのスキーマは、スキーマが変更されるとさらに推測されるのに時間がかかります。
多くの場合、このデータをOLTPシステムのデータと組み合せる必要があり、これら2つのストレージ・システムのデータを組み合せることは困難です。
企業は、使用パターンについて学習し、顧客による採用、部品や機械の故障の可能性、新しい機能の導入、顧客維持などに関する予測をしたいと考えています。また、オブジェクト・ストレージのデータを使用して、アップセルおよびクロスセルの機会を特定したいと考えています。多くの場合、機械学習に別のサービスを使用する必要があります。
大量のデータがあれば、企業はデータ量と使用頻度に基づいてレイクハウス・システムを柔軟にスケール・アップまたはスケール・ダウンする必要があります。
これらの機能をすべて使用するために、顧客は別の問合せ言語を習得したり、カスタム・スクリプトを作成したりする必要はありません。最も一般的で一般的なデータ問合せ言語はSQLであり、顧客は、このオブジェクト・ストレージ・データを使用してSQLを理解する既存の分析アプリケーションを引き続き使用したいと考えています。
HeatWave Lakehouseを選ぶ理由
- HeatWave Lakehouseでは、データをデータベースに移動する必要はありません。オブジェクト・ストレージからのデータは、非常に最適化された形式でHeatWaveクラスタ・メモリーに読み込まれ、大量のデータに対して非常に高速なパフォーマンスをもたらす形式でロードされます。
- HeatWave Lakehouseでは、データを変換しなくても、CSV、Parquet、Avroおよびその他のデータベース・エクスポート・ファイルでデータを読み込んでロードできます。MySQL Autopilotは、HeatWaveの機能であり、機械学習を利用して、適応サンプリングやスキーマ推論、容量推定、並列でのデータの高速ロード、問合せ実行の最適化など、複数のタスクを自動化および合理化します。
- 単一のMySQL HeatWaveインスタンスでは、ユーザーはOLTPデータベースおよびオブジェクト・ストレージからデータを問い合せるのみでなく、標準のMySQL構文を使用して、両方のソースからのデータを単一の問合せに結合することもできます。基礎となるデータ構造と物理表現は、ユーザーに抽象化されます。
- 機械学習は、標準関数を使用してHeatWaveにロードされたOLTPデータとオブジェクト・ストレージ・データの両方で使用できます。HeatWave AutoMLでは、ユーザーは共通のAPIセットを使用して、データがオブジェクト・ストレージかデータベースかに関係なく、分類、回帰、時系列予測および推奨システムのトレーニング、予測、説明を行います。これにより、MLタスクが大幅に簡素化されます。
- HeatWave Lakehouseは、高度にパーティション化されたアーキテクチャを採用し、AWSからデータを移動することなく、S3からデータを処理します。これにより、顧客がAWSで負担する大量のデータ・エグレス料金を回避できます。
- 使いやすいインタフェースにより、お客様はMySQL HeatWaveをS3にあるデータに簡単に接続できます。
- AWS IAM (Identity and Access Management)ロールを使用した顧客データ・バケットへのセキュア・アクセスにより、顧客はAWS上のMySQL HeatWaveと共有されるデータを完全に制御できます。
- お客様は、数分で大きなクラスタ(数百のノードを使用)をプロビジョニングできます。
4つの簡単なステップでAWSでHeatWave Lakehouseを使用
ここでは、ユーザーがHeatWave Lakehouseを使用してS3のデータを4つの簡単なステップで問い合せる方法を説明します。
ステップ1: HeatWaveクラスタの起動
https://cloud.mysql.com/からAWSコンソールでMySQL HeatWaveにログインし、DB Systemを作成します(最小MySQLバージョンは8.1.0です)。すでにDB Systemがあり、レイクハウス機能を使用する予定がある場合は、DB SystemをレイクハウスをサポートするMySQLバージョンにアップグレードできます。
HeatWave.256GBシェイプのHeatWaveクラスタをDB Systemに追加します(レイクハウス機能を使用する場合は、HeatWave.256GBシェイプを選択する必要があります)。これにより、HeatWaveクラスタのレイクハウス機能が自動的に有効になります。
ステップ2: HeatWaveシステム・アクセス権をS3に付与
HeatWave Lakehouseでは、データベース・システムにAWSアカウントのS3バケット内のデータにアクセスする権限が必要です。そのためには、適切な権限を持つIAMロールを作成する必要があります。つまり、必要なS3権限を指定されたバケットに付与し、これらのポリシーを前述のIAMロールにアタッチするポリシーを作成します。これにより、顧客はバケットに安全にアクセスでき、アクセス・ポリシーを完全に制御できます。
割り当てられたLakehouseRoleARNは、選択したインスタンスのMySQL詳細ページで確認できます。
ステップ3: レイクハウス・マッピングの作成
必要なロールARNを作成してS3へのアクセスを有効にしたら、DBシステムに接続します。「HeatWaveのデータを管理」タブから、必要な詳細(ファイルのS3 URIアドレス、ファイル形式(Parquet、CSV、Avroなど)、スキーマ、およびこのデータをロードする表の名前)を指定して、レイクハウスのマッピングを作成します。
MySQL Autopilotはスキーマを推測し、必要な容量を推定し、表を作成してこのデータをHeatWave Lakehouseにロードするために必要なスクリプトを生成します。提供された情報に従って生成されたSQLを確認し、エラーや警告に対処します。レビューが完了したら、「Create」ボタンをクリックして続行します。
すべての表のマッピングを作成したら、「HeatWaveのデータを管理」タブで表示できます。これらのすべてのテーブルのソースは、ロードされているかどうかに関係なく、推定行数と推定メモリー見積り(MySQL Autopilotによって計算)を確認することもできます。
ユーザーは、「クラスタ・サイズの見積り」を選択して、自動プロビジョニング機能を使用することもできます。MySQL Autopilotは、前述のテーブルをHeatWaveにロードするために必要なメモリーやノード数など、必要なすべての詳細を提供します。
更新を適用して、HeatWaveクラスタ・サイズを変更します。クラスタがアクティブになると、そのクラスタを使用できるようになります。
ステップ4: S3からのデータのロードおよび問合せの開始
「HeatWaveのデータを管理」タブを使用して、「HeatWaveにロード」をクリックして、S3バケットの表(表を含む)をHeatWaveにロードします。
「問合せエディタ」タブにナビゲートします。左側には、HeatWaveにロードされたデータの割合が表示されます。問合せエディタを使用して、InnoDBやS3などの様々なデータ・ソースから表に対して問合せを実行します。
HeatWave AutoMLによる機械学習
お客様は、S3からロードされたデータについて、機械学習モデルをトレーニング、予測、説明できるようになりました。HeatWave AutoMLでは、共通の一連のAPIを使用して、データがレイクハウスにあるかデータベースにあるかに関係なく、モデルをトレーニング、予測および説明します。S3からHeatWaveにロードすると、ユーザーはモデルを作成し、モデルをトレーニングし、このトレーニング済モデルを使用して予測を行うことができます。インタラクティブ・コンソールを使用すると、モデルの作成、モデルの説明、推論の導出、シナリオ分析の実行のプロセスが簡略化され、技術者以外のユーザーでも機械学習を簡単に使用できます。
HeatWave Lakehouseによる機械学習
HeatWave Lakehouseは、トランザクション・データベース、オブジェクト・ストレージのデータを処理および問合せするための単一のサービスを提供し、標準的なMySQL構文を使用して、データをオブジェクト・ストレージからデータベースに移動したり、ETLプロセスを必要とせずに、機械学習モデルを実行してデータに関する予測を行うためのものです。
その他のリソース:
コメント
コメントを投稿