Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MySQL HeatWaveの新しいトピック! / MySQL HeatWave Update 202206

MySQL HeatWaveの新しいトピック! / MySQL HeatWave Update 202206

2022年6月21日に開催された
 OCIjp #31 Oracle Cloud Infrastructure ユーザーグループ
 学びシリーズ集大成!〜HeatWave&OracleDB〜
https://fullenergy-oci.connpass.com/event/248521/
でのLT資料です。

7fb060398b26ed622d34921bd64e4f5d?s=128

YoshiakiYamasaki

June 21, 2022
Tweet

More Decks by YoshiakiYamasaki

Other Decks in Technology

Transcript

  1. MySQL HeatWaveの新しいトピック! OCIjp#31 学びシリーズ集大成!〜HeatWave&OracleDB〜 でのLT 2022年6月21日 MySQL Global Business Unit

    山﨑 由章 / Yoshiaki Yamasaki
  2. Copyright © 2022, Oracle and/or its affiliates 2 「HeatWaveってなんじゃそりゃ? 入門から実践まで」で

    話題に挙がらなかった トピックを3つ
  3. Copyright © 2022, Oracle and/or its affiliates 3 1つ目

  4. Copyright © 2022, Oracle and/or its affiliates 4 HeatWaveへのデータロードを 簡単&高速化する機能が

    提供されています!
  5. Copyright © 2022, Oracle and/or its affiliates 5 プロシージャーを1つ実行するだけで、 全テーブルを高速にロード可能

    (並列処理でロード可能、並列度も自動調整)
  6. Copyright © 2022, Oracle and/or its affiliates 6 MySQL HeatWave

    User Guide / Loading Data Using Auto Parallel Load https://dev.mysql.com/doc/heatwave/en/auto-parallel-load.html
  7. Copyright © 2022, Oracle and/or its affiliates 7 2つ目

  8. Copyright © 2022, Oracle and/or its affiliates 8 松本さんの発表で、 HeatWaveのノード数を追加することで

    Google BigQueryよりも高速に動作した、 というトピックがありましたが・・・
  9. Copyright © 2022, Oracle and/or its affiliates 9 HeatWaveのノード追加&削除を オンラインできるようになりました!

  10. Copyright © 2022, Oracle and/or its affiliates 10 2022年6月15日にリリースされた機能!

  11. Copyright © 2022, Oracle and/or its affiliates 11

  12. HeatWaveノードのノード数追加/削除をオンラインで実行可能に Copyright © 2022, Oracle and/or its affiliates 12 N

    + K台構成となったHeatWave クラスターでのSQL受付開始 追加するK台の ノード割り当て メタデータの 同期 InnoDBのテーブルの データをK台にロード サイズ変更 開始 既存のN台構成のHeatWave クラスターへのSQL受付 新 手 法 での ノ ード 追 加 サイズ変更 開始 追加するK台の ノード割り当て InnoDBのテーブルのデータを N + K台全てにロード N台のHeatWaveの非アクティブ化 N + K台構成のプロビジョン N + K台構成の クラスターの再アクティブ化 既存のN台構成のHeatWave クラスターへのSQL受付停止 N + K台構成となったHeatWave クラスターでのSQL受付開始 手 動 で の ノ ー ド 追 加 (従 来 型 )
  13. ノード数を増加することによりデータロード時間も短縮、 メタデータの同期による一時停止時間は0.2ミリ秒以下 Copyright © 2022, Oracle and/or its affiliates 13

    0 0.2 0.4 0.6 0.8 1 4TBのデータのロード時間 (秒) 0 50 100 150 200 250 300 一時停止時間 (ミリ秒) いつでも利用可能 HeatWaveノードのメモリー内に格納された パーティション構成情報の更新の間だけ一時停止 予測可能 時間はノードあたりの データサイズに依存 大きなクラスターサイズへの変更による データロード時間の短縮 クエリの一時停止時間 4 → 6 8 → 16 22 → 41 5 → 29 29 → 11 11 → 17 高速化 ほぼオブジェクトストレージの 帯域性能に相当 17 → 8
  14. Copyright © 2022, Oracle and/or its affiliates 14 負荷の高い処理を実行する時だけ ノード拡張することも容易になりました!

  15. Copyright © 2022, Oracle and/or its affiliates 15 3つ目

  16. Copyright © 2022, Oracle and/or its affiliates 16 HeatWave MLリリース!

  17. Copyright © 2022, Oracle and/or its affiliates 17 HeatWaveだけで機械学習ができる!

  18. Copyright © 2022, Oracle and/or its affiliates 18 SQLだけで機械学習ができる!

  19. Copyright © 2022, Oracle and/or its affiliates 19 HeatWave MLを使うために

    追加費用必要無し!
  20. Copyright © 2022, Oracle and/or its affiliates 20 現状のHeatWave MLでできること

  21. MySQL HeatWave ML は、教師あり学習の分類, 回帰を提供 MySQL HeatWave MLにおける機械学習 Copyright ©

    2022, Oracle and/or its affiliates 機械学習 ML 強化学習 分類 回帰 クラスタリング 次元削減 深層学習 DL 人間の知能を再現する 処理能力やテクノロジー (推論、認識、判断 etc.) 人工知能 AI データ解析により 学習結果を法則化, 自動化 人間の脳神経回路を 参考にした手法で データから特徴を抽出 教師なし 学習 正解を学習データ としてそれを再現する モデルを生成 診断や顔認識など画像を使った分類, カテゴライズ 売上、降水確率などを定量的に予測 教師あり 学習 MySQL HeatWave MLが サポートする機械学習 21
  22. Copyright © 2022, Oracle and/or its affiliates 22 HeatWave MLが解決する

    機会学習の課題
  23. 機械学習の工程と各工程での課題 Copyright © 2022, Oracle and/or its affiliates 23 大量のデータを

    収集 結論を導く アルゴリズムを選択 パラーメーター を選択 統計的な演算を行ってモデルを 作成するためのアルゴリズムを 「トレーニング」 実際のデータに対し て推論を実行 データの移動と加工は 手間とコスト、時間が かかる面倒な作業 正しいアルゴリズムと パラーメーターを選択 できるか? 推論や予測の精度に大きな影響があるため 重要ではあるが、トレーニングに非常に 長い時間がかかる (※) ブラックボックス化、 なぜそのモデルがその 選択をしたのか分からない 工 程 ※トレーニングは、推論に比べて非常に時間がかかる
  24. 機械学習の工程と各工程での課題 Copyright © 2022, Oracle and/or its affiliates 24 大量のデータを

    収集 結論を導く アルゴリズムを選択 パラーメーター を選択 統計的な演算を行ってモデルを 作成するためのアルゴリズムを 「トレーニング」 実際のデータに対し て推論を実行 工 程 既にDBにあるデータを活用 AutoMLの活用 圧倒的に高速な「トレーニング」 全てのモデルに対して 「説明」可能 機械学習の悩みをHeatWaveが解決
  25. Copyright © 2022, Oracle and/or its affiliates 25 HeatWave MLのチュートリアル

    MySQL HeatWave User Guide / Iris Data Set Machine Learning Quickstart https://dev.mysql.com/doc/heatwave/en/hwml-iris-example.html
  26. 機械学習の「分類」のチュートリアルとしてよく使われるアヤメの品種分類での例 学習用データと推論用データ Copyright © 2022, Oracle and/or its affiliates 26

    mysql> SELECT * FROM ml_data.iris_train; +--------------+-------------+--------------+-------------+-----------------+ | sepal length | sepal width | petal length | petal width | class | +--------------+-------------+--------------+-------------+-----------------+ | 6.4 | 2.8 | 5.6 | 2.2 | Iris-virginica | | 5 | 2.3 | 3.3 | 1 | Iris-setosa | | 4.9 | 2.5 | 4.5 | 1.7 | Iris-virginica | | 4.9 | 3.1 | 1.5 | 0.1 | Iris-versicolor | <略> | 5.7 | 3 | 4.2 | 1.2 | Iris-setosa | | 4.4 | 2.9 | 1.4 | 0.2 | Iris-versicolor | | 4.8 | 3 | 1.4 | 0.1 | Iris-versicolor | | 5.5 | 2.4 | 3.7 | 1 | Iris-setosa | +--------------+-------------+--------------+-------------+-----------------+ 120 rows in set (0.00 sec) sepal length :ガクの長さ sepal width :ガクの太さ petal length :花びらの長さ petal width :花びらの太さ class :アヤメの品種 (セトサ種、バージカラー種、バージニカ種) class列を正解として学習させる (教師あり学習) 学習用データ mysql> SELECT * FROM ml_data.iris_test; +--------------+-------------+--------------+-------------+ | sepal length | sepal width | petal length | petal width | +--------------+-------------+--------------+-------------+ | 5.9 | 3 | 4.2 | 1.5 | | 6.9 | 3.1 | 5.4 | 2.1 | | 5.1 | 3.3 | 1.7 | 0.5 | | 6 | 3.4 | 4.5 | 1.6 | <略> | 5.2 | 4.1 | 1.5 | 0.1 | | 6.7 | 3.1 | 4.7 | 1.5 | | 6.7 | 3.3 | 5.7 | 2.5 | | 6.4 | 2.9 | 4.3 | 1.3 | +--------------+-------------+--------------+-------------+ 30 rows in set (0.00 sec) 推論用データ 正解であるclass列が無いテーブル
  27. Copyright © 2022 Oracle and/or its affiliates. 27 ML_TRAIN(テーブル名, 対象列名,

    [オプション], モデル名) • オプション • 分類の場合: NULL または JSON_OBJECT('task', 'classification') • 回帰の場合: JSON_OBJECT('task', 'regression’) 実行例) ml_data.iris_trainテーブルのclass列に対する分類(アヤメの品種分類) 「トレーニング」終了後に SELECT @iris_model; で生成されたモデル名を確認可能 HeatWave MLでの「トレーニング」 CALL sys.ML_TRAIN('ml_data.iris_train', 'class', JSON_OBJECT('task', 'classification'), @iris_model);
  28. Copyright © 2022 Oracle and/or its affiliates. 28 ML_MODEL_LOAD(モデル名, ユーザー名)

    • ユーザー名に「NULL」を指定した場合は、現在のユーザーが指定される 実行例)前ページの実行例で作成したモデルをロード HeatWave MLでのモデルのロード mysql> CALL sys.ML_MODEL_LOAD(@iris_model, NULL);
  29. Copyright © 2022 Oracle and/or its affiliates. 29 ML_PREDICT_ROW(対象データ,「 トレーニング」済みモデル名)

    • 指定した行データに対する予測 実行例) 作成したモデルを使って、アヤメのデータを1行だけ与えて品種(class列)を求める HeatWave MLでの「推論」 ※行の場合 SELECT sys.ML_PREDICT_ROW(JSON_OBJECT("sepal length", 7.3, "sepal width", 2.9, "petal length", 6.3, "petal width", 1.8), @iris_model); +---------------------------------------------------------------------------------------------------------------------------------+ | sys.ML_PREDICT_ROW(JSON_OBJECT("sepal length", 7.3, "sepal width", 2.9, "petal length", 6.3, "petal width", 1.8), @iris_model) | +---------------------------------------------------------------------------------------------------------------------------------+ | {"Prediction": "Iris-virginica", "petal width": 1.8, "sepal width": 2.9, "petal length": 6.3, "sepal length": 7.3} | +---------------------------------------------------------------------------------------------------------------------------------+ sepal length :ガクの長さ sepal width :ガクの太さ petal length :花びらの長さ petal width :花びらの太さ class :アヤメの品種 (セトサ種、バージカラー種、バージニカ種)
  30. Copyright © 2022, Oracle and/or its affiliates 30 7/29(金)、7/30(土)に開催される OSCオンライン京都で詳細を解説予定

    (私のセッションは7/29(金)の昼頃になる見込み)
  31. Copyright © 2022, Oracle and/or its affiliates 31 ※先日開催されたOSCオンライン名古屋での 以下のセッションを加筆修正して開催予定

    「データベースエンジニアのための、 MySQL HeatWave MLによる機械学習入門」 資料 https://event.ospn.jp/slides/OSC2022-OnlineNagoya/osc2022_OnlineNagoya_MySQL.pdf 動画 https://www.youtube.com/watch?v=g3fHLRP2JwU
  32. Copyright © 2022, Oracle and/or its affiliates 32 HeatWaveを是非お試しください!

  33. 33 Copyright © 2022, Oracle and/or its affiliates. ご清聴ありがとう ございました!!