>100 Views
February 25, 25
スライド概要
HeatWavejpは、MySQL HeatWave の良さを知っていただき、参加者同士でノウハウやナレッジを共有できるユーザーコミュニティです。参加者同士のつながりを深めるため、以下の活動を行ってまいります。 COMMUNICATION *Slackやconnpassを活用したユーザー同士のコミュニケーションの場の提供 EVENT *オンライン/オフラインでのMeetupセミナーや勉強会の開催(隔月程度) SHARING *製品情報や最新アップデート、リリース情報の共有 INTERACT *参加者のコミュニティ・ネットワークやユーザー同士の交流を促進
HeatWave のLakehouse 機能を触ってみよう! 自動化してみよう! HeatWavejp Meetup #07 2024/04/11 CData Software Japan Kazuya Sugimoto -Lead Engineer © 2024 CData Software Japan, LLC | www.cdata.com/jp
About Speaker CData Software Japan の Lead Engineer これまで300種類以上のAPIを見たり触ったりしている API中毒な人。 Twitter:@sugimomoto Facebook:sugimomoto Blog:https://www.cdatablog.jp/ © 2024 CData Software Japan, LLC | www.cdata.com/jp Software Design 2022年8月号 Web API 特集 の第1章「Web APIの目的と技術要素 利用者/提供者の利点や技術的なしくみをひも 解く」を執筆 https://gihyo.jp/magazine/SD/archive /2023/202308
本日のお話 © 2024 CData Software Japan, LLC | www.cdata.com/jp
HeatWave のLakehouse 機能を触ってみよう! https://www.oracle.com/jp/news/announcement/oracle-announces-general-availabilitymysql-heatwave-lakehouse-2023-07-20/ © 2024 CData Software Japan, LLC | www.cdata.com/jp
そもそもLakehouse とはなんぞや? Datawarehouse Datalake Lakehouse データ ウェアハウスとは、POS トランザクション、マーケティン グ オートメーション、顧客管理 などの複数のソースからの構造化 データおよび半構造化データの分 析とレポート作成に使用される企 業システム データレイクは構造化/非構造化 データやバイナリ等のファイル含 めたデータを一元的に格納する データリポジトリ。構造化データ (列と行)や、半構造化データ (CSV、ログ、JSON)、非構造 化データ(Eメール、ドキュメン ト、PDF)、バイナリデータ(画 像、音声、映像)などを含む。 データレイクの柔軟性と拡張性の メリットにデータウェアハウスの データ構造とデータ管理機能を組 み合わせた、ハイブリッドデータ 管理アーキテクチャー https://cloud.google.com/learn/what-is-a-data-warehouse?hl=ja https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%A4%E3%82%AF https://www.hpe.com/jp/ja/what-is/data-lakehouse.html © 2024 CData Software Japan, LLC | www.cdata.com/jp
そもそもLakehouse とはなんぞや? 分散ファイルシステム 分散クエリ スキーマ・メタデータ 計算リソースとストレージの分離に加えて、テーブルの基盤(スキーマ・メタデータ)を実装 し、効率的かつ構造的なデータ処理およびACIDなどの機能をサポートするアーキテクチャ (※私なりの表現。以前からあるApache Sparkなどはこれに近いアプローチですよね) © 2024 CData Software Japan, LLC | www.cdata.com/jp
Lakehouse のメリット ・データの主体はデータレイクに存在するため、柔軟性・拡張性が維持し やすい。データコストを削減。 ・データレイクからデータウェアハウスへのデータローディング・ETL/ELT 処 理の最小化。 ・データプール間での移動の必要をなくし、一元管理・データガバナンスを 確保しやすく。 ・複数のシステムにまたがったアクセスが不要にし、BIツールなどからもアク セスしやすく。 © 2024 CData Software Japan, LLC | www.cdata.com/jp Lakehouse
HeatWave のLakehouse 機能 とは? ・業界で初めて、データベース内データへのクエリと同等に高速なオブジェ クト・ストレージ内データに対するクエリ実行を実現 ・CSV、Parquet、他のデータベースからエクスポート・ファイルなど、オブ ジェクト・ストアのさまざまなファイル形式をサポートし、これらのファイルを MySQLデータベースのトランザクション・データと組み合わせることも可能 ・MySQLデータベースにデータをコピーすることなく、オブジェクト・ストア内 のファイルに対して直接クエリを実行 https://www.oracle.com/jp/news/announcement/oracleannounces-general-availability-mysql-heatwave-lakehouse2023-07-20/ © 2024 CData Software Japan, LLC | www.cdata.com/jp
HeatWave のLakehouse 機能の使い方・設定 © 2024 CData Software Japan, LLC | www.cdata.com/jp
①HeatWave Lakehouse 構成時の注意点 ・MySQL.HeatWave.VM.Standardおよび HeatWave.512GB シェイプでのみサポート ・高可用性構成では利用不可 ・ポイントインタイムリカバリ不可 ・リードレプリカの使用不可 © 2024 CData Software Japan, LLC | www.cdata.com/jp
②MySQL HeatWave レイクハウスを有効に 前述の設定を満たしていないと 有効化できないので要注意 © 2024 CData Software Japan, LLC | www.cdata.com/jp
③オブジェクトストレージの準備 OCI上のMySQL HeatWaveは、Oracle Cloud Infrastructure に保存されている外部 データにアクセス可能。AWS 上の MySQL HeatWave は、AWS に保存されている外部 データにアクセス可能。 (※試しにOCI上のHeatWave でAmazon S3 のファイルにアクセスしようとしたら失敗) ファイルのアクセス権は事前認証されたURLを利用 する方法(認証Keyなどを含む)ないし、リソース プリンシパルを利用してDB自体がオブジェクトスト レージへのアクセスを許容するように構成する必要 がある https://dev.mysql.com/doc/heatwave/en/mys-hw-lakehouse-access-objectstorage.html © 2024 CData Software Japan, LLC | www.cdata.com/jp
④データローディング 2種類のロード方法が選択できる # Auto Parallel Load 自動的にファイル構成を読み取って、Create Table 文を作りローディングしてくれる便利なアプ ローチ # 手動でのデータローディング Create Table 文を使って、手動でスキーマを構 成してローディング © 2024 CData Software Japan, LLC | www.cdata.com/jp
⑤Auto Parallel Load
SET @db_list = '["test"]';
SET @ext_tables = '
[
{
"db_name": "test",
"tables": [
{
"table_name": "sample",
"dialect": {
"format": "csv",
"field_delimiter": ",",
"record_delimiter": "¥¥n",
"skip_rows": 1
},
"file": [
{
"par": "https://objectstorage.ap-tokyo1.oraclecloud.com/p/XXXX/n/nrcg3afka3eo/b/bucket-cdatasync/o/Sample.csv"
}
]
}
]
}
]
';
SET @options = JSON_OBJECT('external_tables', CAST(@ext_tables AS JSON));
CALL sys.heatwave_load(@db_list, @options);
© 2024 CData Software Japan, LLC | www.cdata.com/jp
対象データのフォーマット、デリミタ、ファイルパスなどを指
定するだけでOK
sys.heatwave_load をコールすることで、対象データ
をスキャン、カラムの型を推定し、Create Table文の発
行、データのローディングをしてくれる
⑤手動でのデータローディング
CREATE TABLE sample (
id int NOT NULL,
name VARCHAR(45) NULL,
PRIMARY KEY (id))
ENGINE=lakehouse
ENGINE_ATTRIBUTE='{
"file": [
{
"par": "https://objectstorage.ap-tokyo1.oraclecloud.com/p/XXXX/n/nrcg3afka3eo/b/bucket-cdatasync/o/Sample.csv"
}
],
"dialect": {
"format": "csv",
"is_strict_mode": false,
"field_delimiter": ",",
"record_delimiter": "¥¥n"
}
}
‘;
ALTER TABLE sample SECONDARY_ENGINE = RAPID;
ALTER TABLE sample SECONDARY_LOAD;
© 2024 CData Software Japan, LLC | www.cdata.com/jp
Create Table のパラメータとしてファイルパスやデータ
フォーマットを指定
⑥結果を確認してみる © 2024 CData Software Japan, LLC | www.cdata.com/jp
データロード? ファイルはどこにある? >ソース データは Object Storage から読み取 られ、メモリに最適化された HeatWave 形式に 変換され、Object Storage の HeatWave 永続ストレージ レイヤーに保存されてから、 HeatWave クラスター メモリにロードされます。 このデータは、サービスのエンドユーザーによって 直接アクセスされることはありません。このメモリ最 適化された内部バージョンのデータは、 HeatWave クラスターで Lakehouse オプション が有効になっている限り保持されます。 https://dev.mysql.com/doc/heatwave/en/mys-hwlakehouse-overview-data-storage.html © 2024 CData Software Japan, LLC | www.cdata.com/jp ※そのためデータのリフレッシュをするには、再度 Drop・Createし直す必要がある模様
自動化してみよう © 2024 CData Software Japan, LLC | www.cdata.com/jp
CData Sync 400を超えるデータソースのデータをノーコードでデータベースにレプリケーション SaaSを中心とする400(API Profile含 む)を超えるデータソース シンプルな設定 ノーコード、3ステップで データ統合基盤を構築 主要なデータレイク・データベース・ データウェアハウス ETL/ELT 方式 高度な差分更新 標準SQLによるデータ抽出時 での変換、もしくは、データ ウェアハウスへの取り込み後 の変換どちらにも対応 CDC(ChangeDataCapture)な どの高度な差分更新メカニズ ムを搭載 オブジェクト(テーブルや項目)、処理方式 (洗い替えor差分など)や条件(一部のレコー ドのみ)を指定したジョブ作成が可能 処理負荷を軽減し、日々の ジョブ実行時間の短縮を実現 作成したジョブはスケジュール、および、Web APIやコマンドラインで実行可能 © 2023 CData Software Inc. | www.cdata.com 柔軟なジョブ管理
せっかくなので、自社製品でデータロードを自動化 CSVファイルを生成するジョブを実行後、Oracle オブ ジェクトストレージにファイルをアップロードするAPIリクエス トを実行 © 2024 CData Software Japan, LLC | www.cdata.com/jp
変換クエリでテーブルを再ロード CSVファイルをアップロード後に変換クエリを発行し、 DROP TABLEからCREATE TABLE、ALTER TABLEを実行し、ファイルのリフレッシュを自動化! © 2024 CData Software Japan, LLC | www.cdata.com/jp
おわりに © 2024 CData Software Japan, LLC | www.cdata.com/jp
まとめ・所感 # 触ってみて感じたHeatWave Lakehouse のポイント ・MySQL のエクスペリエンスを保ったまま、Lakehouse の良いところを 利用できる! ・一度ロードしてしまえば、データストレージを意識せずに利用可能。ただ し、データのリフレッシュは要注意。 # 今後のHeatWave Lakehouse の気になるところ ・HeatWave 永続ストレージレイヤーに保存されずに利用できるように なると嬉しいな ・Delta LakeやIcebergなどのLakeHouse 向けオープンフォーマット に対応してくれると嬉しいな © 2024 CData Software Japan, LLC | www.cdata.com/jp