2025年1月8日開催「MySQLの開発元が提供するクラウド・データベース HeatWave MySQL」

314 Views

January 11, 25

スライド概要

HeatWaveはオラクルが提供する分散並列型のインメモリ・データベースにベクトル・ストア、機械学習やLLM(大規模言語モデル)を統合したクラウド・サービスです。
このセミナーではMySQLサーバーのクラウド版としてのHeatWave MySQLの機能や技術的特徴などをご紹介しています。HeatWave MySQLではMySQL 9.0で追加されたベクトル・データ型やJavaScriptで開発できるストアド・プロシージャを含む最新機能が利用可能になっています。またHeatWaveクラスターを追加することで、分析系の処理の高速化だけではなく、HeatWave AutoPilotによる運用に関する処理の自動化や運用作業の省力化も可能になります。
講演の動画もドクセルにアップロードしてあります。
https://docswell.com/s/OraJP_HeatWave/vPJY8QJ-2025-01-18-HeatWaveMySQL

profile-image

日本オラクルにてMySQLをベースとしたHeatWaveの製品を担当するチームです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

MySQLの開発元が提供する クラウド・データベース HeatWave MySQL 2025年1月8日 稲垣 大助/ INAGAKI Daisuke MySQL Principal Solution Engineer 日本オラクル

3.

3 Transactional Analytics Lakehouse AutoML GenAI クラウド版MySQL Enterprise Edition 大規模データ分析を 大幅に高速化 オブジェクト・ ストレージとの統合 機械学習の パイプラインを自動化 専門知識なしで 生成AIの活用 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

4.

HeatWave MySQL on OCI 4 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

5.

圧倒的なコストパフォーマンス 利用頻度の高いサービス3つ全てで低価格を実現 Compute Storage Network Oracle の強み Oracle 他社クラウド ✓ 同一リソースを低価格で 提供 ✓ CPU/メモリを柔軟に選択 可能 (フレキシブル・シェイプ) \51.52/時 \167.6976/時 ✓ 他社標準ストレージ価格 で、高性能ストレージを 提供 ✓ 性能に対するSLAあり ✓ AD間無償 ✓ 10TB/月まで無償 ✓ 閉域網接続時はデータ 転送無償 Compute (VM.Standard.E5; 16vCPU, 64GB, Linux) 仮想マシン (16vCPU, 64GB, Linux) \5,950/月 \278,880/月 Block Volume (1TB, 25K IOPS) ブロック・ストレージ (1TB, 25K IOPS) \22,134/月 \603,686/月 FastConnect (1Gbps, 100TB) *閉域網接続 接続サービス (1Gbps, 100TB) *閉域網接続 \ 69% 低価格 \ 98% 低価格 \ 96% 低価格 Compute: 同一リソースを低価格で提供、高い柔軟性 (フレキシブル・シェイプ) Storage/Network: トランザクションやデータ転送量による料金変動を低減する料金体系 5 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. * as of February 2024, Tokyo Region

6.

特徴:ストレージ性能 • OCIのブロック・ボリュームの一種である「より高いパ フォーマンス(Higher Performance)」を採用 • デフォルトで暗号化されている 性能タイプ VPU(Volume Performance Unit) より高いパフォーマンス 7500 IOPS 59 MB/s 500GB 20 IOPS 75 IOPS/GB (最大750,000 IOPS/vol) スループット 600 KBPS/GB (最大 9.96 GB/s) Performance SLA Yes 1か月の1GBあたりの価格 \6.2 (ストレージ+VPU) 100GB 37500 IOPS 293 MB/s 1TB 75000 IOPS 586 MB/s 2TB 150000 IOPS 1.14 GB/s 詳細:https://docs.oracle.com/ja-jp/iaas/Content/Block/Concepts/blockvolumeperformance.htm#Block_Volume_Performance 6 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

7.

特徴:ネットワーク(データ転送コスト) 外部へ(アウトバウンド通信)のデータ転送コスト 千円/月 オラクル 他社 300 250 200 ポイント1: 最初の10TBまで無償 (他社では100GBまで) ポイント2: 単価が安価 (3.875円/GB) \12-16/GB (他社の1/3-1/4) 150 ポイント3: 100 50 閉域網接続では課金なし (接続ポート料金のみ) \3.875/GB 10TBまで無償 0 0 2 4 6 8 10 12 送信データ(TB/月) 7 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 14 16 18 20

8.

特徴:MySQL Edition MySQL Enterprise Edition • MySQL開発チームが開発、運用、 サポートを行うクラウド・データベース • Enterprise Audit • Enterprise Masking • Enterprise ファイアウォール • Enterprise スレッド・プール • MySQL プレミアサポート 8 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 6000 スループット (txn/s) • 商用版機能を利用可能 TPC-C (10 GB, data fits in buffer pool) 4000 ー MySQL HeatWave ー Amazon Aurora 10x 2000 0 1 4 16 64 128 256 512 同時実行トランザクション 1024 2048 4096

9.

特徴:MySQL Version データベースバージョン MySQL 8.2 MySQL 8.3 Previous Innovation Release LTS series Innovation Release Premier Support 9 MySQL 8.4 MySQL 9.0.0 Extended Support Copyright © 2025, Oracle and/or its affiliates. All rights reserved. Sustaining Support 2032 MySQL 8.1 2031 MySQL 8.0 2030 Bug Fix series 2029 2028 2027 2026 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 MySQL 5.7 選択 9.1.2 – 革新 9.1.1 – 革新 9.1.0 – 革新 9.0.1 – 革新(非推奨) 9.0.0 – 革新(非推奨) 8.4.3 – LTS 8.4.2 – LTS 8.4.1 – LTS 8.4.0 – LTS 8.0.40 – バグ修正 8.0.39 – バグ修正 8.0.38 – バグ修正 8.0.37 – バグ修正 8.0.36 – バグ修正 8.0.35 – バグ修正(非推奨)

10.

特徴:MySQL H/A • ワンクリックで実現できるHA • 自動フェイルオーバー • システムの継続稼働を支援 • 障害発生時のダウンタイムを削減 (RTO: 数分) • 障害発生時のデータ損失ゼロ (RPO: ゼロ) 10 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

11.

特徴:Read Replica • 参照ワークロードのための水平方向のスケールアウト • • • • 非同期リードレプリカの追加と削除 容易な導入と保守 読み取り専用エンドポイント用のロードバランサを内蔵 高可用性オプションとの組み合わせにより信頼性向上 (切替やフェイルオーバーに対応) <注意事項> • レプリカの最大数: 18 • ロードバランサの帯域幅: 最大 8 Gbps • 別リージョンへのレプリカ作成は未サポート • ソースとなるインスタンスのECPU数8以上 • レプリカのソース昇格は未サポート 11 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

12.

クラウドへの移行を検討する 12 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

13.

クラウドへの移行:Version Up対応 • MySQLのバージョンアップ前に互換性のチェック • 5.7から8.0, 8.0から8.4へのメジャーバージョンアップ • 8.0, 8.4内でのマイナーバージョンアップ • 5.7より前のバージョンには非対応 • GA版のMySQLサーバーのみ対応 • バージョンアップ先を指定してチェック可能 • チェック対象のMySQLサーバーに接続 • 接続時のユーザーは以下の権限必須 RELOAD, PROCESS, SELECT • コマンドラインまたはMySQL Shell内でコマンド実行 13 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 1) 5.6.4以前のTIME型、DATETIME型、TIMESTAMP型の利用 2) ルーチンなどのオブジェクトでのMySQL 8.0文法チェック 3) オブジェクト名でのMySQL 8.0の予約語の利用 4) 古いキャラクタセット utf8mb3 または utf8 の利用 5) テーブル名でのMySQL 8.0のデータディクショナリのテーブル名の利用 6) ネイティブのパーティショニングをサポートしていないストレージエンジンでのパー ティショニングの利用 7) 64文字以上の外部キー名の利用 8) 廃止されたSQLモード MAXDB の利用 9) 廃止されたSQLモードの利用 10) ENUM型またはSET型での64文字以上の項目の利用 11) 共通表領域に置かれたテーブルでのパーティショニングの利用 12) 表領域ファイルのファイルパスの循環参照 13) 廃止された関数の利用 14) 廃止された`GROUP BY ASC/DESC`構文の利用 15) 廃止されたエラーログをシステムログに書き出すオプションの利用 16) 廃止されたシステム変数の利用 17) デフォルト値が新しい値に変わるシステム変数の利用 18) 年月日にゼロが含まれていないか 19) ファイルの削除や破損によるスキーマの不整合 20) 8.0でInnoDBを利用するテーブルでの他のエンジン利用 21) `check table x for upgrade`コマンドで発生したエラー 22) 認証プラグインのアップグレードに関する注意事項 23) 初期値を持てないカラム対応 24) 5.7で用いられていた不適切なテーブル名/スキーマ名 25) 5.7での孤立したルーチン 26) 廃止された、オブジェクト名での$サインの使用 27) 5.7以上では動かない大きすぎるインデックス 28) 廃止された、ルーチンでの'.<table>'文法

14.
[beta]
クラウドへの移行:アップグレード・チェッカー・ユーティリティ
コマンドラインから実行:
mysqlsh root:@localhost:3306 -e "util.checkForServerUpgrade();"
MySQL ShellのJavaScriptまたはPythonモードから実行
mysql-js> util.checkForServerUpgrade("root@localhost:3306");
MySQL ShellからMySQLサーバーに接続済みの場合は引数無しで実行
mysql-py> util.check_for_server_upgrade();
出力:
Error - 修正しない場合はバージョンアップが失敗する (例: 古い日付型利用など)
Warning -修正しない場合はバージョンアップ後に意図しないエラーが発生する可能性あり (例: 予約語との競合)
Notice – 情報提供のみ
出力の最後にそれぞれの件数をサマリーとして表示

14

Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

15.

クラウドへの移行:既存環境のデータを移行する ? ? Amazon RDS Microsoft Azure ? MySQL Shell Dump Google Cloud SQL オンプレミス 15 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. OCI Object Storage MySQL Shell Load HeatWave MySQL

16.

MySQL Shell . dumpInstace (データ取得) • • • • • • MySQLインスタンスからOracle Cloud Infrastructure Object Storageへ MySQLデータベースサービスの互換性チェック 複数のスレッドによる並列ダンプ ファイル圧縮をサポート ダンプ中に進捗情報を表示 information_schema、mysql、ndbinfo、performance_schema、sysスキーマは、常にインスタンスダンプから除外 MySQL5.7以上 ocimdsオプションは、ダンプで見つかった例外をチェックし、互換性オプションは、ダンプファイルを変更して、他のスト レージエンジンをInnoDBに置き換え util.dumpInstance("onpremise",{ociConfigFile:”oci.config”, osBucketName:” mysqldump_bucket”, osNamespace: “idazzjlcjqzj”,"ocimds": "true", "compatibility": ["strip_restricted_grants", "strip_definers"]}) https://www.mysql.com/content/download/id/685/ 16 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

17.

MySQL Shell . loadDump (データ展開) • • • • • MySQL Database Service もしくは MySQL Server instanceへのインポート リモートストレージからのデータストリーミング テーブルまたはテーブルチャンクの並列ロード 進行状況の表示 再開およびリセット機能 util.loadDump(“onpremise",{ociConfigFile:”oci.config”, osBucketName:” mysqldump_bucket”, osNamespace: “idazzjlcjqzj”,threads : 4 }) 17 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

18.

クラウドへの移行:データを連携する レプリケーション機能により既存環境のMySQLからデータ連携可能 Oracle Cloud Infrastructure レプリケーション VPN、FastConnectなどを利用 HeatWave MySQL 既存環境のMySQL ※MDSへのレプリケーションの制限事項については以下のドキュメントを参照下さい。 https://docs.oracle.com/en-us/iaas/mysql-database/doc/replication.html#GUID-7473DCFB-68FC-4FD6-9EFC-379F645D6BAA 18 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

19.

クラウドへの移行:データを連携する チャネルフィルタ(レプリケーション・フィルター) • インバウンド・レプリケーションのソースのバリエーション • オンプレミスのMySQLサーバー • 他のクラウドのMySQLベースのクラウド・データベース • 他のMySQL HeatWaveのインスタンス • レプリケーション・フィルター • フィルター不要なサービスは選択不可 • ユーザー独自のフィルター追加可能 19 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

20.

HeatWave MySQLのセキュリティを強化する 20 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

21.

HeatWave より強固なセキュリティ 組織内外からの攻撃への予防措置と事後対処 ◼ 継続的な監視 問題の検出と通知 ◼ データの保護 攻撃の予防とリスクの最小化 ◼ データの維持 サービスの継続と復旧 ◼ 調査と監査 問題の分析と事後の調査 Enterprise Authentication ・SSO - LDAP, AD, PAM, Native Kerberos, FIDO2, WebAuthn, MFA MySQL Enterprise Firewall Enterprise Masking (匿名化 ) MySQL Enterprise Audit MySQL Enterprise Firewall データ暗号化 OCI 自動バックアップ アクセス制御 Enterprise Firewall Database Management Health Monitor ネットワーク暗号化 強い認証 スレッドプール ・攻撃の最小化 Enterprise Audit ・強力なルールエンジン OCI Vault ・プロテクトキー データ暗号化 MySQL Enterprise Audit ・OCI Block Storage 暗号化機能 Enterprise Backup OCI自動バックアップ ・自動バックアップ 高可用性 (HA) ・HeatWave HA 21 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

22.

MySQL Enterprise Firewall リアルタイム保護 • ホワイトリストとカスタムルールでクエリーを確認 SQLインジェクションアタックをブロック • ポリシー外のトランザクションをブロック 侵入検知 • ポリシー外のトランザクションの検出と警告 ホワイトリストを自動作成 • ユーザー単位で実行を許可するSQLパターンのリス トを作成する学習モード 透過的 • アプリケーションの変更不要 22 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. Allows “Matching” SQL ALLOW In Whitelist Table Table Table Blocks SQL Attacks BLOCK NOT In Whitelist BLOCK and ALERT Table Table Table Allows SQL & Alerts DETECT (IDS) NOT In Whitelist ALLOW and ALERT Table Table Table

23.

MySQL Enterprise Audit ポリシーベースの監査機能を提供 • ログオン、クエリーの情報を監査可能 • • • ユーザがポリシーを設定可能:フィルタリング、ログローテーショ ン 動的に設定を変更可能:Audit設定時にサーバの再起動が 不要 Oracleの仕様に合わせXMLベースの監査ログを出力 (Oracle Audit Vaultとの互換性(ログフォーマット)) WHO WHERE WHEN WHAT 23 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

24.

MySQL Enterprise Data Masking 機密データの匿名化 • Data Masking • 文字列マスキング, 辞書置換 • ランダムデータジェネレータ • 範囲指定, クレジットカード, Email, SSN • 各種規制要件に対応 • Including GDPR, HIPAA and PCI DSS • 総合環境, 開発, 検証, 分析 • 機密情報を保護 24 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. ID Last First SSN 1111 Smith John 555-12-5555 1112 Templeton Richard 444-12-4444 ID Last First SSN 2874 Smith John XXX-XX5555 3281 Templeton Richard XXX-XX4444

25.

MySQL Data Masking Name Description gen_range() 範囲内のランダムな番号を生成 gen_rnd_email() ランダムな電子メール アドレスを生成 gen_rnd_pan() ランダムな支払いカードのプライマリ アカウント番号を生成 gen_rnd_ssn() ランダムな米国社会保障番号を生成 gen_rnd_us_phone() ランダムな米国電話番号を生成 mask_inner() 文字列の内部をマスク mask_outer() 文字列の左と右の部分をマスク mask_pan() 文字列の支払いカードのプライマリ アカウント番号部分をマスク mask_pan_relaxed() 文字列の支払いカードのプライマリ アカウント番号部分をマスク mask_ssn() 米国社会保障番号をマスク 25 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

26.

可観測性と管理 26 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

27.

Database Management for HeatWave MySQL 全体的な ・CPU ・ストレージ ・メモリ の割り当てと使用率 重大度別のアラーム ・総数 ・ステータス ドリルダウンによる詳細化 27 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

28.

個別のHeatWave Serverのモニタリング 28 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

29.

OCIでのMySQL 可観測性 メトリック • 問題の診断と解決のためのMySQLメトリック • 閾値に基づいて主要メトリックのアラームを生成 フリート監視 • Oracle CloudとオンプレミスにまたがるMySQLデータベース の統一されたフリートビュー フリートから特定のMySQLにドリルダウン • アプリケーションのパフォーマンスに影響を与える重い クエリを迅速に特定 • クエリのアクティビティが可視化され、クエリ統計以外の パフォーマンスに関するより深い監視が可能 • 高度な検索オプションによって、フルテーブルスキャンや 不良インデックスのような特定の問題を抽出 29 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

30.

MySQLの容量とパフォーマンス管理 予測的な分析 • 利用環境に応じた適切なサイズとリソースを最適化するための 分析と提案 • ワークロードの変化に応じた需要予測 • 最も大きく、最も利用され、最も急速に巨大化している データベースを迅速に切り分け • ビジネスクリティカルなSQLのパフォーマンス劣化を検知 • データベースを横断した集計と比較 • 特定の問題を解決するためのカスタムアナリティクスによる メトリクスの傾向や季節性を予測 30 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

31.

HeatWave メンテナンス 概要 DBシステムの月次メンテナンス、バージョンアップグレードの2種類 月次メンテナンス バージョンアップグレード • OracleがDBシステムのメンテナンスを実行する。 • 非推奨バージョンのアップグレートが実行される。 • 月次で必ず実行され、その間DBシステム停止を伴う。 • メジャーバージョン、マイナーバージョンの両方が対象。 シングルで数分、H/Aで数秒停止する。 • ユーザ側で「メンテナンス・ウィンドウの開始時間」を設 定している場合は、開始時間の2時間以内にメンテナ ンスが開始される。 * ユーザが選択できるのは「曜日」と「時間」 • 「メンテナンス・ウィンドウの開始時間」を定義しない場 合には、Oracle側で設定されたメンテナンスウィンドウが 定義される。 31 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. • 利用ユーザが手動によるバージョンアップは可能であり、 自動バージョンアップ前にユーザタイミングでのバージョ ンアップを推奨 • 非推奨になった後は即時にアップグレードされない。 Oracleによって任意の 「メンテナンス・ウィンドウの開始 時間」で行われる。 • 同一バージョン内の更新は、 「メンテナンス・ウィンドウ の開始時間」中に自動的に適用される。

32.

HeatWave 月次メンテナンス Oracleは、DBシステムに定義した「メンテナンス・ウィンドウの開始時間」の2時間以内に開始されるDBシステムのメン テナンスを実行します。保守は毎月実行されます。 メンテナンス・ウィンドウの開始時間を定義しない場合は、Oracleによって定義されます。自動的に選択されたウィンドウ がタイミングに合っているか確認することをお薦めします。メンテナンスの進行中、DBシステムのステータスはUPDATINGに 変わり、DBシステムは短時間使用できません。この間、MySQL HeatWave Serviceはメトリックをモニターしません。 メンテナンスの概要 https://docs.oracle.com/ja-jp/iaas/mysql-database/doc/overview-maintenance.html#GUID-4AC05C00-3865-449F-A293-CC3327194D47 32 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

33.

HeatWave Service RTO/RPO メンテナンスによるDBシステムの停止時間は、シングルで数分、H/A構成で数秒 シングルインスタンス H/A構成 ダウンタイム (RTO) 潜在的データ損失 (RPO) ソフトウェアおよびハードウェア の定期的な更新 分から時間 ゼロ ローカライズされたイベント: ネットワーク接続障害 ストレージ接続障害 分から時間 バックアップからのリストアが必要 なイベント: 完全なストレージ障害 完全なデータベース障害 可用性ドメインまたはフォルト・ド メインの障害 分から時間 障害およびメンテナンス・イベント 33 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. ダウンタイム (RTO) 潜在的データ損失 (RPO) ソフトウェアおよびハードウェア の定期的な更新 秒から分 ゼロ ゼロ ローカライズされたイベント: ネットワーク接続障害 ストレージ接続障害 分 ゼロ ポイントインタイ ム・リストアを有 効にして最大5 分。 バックアップからのリストアが必要 なイベント: 完全なストレージ障害 完全なデータベース障害 可用性ドメインまたはフォルト・ド メインの障害 分 ゼロ 障害およびメンテナンス・イベント

34.

MySQLアプリケーションを開発する Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

35.

MySQL を用いた開発の効率化: VS Code の統合 • VS Code IDE 拡張 マルチ開発言語対応 マルチプラットフォーム対応 ソースコード管理の統合 • MySQL Shell 拡張を使うと: スキーマ管理 SQL エディタ SQL ワークシート データ / 検索結果のグリッド表示 OCI 統合 35 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

36.

MySQL を用いた開発の効率化: VS Code の統合 36 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

37.

MySQL を用いた開発の効率化: REST Service • 高速で安全な HTTPS アクセス • VS Code for MySQL Shell との完全なUI統合 • PWA (Progressive Web App) の開発に最適 • 設定が簡単 • 高い可用性と拡張性 37 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

38.

MySQL REST Service の設定手順(1) MySQL インスタンスで REST Service をセットアップ 38 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. スキーマを REST Service に追加

39.

MySQL REST Service の設定手順(2) データベースオブジェクトを REST Service に追加 • 39 テーブル、ビュー、プロシージャなどはそのまま REST に設定される Copyright © 2025, Oracle and/or its affiliates. All rights reserved. REST オブジェクトを管理

40.

REST をテストできるクライアント API • create • createMany • findFirst • findUnique • findUniqueOrThrow • findMany • delete • deleteMany • update • updateMany https://dev.mysql.com/doc/dev/mysql-rest-service/latest/sdk.html 40 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

41.

MySQL を用いた開発の効率化: JavaScript サポート MySQL の以下の機能と透過的に動作 • 41 InnoDB • 高可用性 / レプリケーション • HeatWave(OLAP向け) • HeatWave AutoML • HeatWave AutoPilot • HeatWave Lakehouse Copyright © 2025, Oracle and/or its affiliates. All rights reserved. JavaScript 実行エンジン SQL 実行 エンジン 型変換 パーサー SQL クエリ実行 マネージドヒープ ユーザの JavaScript コード ユーザの JavaScript コード オプティマイザ 言語ランタイム InnoDB ストレージ エンジン 実行時 コンパイラ サンド ボックス化 分離領域 •

42.

MySQL を用いた開発の効率化: SQL 内での JavaScript 対応 • SELECT 文 • SQL ストアドファンクションが使える場所ならどこでも使用可能 • LANGUAGE 節が JavaScript を受け入れるように • 式、射影、WHERE 節、GROUP BY、JOIN、ORDER BY、 HAVING 等 • DML、DDL、VIEW 等 • DML (INSERT, UPDATE, DELETE) 内で利用可能 • CREATE TABLE AS SELECT を含む DDL も対応 • VIEW 内でも使える • 相互運用性 • 既存の SQL ストアドファンクションやプロシージャの中で、JavaScript ストアドファンクションやプログラムを実行できる • JavaScript と SQL のストアドファンクションを、互いに出力を引数 経由で入力とすることで、チェーン実行することが可能 42 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. CREATE FUNCTION gcd_js (a INT, b INT) RETURNS INT LANGUAGE JAVASCRIPT AS $$ let [x, y] = [Math.abs(a), Math.abs(b)]; while (y) [x, y] = [y, x % y]; return x; $$ SELECT col1, col2, gcd_js(col1,col2) FROM my_table WHERE gcd_js(col1, col2) > 1 ORDER BY gcd_js(col1, col2); CREATE TABLE gcd_table AS SELECT gcd_js(col1,col2) FROM my_table; CREATE TABLE gcd_table AS SELECT gcd_js(col1,col2) FROM my_table;

43.
[beta]
MySQL を用いた開発の効率化: JavaScript 内での SQL 対応
• 対応できる SQL の種別
• 一般的な SQL 文
• バインド値のプレースホルダーを含むプリペアードステートメント
• データアクセス API
• XDevAPI を用いて JavaScript 内で SQL を実行
• クエリ実行結果に対する、透過的な SQL  JavaScript
間の型変換
• セッションの状況
• JavaScript 内部でトランザクションが継続
• JavaScript 内から、セッション変数や一時テーブルなど、あら
ゆるセッションの状態にアクセス可能

CREATE PROCEDURE gen_random_age (IN row_count INT) LANGUAGE
JAVASCRIPT AS $$
let insertStatement = session.prepare( "INSERT INTO
my_table(age) VALUES ( ? )"); for (let j = 0; j < row_count;
j++) {
let random_age = Math.trunc(Math.random() * 100);
insertStatement.bind(random_age).execute();
}
$$

CREATE PROCEDURE average_age (OUT avg_age FLOAT) LANGUAGE
JAVASCRIPT AS $$
let age_sum = 0, count = 0;
let selectStatement = session.sql(
"SELECT age FROM my_table");
let result = selectStatement.execute(), row = null;
while(row = result.fetchOne()) {
age_sum += row[0]; count++;
}
avg_age = age_sum / count;
$$

43

Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

44.

HeatWave GenAI 生成AI & Vector Store 44 Copyright © 2024, Oracle and/or its affiliates

45.

HeatWave GenAIは新しいユースケースおよびアプリケーションを実現可能に + 自然言語での会話 • 自然言語を使用した 非構造化ドキュメントによる 会話 • HeatWaveチャットは フォローアップ質問の コンテキストを保持 45 コンテンツの生成と要約 • 企業や組織内のドキュメント からインサイト/レポートを生成 • PDF形式のマニュアルから ブログを生成 • コンテンツの要約 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. RAGおよび 類似性検索 • 組織内のデータ(RAG / (Retrieval Augmented Generation)を使用し、 より正確で状況に即した 回答を提供 • 非構造化データに対する 類似性検索の実行 統合された生成AIと 機械学習の相乗効果 • 機械学習と生成AIを 組み合わせ、時間を節約し、 より多くの価値を顧客に提供 • AutoMLでフィルタされた データで生成AIを使用する ことで、コストを削減し、 より正確な結果を迅速に 取得可能

46.

HeatWave GenAIにおける各コンポーネントの役割 SQLインターフェース 高速処理基盤 RAG基盤 機械学習エンジン LLMとの連携 VECTORデータ型 最大512ノードまでの スケール・アウト構成 非構造データの活用 機械学習と生成AIを 組み合わせたアプリの 開発を効率化 HeatWaveに 組み込まれた「イン・ データベースLLM」 ベクトル関数 JavaScript ストアド・プロシージャ 46 インメモリ・データストア Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 大量データ対応 OCIの生成AIサービス との連携も可能

47.

ベクトル(VECTOR)データ型と関数 MySQL 9.0 Innovation Release ベクトルの類似度を演算するHeatWaveのみで利用可能なDISTANCE関数 • 2つのベクトルを引数とする • 第3引数には距離の演算方法を指定 COSINE, DOT, EUCLIDEAN mysql> SELECT DISTANCE(STRING_TO_VECTOR("[1.01231, 2.0123123, 3.0123123, 4.01231231]"), STRING_TO_VECTOR("[1, 2, 3, 4]"), "COSINE"); +----------------------------------------------------------------------------------------------------------------------- + | DISTANCE(STRING_TO_VECTOR("[1.01231, 2.0123123, 3.0123123, 4.01231231]"), STRING_TO_VECTOR("[1, 2, 3, 4]"), "COSINE") | +----------------------------------------------------------------------------------------------------------------------- + | 0.0000016689300537109375 | +----------------------------------------------------------------------------------------------------------------------- + ベクトルと文字列の相互の変換関数 mysql> SELECT STRING_TO_VECTOR("[1.05, -17.8, 32]"); +---------------------------------------+ | STRING_TO_VECTOR("[1.05, -17.8, 32]") | +---------------------------------------+ | 0x6666863F66668EC100000042 | +---------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT VECTOR_TO_STRING(0x00000040000040400000A0400000E040); +------------------------------------------------------ + | VECTOR_TO_STRING(0x00000040000040400000A0400000E040) | +------------------------------------------------------ + | [2.00000e+00,3.00000e+00,5.00000e+00,7.00000e+00] | +------------------------------------------------------+ 1 row in set (0.00 sec) 47 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

48.
[beta]
JavaScriptストアドプログラムのサポート

MySQL 9.0 Innovation Release

SQLでのストアドプログラムと同様に作成可能
mysql> CREATE FUNCTION gcd(a INT, b INT)
-> RETURNS INT NO SQL LANGUAGE JAVASCRIPT AS
-> $mle$
$>
let x = Math.abs(a)
$>
let y = Math.abs(b)
$>
while(y) {
$>
var t = y
$>
y = x % y
$>
x = t
$>
}
$>
return x
$> $mle$
-> ;
Query OK, 0 rows affected (0.01 sec)

利用もSQLでのストアドプログラムと同様
mysql> SELECT gcd(75, 220), gcd(75, 225);
+--------------+--------------+
| gcd(75, 220) | gcd(75, 225) |
+--------------+--------------+
|
5 |
75 |
+--------------+--------------+
1 row in set (0.00 sec)

48

Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

• 言語仕様はECMAScript 2023 Specificationに
準拠し、標準のライブラリ・オブジェクトをサポート
Object, Function, Math, Date, String
• ストアドプログラムの引数や戻り値として
MySQLのデータ型をサポート ※VECTOR型を除く
• SQL文の実行結果をJavaScript内で利用可能
27.3.6 JavaScript SQL API
• 主な制限事項
• Globalオブジェクトはサポートされているが、
スコープは各ストアドプログラム内に限定される
• ファイルやネットワークへのアクセスは不可
• サードパーティーのライブラリのインポートは不可
• シングルスレッドでの処理
• 関数の再帰呼び出しは1,000回まで

49.

イン・データベースLLMとデータベース内埋込みの生成 OCI生成AIサービスとも統合 アプリケーション オブジェクト・ストア 埋込み生成 自然言語の質問 ベクトル・ストア HeatWave チャット HeatWave AutoML 拡張 プロンプト 自然言語応答 イン・データ ベースLLM HeatWave 49 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. トレーニング済 モデル

50.

ユースケース1: パーソナライズされた推奨事項 オブジェクト・ストレージ 「今日のおすすめの ベジタリアン向け料理はなに?」 メニュー 質問 ユーザー 解答 50 「おすすめの料理は次の通りです。 豆腐カレー、豆腐ビリヤニ、 ひよこ豆のカレー」 HeatWave ベクトル・ストア ユーザーが質問を入力 HeatWave AutoMLのレコメンデーション・システムが ユーザーの注文履歴を元にレストランを提案 LLMがパーソナライズされたおすすめ料理を 自然言語で回答 ベクトル・ストアに格納されている提案されたレストランの メニューからおすすめの料理を選択 Copyright © 2025, Oracle and/or its affiliates メニュー メニュー

51.

MySQL Shell for VS Code - HeatWave Chat HeatWave Chat 自然言語を使って文書と対話。 文脈が保持され、フォローアップの質問に よる会話を可能にする Lakehouse Navigator LLM がデータベース、HeatWave Lakehouse, HeatWave Vector Store 全体または 特定のデータ・セットから情報を取得できるように ガイドし、速度と精度を向上させる グローバル検索と詳細検索 全てのベクトル・ストアを検索することも、 特定のスキーマに検索範囲を限定することも可能 51 Copyright © 2025, Oracle and/or its affiliates

52.

HeatWave Chat RAGを活用して自然言語でドキュメントを検索 • チャットの履歴が保存され、 追加の質問でのコンテキスト (文脈)として利用される • RAGとして利用する スキーマを選択可能 • 該当するドキュメントの 情報を表示 • 利用するLLMおよび言語を 選択可能 52 Copyright © 2024, Oracle and/or its affiliates

53.

HeatWave MySQL Service 53 Copyright © 2025, Oracle and/or its affiliates. All rights reserved.

54.

HeatWave MySQL Service • MySQL Enterprise Edition • MySQL H/A ベクトル OLTP • JavaScriptを使用したストアド対応 • Powered by GraalVM • Innovation Release / LTS ストア Lake house AutoPilot 機械学習 54 • Read Replica • カスタムシェイプ対応 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 分析

55.

HeatWave MySQL Service ベクトル ストア Lake house OLTP AutoPilot 機械学習 55 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 分析 • • 1400x vs Aurora 6.8x vs RedShift • • ETL不要 リアルタイム連携 • JSON対応

56.

HeatWave MySQL Service ベクトル ストア Lake house OLTP AutoPilot 機械学習 56 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 分析 • • • • 分類 回帰 多変量時系列予測 教師無し異常検知 • • レコメンド SQLのみで実現 • データ前処理 • アルゴリズムの選択 • アダプティブなサンプリング • 特徴量の選択 • ハイパーパラーメーターのチューニング • 結果説明

57.

HeatWave MySQL Service ベクトル ストア Lake OLTP AutoPilot house 機械学習 57 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 分析 • • 18x vs Showflake on AWS 15x vs Amazon Redshift • • 35x vs Google BigQuery CSV, Parquet, Avro • • 自動取り込み 512TB

58.

HeatWave MySQL Service • • • ベクトル OLTP ストア Lake house AutoPilot 機械学習 58 Copyright © 2025, Oracle and/or its affiliates. All rights reserved. 分析 自然言語でクエリ実行 セキュアな環境で利用可能 様々な文章に対応 • pdf • pptx • txt

59.

2025年1月のHeatWaveウェビナー https://blogs.oracle.com/mysql-jp/post/heatwave-events-in-japan 1/8 (水) 1/16 (木) 1/22 (水) 1/29 (水) AIと機械学習の融合: HeatWave GenAIと HeatWave AutoML がもたらすデータ活用の 進化 HeatWave MySQLへ のオンプレミスやクラウドの MySQL系データベースか らの移行のメリットと ポイント Oracle Code Night MySQL開発元が提供 するクラウド・データベース HeatWave MySQL HeatWave GenAI できるあんなことや こんなことを試してみた