$30 off During Our Annual Pro Sale. View Details »

MySQL最新情報 MySQL9.5

Avatar for mikoma mikoma
November 22, 2025

MySQL最新情報 MySQL9.5

2025/11/22 OSC福岡での登壇資料です。
イノベーションリリース、ロングタームリリースの違いとMySQL9.5までの新機能・変更点と10月のOracle AI Worldで発表されたMySQL AIを紹介しています。

Avatar for mikoma

mikoma

November 22, 2025
Tweet

More Decks by mikoma

Other Decks in Technology

Transcript

  1. MySQL 最新動向 生駒 眞知子/ Machiko Ikoma MySQL Principal Solution Engineer

    日本オラクル株式会社 Nov, 2025 OSC2025 Fukuoka
  2. 生駒 眞知子 (Machiko IKOMA) MySQL Principal Solution Engineer Experience Expertise

    Location BIツール開発、オープンソース データベースに携わった後 日本オラクルに入社 MySQLのお客様・パートナーの 技術支援を担当 Tokyo 2 Copyright©2025、 Oracle and/or the affiliates 自己紹介
  3. MySQLの道のり Copyright©2025、 Oracle and/or the affiliates 5 1995 2000 2005

    2010 2015 2020 2025 MySQL AB (MySQL社)創業 最初のバージョンを公開 独自のオープンソース・ ライセンスからGPLに 商用版サブスクリプション ”MySQL Network” 発表 オラクルがMySQLの トランザクション・エンジン InnoDBの開発企業 Innobase OYを買収 サン・マイクロシステムズが MySQL ABを$1B (約11億円)で買収 オラクルがサン・マイクロシステムズを $7.4B (約81億円)で買収することを発表 欧州委員会の承認を経て 2010年1月27日に買収完了 MySQL部門も MySQL Global Business Unit として統合 MySQL社の 日本法人 MySQL 株式会社設立 MySQLのクラウド・ サービスの第1世代を リリース 高速クエリ処理 エンジンを搭載した MySQL HeatWave リリース MySQLの第2世代クラウド・サービス MySQL Database Serviceをリリース v3.23 v4.0 v5.1 v5.0 v5.5 v5.6 v5.7 v8.0 v8.2 v8.1 イノベーション・リリースと LTS(Long-term Support) リリースで構成される 新しいリリースモデルを発表 v9.0 v8.4 LTS v8.3 v9.3 v9.1 日本MySQLユーザ会 (MyNA)設立 v9.2 v9.4
  4. MySQLサーバーは全て共通のソースコードのためハイブリッド構成も可能 MySQLを自社で運用管理 MySQL HeatWave • MySQLチームが100%開発・ 提供するクラウド・サービス • Amazon RDS

    (MySQL)の 1/3以下のコスト • データ損失なし、自動フェイルオーバー の高可用性機能をマネージドサービス で提供 MySQL Operator for k8s • MySQL サーバーをKubernetes上に 構築し運用管理 柔軟なMySQLの利用方法 6 オンプレミスでのMySQL • バージョン選択や構成を 最も柔軟に選択可能 IaaS上でのMySQL • OCIのマーケットプレイスの イメージから簡単に環境構築 商用版MySQL • コミュニティ版に加え、サポートや セキュリティに優れた商用版も MySQLのマネージドサービス クラウドネイティブなMySQL いずれの利用方法でもMySQL開発チームと連携した 専門部隊によるサポートサービスをご利用いただけます※ Copyright © 2025, Oracle and/or its affiliates MySQL :: MySQL Operator for Kubernetes テクニカルアップデート ※コミュニティ版、フォークを除く Copyright©2025、 Oracle and/or the affiliates
  5. リリース形態の選択と定期的なパッチ適用 • バグ修正と新機能追加を行うリリース MySQL 8.1, 8.2, 8.3, 9.0, 9.1, 9.2,

    9.3 … • リリース方針 バグ修正 セキュリティ・パッチ 新機能追加 機能やパラメータの非推奨化および削除 • リリースサイクル 3ヶ月毎 次バージョンのリリースでEOL • 本番運用想定のテスト済み • バグ修正のみを行うリリース MySQL 8.4 • リリース方針 バグ修正 セキュリティ・パッチ バージョン間の互換性重視 • リリースサイクル リリース後8年間サポート 複数のLTSリリースをサポート予定 • 本番運用想定のテスト済み 新しい MySQL のリリース形態 Copyright©2025、 Oracle and/or the affiliates 7 IR(イノベーション・リリース) LTS (Long-Term Support) リリース
  6. 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025

    2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 MySQL リリースとサポートのタイムライン 8 Copyright©2025、 Oracle and/or the affiliates MySQL 8.1 MySQL 8.4 LTS Premier Support Extended Support Sustaining Support MySQL 5.7 MySQL 8.0 Bug Fix series MySQL 9.7 Candidate for next LTS – Apr. 2026 IR … … IR MySQL 9.1
  7. MySQL8.0の位置づけ ◼ 現在はバグ修正を提供(BugFix) ◼ 2026年4月にSustaining Supportのステータスに(新規のバグ修正、パッチリリースなし) ◼ 主要な進化 ✓ InnoDB

    ClusterSet/ReplicaSet 標準サポート ✓ NoSQL、JSON、CTE、ウィンドウ関数、GIS、ユニコード(utf8mb4) ✓ MySQL Shell、Kubernetes Operator ✓ SHA256、AES256、多要素認証 9 Copyright©2025、 Oracle and/or the affiliates 8.0.11〜
  8. 継続してアップデートを提供 MySQL8.0の歴史 Copyright©2025、 Oracle and/or the affiliates 10 MySQL 8.0

    2016 2018 2026 8.0.0 Development ステータス 8.0.11 一般公開 8.0.43 リリース サポート終了 2025 …(中略) … ほぼ四半期ごとのリリース実績 最長8年間のサポート
  9. MySQL 8.4LTSと9.0 12 Copyright©2025、 Oracle and/or the affiliates MySQL Serverの変更点

    高可用性 • Group Replication ✓ 一貫性維持方法のオプション追加 • レプリケーション ✓ 更新/参照処理の振り分け InnoDBデータストレージ • パラメータデフォルト値の改善 セキュリティ強化(※次ページ参照) • 認証プラグイン化 • 旧認証オプション(mysql_native_password)の廃止 生成AI関連 • ベクトル(VECTOR)データ型のサポート 開発効率化 • JavaScriptストアドプログラムのサポート 8.4 LTS 9.0 IR
  10. MySQL 8.4LTSと9.x IR 概要 13 Copyright©2025、 Oracle and/or the affiliates

    バグ修正と機能追加を別リリースに 高可用性 • Group Replication ✓ 一貫性維持方法のオプション追加 • レプリケーション ✓ 更新/参照処理の振り分け InnoDBデータストレージ • パラメータデフォルト値の改善 セキュリティ強化(※次ページ参照) • 認証プラグイン化 • 旧認証オプション(mysql_native_password)の廃止 生成AI関連 • ベクトル(VECTOR)データ型のサポート 開発効率化 • JavaScriptストアドプログラムのサポート 8.4 LTS 9.0 IR
  11. mysql_native_password 削除 SHA-1アルゴリズムからの脱却 • caching_sha2_password がデフォルトの認証プラグインに変更(SHA-256) 14 Copyright©2025、 Oracle and/or

    the affiliates https://blogs.oracle.com/mysql/post/mysql-90-its-time-to-abandon-the-weak-authentication-method MySQL8.0 MySQL8.4 LTS MySQL9.0 IR • mysql_native_passwordのプラグイン化 • mysql_native_password は非推奨 • デフォルトではプラグインとしてロードされないように変更 • mysql_native_password を削除
  12. MySQL8.4LTS 主な変更点 ◼ 認証方式の見直し ✓ mysql_native_password がデフォルトで無効化 ◼ InnoDBパラメータの変更 ✓

    デフォルト値が変更されているものがあり、旧構成から移行する際には注意 例) innodb_buffer_pool_instances, innodb_log_buffer_size,など ◼ レプリケーション/GTID機能の拡張 ✓ タグ付き GTID、SQL_AFTER_GTIDS + マルチスレッド適用対応、クローン柔軟化など、運用性を高める機能が 多数追加 ◼ 運用管理の強化 ✓ ログ出力拡充、Performance Schema 拡張、TLS 証明書検証強制設定、LDAP 認証/タイムアウト制御な ど、運用時の可視化・制御性を向上 15 Copyright©2025、 Oracle and/or the affiliates LTSリリース第一弾 MySQL 8.4
  13. MySQL 8.4でのその他の機能追加や変更点 • 時間のかかるロールバック処理の進捗を確認可能に • エラーログにNoteレベルで出力 • まずER_IB_LONG_ROLLBACK_FULLとトランザク ション情報が出力されER_IB_LONG_ROLLBACK が続く

    • クローンプラグインの対象バージョンの制限の緩和 • 8.4.0から8.4.14や8.0.51から8.0.37など 異なるポイントリリース間でのクローンが可能 • mysqldumpの--output-as-versionオプション • レプリケーション関連の下位互換のため8.2.0未満 か以上かの形式を指定して実行可能に • 権限の追加 • GRANT … FLUSH_PRIVILEGES - RELOAD権限の利用機会の削減 • OPTIMIZE_LOCAL_TABLE - OPTIMIZE LOCAL TABLE文とOPTIMIZE NO_WRITE_TO_BINLOG TABLE文の実行に使用 • レプリケーション関連のデフォルト値の変更 • source_retry_count = 10 (WL#15702 in 8.1) • binlog_transaction_dependency_track ing = WRITESET (WL#15861 in 8.3) • group_replication_exit_state_action = OFFLINE_MODE (WL#15713 in 8.4) • group_replication_consistency = BEFORE_ON_PRIMARY_FAILOVER (WL#15712 in 8.4) 16 Copyright©2025、 Oracle and/or the affiliates MySQL 8.4
  14. • EXPLAINの出力最適化 • OpenID Connectサポート • OpenTelemetry ログのサポート • GIS機能の拡張

    • GroupReplication機能改善 • WebAuthn認証デバイスオプションの追加 • パラメータデフォルト値の改善 • オプティマイザ改善 • JSONデュアリティビューのサポート • JavaScriptプログラム: WebAssemblyライブラリサポート MySQL Server 9.1以降の主な変更点 Copyright©2025、 Oracle and/or the affiliates 17 9.1 9.2 9.3 9.4 セキュリティ 高可用性 性能 開発者の生産性
  15. 次のLTSリリースに向けた第一歩 • JavaScriptストアドプログラムのサポート • Multilingual Engine (MLE)コンポーネント • ベクトル(VECTOR)データ型のサポート •

    4バイト(単精度浮動)小数点数のリストの バイナリデータ • 次元の上限は16,383 デフォルト2048 • ベクトルデータ型専用の関数も追加 - DISTANCE(): 2つのベクトルの距離の演算 ※ HeatWave MySQLで利用可能 - STRING_TO_VECTOR(): ベクトルを表現する 文字列をVECTOR型に変換 - VECTOR_DIM(): ベクトルの項目数=次元を表示 - VECTOR_TO_STRING(): VECTOR型の バイナリデータをベクトルを表現する文字列に変換 • 外部キーの定義に暗黙的な表現を利用可能に • EXPLAINのJSON形式の出力を拡張 • JOIN対象列の情報を追加 • explain_json_format_version =2 • EXPLAIN ANALYZEのJSON形式の出力を 変数に格納可能に • イベントオブジェクト関連のDDLで プリペアドステートメントを利用可能に • パフォーマンススキーマのシステム変数関連のテーブル追加 • mysql_native_passwordプラグイン廃止 • MySQL 8.4でデフォルトOFF MySQL 9.0イノベーション・リリース Copyright©2025、 Oracle and/or the affiliates 19 https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html EE
  16. JavaScriptストアドプログラムのサポート SQLでのストアドプログラムと同様に作成可能 利用もSQLでのストアドプログラムと同様 • 言語仕様はECMAScript 2023 Specificationに 準拠し、標準のライブラリ・オブジェクトをサポート Object, Function,

    Math, Date, String • ストアドプログラムの引数や戻り値として MySQLのデータ型をサポート ※VECTOR型を除く • SQL文の実行結果をJavaScript内で利用可能 27.3.6 JavaScript SQL API • 主な制限事項 • Globalオブジェクトはサポートされているが、 スコープは各ストアドプログラム内に限定される • ファイルやネットワークへのアクセスは不可 • サードパーティーのライブラリのインポートは不可 • シングルスレッドでの処理 • 関数の再帰呼び出しは1,000回まで MySQL 9.0イノベーション・リリース Copyright©2025、 Oracle and/or the affiliates 20 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) mysql> SELECT gcd(75, 220), gcd(75, 225); +--------------+--------------+ | gcd(75, 220) | gcd(75, 225) | +--------------+--------------+ | 5 | 75 | +--------------+--------------+ 1 row in set (0.00 sec) EE
  17. ベクトル(VECTOR)データ型と関数 ベクトルの類似度を演算するHeatWaveのみで利用可能なDISTANCE関数 • 2つのベクトルを引数とする • 第3引数には距離の演算方法を指定 COSINE, DOT, EUCLIDEAN ベクトルと文字列の相互の変換関数

    MySQL 9.0イノベーション・リリース Copyright©2025、 Oracle and/or the affiliates 21 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)
  18. a SQL標準に準拠した外部キーの定義の暗黙的な表現のサポート 利用もSQLでのストアドプログラムと同様 MySQL 9.0イノベーション・リリース Copyright©2025、 Oracle and/or the affiliates

    22 # MySQL 8.4まででも利用可能な構文 CREATE TABLE shirt ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, style ENUM('tee', 'polo', 'dress') NOT NULL, owner SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (owner) REFERENCES person (id) ); # MySQL 9.0からサポートされる構文 # 参照先の列名の指定無し CREATE TABLE shirt ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, style ENUM('tee', 'polo', 'dress') NOT NULL, owner SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (owner) REFERENCES person ); # MySQL 9.0からサポートされる構文 # 明示的な外部キーの宣言無しでREFERENCESキーワードのみ CREATE TABLE shirt ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, style ENUM('tee', 'polo', 'dress') NOT NULL, owner SMALLINT UNSIGNED NOT NULL REFERENCES person (id) ); # MySQL 9.0からサポートされる構文 # 明示的な外部キーの宣言無しでREFERENCESキーワードのみ # 参照先の列名の指定無し CREATE TABLE shirt ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, style ENUM('tee', 'polo', 'dress') NOT NULL, owner SMALLINT UNSIGNED NOT NULL REFERENCES person ); # 親テーブルの定義 CREATE TABLE person ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name CHAR(60) NOT NULL );
  19. Community Edition • CREATE DATABASE と DROP DATABASE のクラッシュセーフサポート •

    アトミックなDDLをサポートするInnoDBや他のストレージエンジンに対応 • ファイルシステムやその他の問題によって発生する可能性のある問題を的確に処理 • CREATE VIEW文のIF NOT EXISTS句のサポート • 指定されたビューが存在しない場合、ビューを作成 • ビューが既に存在する場合、ビュー定義は変更されず警告を出力 • EXPLAINの改善 • 準結合(semijoin)が使用されている場合、EXPLAIN FORMAT=TREEの出力結果にその情報 を包含 MySQL Server 9.1で追加された主な機能 Copyright©2025、 Oracle and/or the affiliates 23 CE https://dev.mysql.com/doc/refman/9.1/en/mysql-nutshell.html
  20. Enterprise Edition JavaScript ストアドプログラムのVECTOR型サポート • ベクトル値を入力引数、出力引数、プリペアドステートメントのbind()パラメータ、戻り値として使用で きるように強化 MySQL Server 9.1で追加された主な機能

    Copyright©2025、 Oracle and/or the affiliates 24 EE 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) MySQL9.0 IR 利用もSQLでのストアドプログラムと同様 mysql> SELECT gcd(75, 220), gcd(75, 225); +--------------+--------------+ | gcd(75, 220) | gcd(75, 225) | +--------------+--------------+ | 5 | 75 | +--------------+--------------+ 1 row in set (0.00 sec)
  21. Enterprise Edition アプライヤ統計の拡張 • レプリケーション・パイプライン全体から統計情報を収集することでMySQLの可観測性を強化 - replication_applier_metrics 指定されたレプリケーション・チャネルに対するアプライヤ・メトリクスの提供 - replication_applier_progress_by_worker

    指定されたワーカーに対するメトリクスの提供 • DDLとDMLを区別する • レプリケーション・スループット(バイト/秒)の監視する • 完了したトランザクション、キューに入れられたトランザクション、進行中のトランザクション • レプリケーションの遅れを診断し、追いつくまでの時間を見積もる MySQL Server 9.1で追加された主な機能 Copyright©2025、 Oracle and/or the affiliates 25 EE
  22. アプライヤ統計の拡張 MySQL Server 9.1で追加された主な機能 Copyright©2025、 Oracle and/or the affiliates 26

    EE replication_applier_metrics • レプリカにおけるトランザクション実行の監視 →レプリケーションのパフォーマンスに影響を 与える問題の特定
  23. アプライヤ統計の拡張 MySQL Server 9.1で追加された主な機能 Copyright©2025、 Oracle and/or the affiliates 27

    EE replication_applier_progress_by_worker • 時間のかかるトランザクションの追跡 →別テーブルからGTIDを抽出・紐づけることで特定 トランザクションの進行状況、遅延の原因を特定 (replication_applier_status_by_worker)
  24. MySQLの監視ツール 28 Copyright©2025、 Oracle and/or the affiliates Oracle Enterprise Manager

    for MySQL MySQL Enterprise Monitorとおなじく Enterprise EditionおよびCarrier Grade Editionのご契約をお持ちのお客様はそのまま 利用可能 OCI Database Management Service HeatWaveと合わせて、オンプレミスやIaaS上の MySQLサーバーを監視可能 EE
  25. OCI Database Management Service • オンデマンドのサブスクリプション型サービス • オンプレミスとクラウド(MySQL Heatwave) データベースの統合フリート監視・管理

    • フリートサマリーページ • 可視化による負荷とパフォーマンスの分析 • 変化するワークロードの需要予測 • 機械学習によるSQL解析 29 Copyright © 2025, Oracle and/or its affiliates 監視、診断、予測
  26. Enterprise Edition OpenTelemetryサポート機能 - OpenTelemetry ログのサポート • MySQLサーバーからテレメトリーログをエクスポート • OpenTelemetry

    標準をサポートするコレクターとバックエンドに送信 • ログはOTLP HTTPプロトコルによるプッシュモデルを使用して、単一のエンドポイントにエクスポート可能 • ネットワーク暗号化はTLS経由で提供 • ログ圧縮をサポート • 本番環境での運用時トラブルシューティング • MySQLサーバーからログイベントを収集 • ログデータを OpenTelemetry OTLPフォーマットに整形 • OTLP ログを外部の OpenTelemetry Collector プロセスに送信可能 MySQL Server 9.1で追加された主な機能 Copyright©2025、 Oracle and/or the affiliates 30 EE
  27. Enterprise Edition OpenID Connectサポート • MySQL 9.1 のConnector、MySQL Router、クライアントは、OpenID Connect

    をサポートする 外部の認証サーバ(IAM)によって実行された認証に基づいて、ユーザの ID を提供することが可能 <OpenID プロバイダの例> Oracle • Oracle Identity Cloud • Oracle Access Management Microsoft • Microsoft Entra ID (formerly Azure Active Directory) • ADFS on Windows Server など プロバイダリスト : https://openid.net/certification/ MySQL Server 9.1で追加された主な機能 Copyright©2025、 Oracle and/or the affiliates 31 EE
  28. • 空間データの権限まわりの改善 • この権限により、以下のコマンドを用いて空間参照系 (SRS) を作成・変更・削除が可能 - CREATE SPATIAL REFERENCE

    SYSTEM - CREATE OR REPLACE SPATIAL REFERENCE SYSTEM - DROP SPATIAL REFERENCE SYSTEM • これまではSUPER 権限が必要でしたが、9.2以降は必要な権限の範囲が限定される • 暗号化関連処理のパフォーマンス向上(MD5(),SHA2()関数) • Open SSL3.xのAPIを採用 • コネクション制御プラグインをコンポーネント化 ー component_connection_control • 従来のconnection_controlプラグインは非推奨となり、将来的に削除予定 MySQL Server 9.2で追加された主な機能と変更点 Copyright©2025、 Oracle and/or the affiliates 32 Community Edition CE https://dev.mysql.com/doc/refman/9.2/en/mysql-nutshell.html
  29. • Group Replication改善 • レプリカの遅延やリソース逼迫に起因する問題を自動で特定・緩和する仕組みの追加 • グループレプリケーション構成内の下記問題への対処を改善 - リソース枯渇の防止: リソース不足が発生しているメンバーを自動的にグループから除外し、グループ全体への影響を回避

    - 遅延サーバの検知と排除: セカンダリサーバの適用パフォーマンス(遅延や過度のスワップなど)を継続的に監視し、検知・除外 - リソース使用量の閾値設定: CPUやメモリなどの重要なリソース使用量の閾値設定が可能となり、超えた場合は適切な対処を実行 - フォールトトレランス: 問題のあるメンバーがいても動作を継続し、サービス停止時間を最小限に抑制 - 再起動メンバーの隔離期間: 再起動したメンバーには一定の隔離期間を設け、メンバー除外の発生前に同期を完了させる - グレースフルな障害処理の完了: 障害発生時のサービスへの影響を抑えつつ、問題のあるメンバーを自動で検出・除外 既存の「自動リジョイン機構」と組み合わせることで自己修復を実現 • 自己プロビジョニングとリジョイン: 除外されたメンバーが自動で自己プロビジョニングし、再びグループに参加 ダウンタイムを最小化し、グループ全体の可用性を維持 • Option Tracker改善 • バイナリログ、レプリケーション、グループレプリケーションが対象に追加 MySQL Server 9.2で追加された主な機能と変更点 Copyright©2025、 Oracle and/or the affiliates 33 Enterprise Edition EE
  30. • JavaScprit ストアドプログラム • サードパーティ製ライブラリのサポート - サードパーティ製のJavaScriptライブラリをデータベース内に直接格納することが可能 - ストアドルーチンで外部ライブラリを利用する際の手間を軽減 -

    CREATE LIBRARYステートメントでライブラリを定義可能 • ENUM および SET データ型のサポート • MySQL Connectors C++, ODBC ーWebAuthn認証デバイスの選択オプション追加 • WebAuthn 仕様によって、Windows Helloを利用した認証が可能 • Windows環境で利用するWebAuthn認証デバイス(指紋認証やYubiKey)を明示的に選択可能 MySQL Server 9.2で追加された主な機能と変更点 Copyright©2025、 Oracle and/or the affiliates 34 Enterprise Edition EE
  31. Community Edition • パラメタ削除 • innodb_log_file_size • innodb_log_files_in_group • innodb_undo_tablespaces

    • コンテナ環境での起動検知 • デフォルトの InnoDB 各種設定がサイズ変更になり、コンテナでの過剰確保が回避される • オプティマイザ最適化強化:>ANY, <=ALL など 全比較演算子を派生表 JOIN へ変換 • mysqldumpのバックアップポリシーに、 --users でアカウント設定がダンプできる仕様 一部のアカウントに限定するなどの設定も可能 • Enterprise Linux 10 対応 • 9.3シリーズ間のダウングレード不可(ex. 9.3.1->9.3.0) MySQL Server 9.3での追加・変更 Copyright©2025、 Oracle and/or the affiliates 35 CE https://dev.mysql.com/doc/refman/9.3/en/mysql-nutshell.html
  32. Enterprise Edition • JavaScript ストアドプログラムの型変換改善 • 従来:DECIMAL (10進数) がNumber型に変換 •

    今回:デフォルトでは文字列型に変換されるように変更 - 型が変わることによるまるめ誤差などが発生するのを避けるため、情報が落ちないように文字列型で 受け渡し、開発者が明示的に必要に応じて変更可能 • Group Replication • 新コンポーネント Group Replication Primary Election導入 - 最新トランザクションの反映数が多いセカンダリノードを優先的にプライマリ昇格 - コンポーネントを全ノードにインストールして変数を有効化 MySQL Server 9.3での追加・変更 Copyright©2025、 Oracle and/or the affiliates 36 EE
  33. MySQL Server 9.4での追加・変更 • JavaScriptプログラムでのWebAssemblyライブラリサポート • CREATE LIBRARY … LANGUAGE

    WASM を使って WASM で書かれたライブラリをロード可能 • JSONデュアリティビューのサポート • CREATE JSON DUALITY VIEW/ALTER JSON DUALITY VIEWのサポート • データを直接JSONとして取得可能 • JSONでのレスポンス統一 • フロント側からはJSONオブジェクトのみを参照 • JSONビュー側から基のテーブルも更新可能 (EEのみ) • MySQL Enterprise Firewallのコンポーネント化 • プラグインからコンポーネントに • init() メソッドによるコンポーネントのサービス登録を制御 37 Copyright©2025、 Oracle and/or the affiliates EE EE https://dev.mysql.com/doc/refman/9.4/en/mysql-nutshell.html
  34. JSONデュアリティビューのサポート ◼ CREATE JSON DUALITY VIEW/ALTER JSON DUALITY VIEWのサポート ◼

    データを直接JSONとして取得可能 ◼ JSONでのレスポンス統一 ◼ フロント側からはJSONオブジェクトのみを参照 ◼ JSONビュー側から元のテーブルも更新可能 (EEのみ) 38 Copyright©2025、 Oracle and/or the affiliates MySQL 9.4 IR〜 https://dev.mysql.com/doc/refman/9.4/en/json-duality-views.html CREATE JSON DUALITY VIEW view_name AS SELECT JSON_DUALITY_OBJECT( '_id' : column1, 'key2' : column2, 'key3' : column3 ) FROM table_name; EE
  35. MySQL Server 9.5での追加・変更 • パフォーマンス/拡張性 • innodb_log_writer_threads のデフォルト挙動変更 - バイナリログを無効にしていてコア数が多ければ自動的にマルチスレッドログライターが有効になる等、

    性能・運用面での挙動を変更 • binlog_transaction_dependency_history_size のデフォルト値を拡張:25,000 → 1,000,000 また、最大値も 1,000,000 → 10,000,000に拡大 • レプリケーション接続時のデフォルト挙動変更 • SSL、GTIDがデフォルト化 • MySQL Diagnostic Monitor (mysqldm)のサポート • サポート問い合わせ時の診断情報取得ツール • SCRAM-SHA-1 認証方式(SASL LDAP 用)が非推奨化(将来的に削除予定) • SCRAM-SHA-256の利用を推奨 39 Copyright©2025、 Oracle and/or the affiliates https://dev.mysql.com/doc/refman/9.5/en/mysql-nutshell.html
  36. 開発生産性 MySQL REST Service JSON Duality View WebAssembly (WASM) Python

    SDK Ops Insights for MySQL HeatWave データ分析 マテリアライズド・ビュー 一時表 オブジェクト・ストレージのデータ関連 • Delta Lake サポート • 結果をエクスポート • 自動リフレッシュ Auto ML & AI MySQL AI NL2SQL: 自然言語からSQL文生成と実行 MySQL HeatWave用MCPサーバー ベクトル・インデックス ハイブリッド検索 トランザクション処理 新しいマイグレーション・ツール 自動インデックス OCI Full Stack Disaster Recoveryの対応 BYOK: お客様の暗号鍵の利用 Oracle AI World 2025で発表されたMySQL HeatWaveの新機能 Copyright©2025、 Oracle and/or the affiliates 41
  37. データ管理における課題 AIを最大限活用するためのデータ管理のインフラ整備が求められる 2 Copyright©2025、 Oracle and/or the affiliates 自然言語インターフェース 個人向けの「おすすめ」

    お客様課題の迅速な解決 構造データ 非構造データ ソーシャル メディア 電話音声 医療 記録 注文 履歴 各種 フォーム 請求
  38. 複数のツールを組み合わせる必要性 2 Copyright©2025、 Oracle and/or the affiliates 運用・管理の複雑化 • 複雑なETLプロセス

    • セキュリティの脆弱性 • 保守が困難 • 専門的なスキルが必要 • 開発サイクルが長い • 追加コストが発生 4つのソフトウェアパッケージ ETL ETL ETL ETL ETL MySQL Anaconda File System Llama models Weaviate, Qdrant.. 機械学習 データベース 生成AI ベクトルストア ETL
  39. MySQL AI Enterprise Editionの追加オプションとして提供 45 Copyright©2025、 Oracle and/or the affiliates

    イン・データベース LLM ファイルシステム上 のファイル 生成AI MySQL Studio 類似検索 AutoML
  40. MySQL AI インテリジェンスを組み込み 46 Copyright©2025、 Oracle and/or the affiliates イン・データベース

    LLM ファイルシステム 上のファイル 生成AI MySQL Studio 類似検索 AutoML 生成AI : イン・データベースLLMを利用した推論、ベクトル・ストアを使ったRAG AutoML: 機械学習の訓練、推論、説明をシンプルに ベクトルの生成: ファイルサーバー上のドキュメントからベクトル埋め込みを生成 ベクトルの処理: 多言語のドキュメントに対する類似検索 NL2SQL: データに対する自然言語のインターフェース MySQL Studio: 自然言語でのチャット機能、SQLワークシート、 機械学習の開発環境を備えたGUIクライアントt LLMはCPU上で稼働するためGPU不要 オンプレミスでの開発や運用が可能 より高い精度性能やOCI AIサービスの利用はMySQL HeatWaveで
  41. コンテンツの生成、要約、翻訳 • エンタープライズ・ドキュメン トからインサイト/レポートを 生成 • インストラクションマニュアル からブログを生成 • 文書の翻訳と要約

    検索拡張生成(RAG) • GenAIを企業のデータとと もに使用して、より正確で 状況に応じた回答を取得 • 非構造化データに対する 類似性検索の実行 自然言語での会話(多言語) • 自然言語を使用した非構 造化ドキュメントによる会話 • フォローアップ質問のコンテキ ストの保持 58 Copyright©2025、 Oracle and/or the affiliates GenAIユースケースとアプリケーション GenAIとAutoMLの連携 • AutoML出力とGenAIを組 み合せて追加値を出力 • AutoMLでフィルタされたデ ータに対してGenAIを使用 することで、コストを削減し、 正確な結果を迅速に得るこ とが可能
  42. 生成AIアプリケーションを構築する2つのプロセス Copyright©2025、 Oracle and/or the affiliates 59 ナレッジベースを活用し、ベクトル検索とLLMを使って質問に回答 ユーザーのドキュメントから(ベクトルストア内に)ナレッジベースを作成 ユーザー・ドキュメ

    ントの検出 ドキュメントからデ ータを解析 メタデータの抽出 データをセグメン トに分割 埋込みモデルの 選択 ベクトル埋込みの 作成 ベクトルストアの 設計 メタデータ+セグ メント+埋込みを ベクトル・ストアに 挿入 クエリ実行時に MLモデルの一貫 性を確保 質問する 埋込みモデルの 選択 クエリ埋込みの作 成 検索するベクトル ・ストアの選択 検索アルゴリズム の選択 検索結果の選 択 検索結果および ガード・レールを 含むプロンプトの 作成 LLMの選択 結果の取得
  43. 生成AIアプリケーションを構築する2つのプロセス Copyright©2025、 Oracle and/or the affiliates 60 ナレッジベースを活用し、ベクトル検索とLLMを使って質問に回答 ユーザーのドキュメントから(ベクトルストア内に)ナレッジベースを作成 ユーザー・ドキュメ

    ントの検出 ドキュメントからデ ータを解析 メタデータの抽出 データをセグメン トに分割 埋込みモデルの 選択 ベクトル埋込みの 作成 ベクトルストアの 設計 メタデータ+セグ メント+埋込みを ベクトル・ストアに 挿入 クエリ実行時に MLモデルの一貫 性を確保 質問する 埋込みモデルの 選択 クエリ埋込みの作 成 検索するベクトル ・ストアの選択 検索アルゴリズム の選択 検索結果の選 択 検索結果および ガード・レールを 含むプロンプトの 作成 LLMの選択 結果の取得 SQL> call sys.vector_store_load(‘uri’, [options]) SQL> sys.ML_RAG("What is MySQL?", @NL_response, @optional_search_params)
  44. ベクトル・ストア作成のすべてのステップがMySQL内で完結 Copyright©2025、 Oracle and/or the affiliates 61 データベース 顧客ファイル・システム MySQLノード

    OIT パーサー OITパー サー OITパー サー エンコーダ コア全体に分散 セグメント セグメント セグメント エンコーダ エンコーダ ドキュメントが異なる言語で作成されていても使用できます。 document_name segment embedding a.doc Hello World [1.0, 2.0, ..] a.doc Program [0.5, 3.5, ..] b.pdf Quick brown .. [1.0, 2.0, ..] document_name segment embedding hola.pdf Hola Mundo [1.1, 2.4, ..] sol.html marrón rápido ... [1.1, 2.6, ..] días.doc Juego en marcha [0.8, 3.1, ..] ベクトルストアテーブル
  45. MySQLのベクトルデータ型 (VECTOR) Copyright©2025、 Oracle and/or the affiliates 63 類似検索のための関数サポート •

    L1/MANHATAN • L2/EUCLIDIAN • L1^2/MANHATAN_SQUARED • L2^2/EUCLIDIAN_SQUARED • COSINE • DOT • HAMMING mysql> CREATE TABLE wikipedia ( title VARCHAR(1024), page_data TEXT, page_url TEXT, page_embedding VECTOR(1024)); mysql> SELECT page_url, DISTANCE(page_embedding, @query_embedding, “COSINE") as distance FROM wikipedia ORDER by distance DESC LIMIT 10; ベクトル データ型の 定義 MySQL クエリ構文
  46. 一般的な生成AI APIをサポート Copyright©2025、 Oracle and/or the affiliates 64 • ML_GENERATE

    • ML_RAG • VECTOR_STORE_LOAD • ML_EMBED_ROW • ML_RAG_TABLE • ML_GENERATE_TABLE • ML_EMBED_TABLE mysql> select sys.ML_GENERATE('QueryInNaturalLanguage', [options]); options: { JSON_OBJECT('key','value'[,'key','value'] ...) 'key','value': { ['task', {'generation'|'summarization'}] ['model_id', {‘llama3.2-3B-instruct-v1}] ['context', 'Context'] ['language', 'Language'] ['temperature', Temperature] ['max_tokens', MaxTokens] ['top_k', K] ['top_p', P] ['repeat_penalty', RepeatPenalty] ['frequency_penalty', FrequencyPenalty] ['presence_penalty', PresencePenalty] ['stop_sequences', JSON_ARRAY('StopSequence1'[,'StopSequence2'] ...)] } }
  47. ドキュメント間でのセマンティック検索による問合せの結合 Copyright©2025、 Oracle and/or the affiliates ベクトル・ストア カリキュラム摘 要文書 コースのスケ

    ジュール テーブルの 確認 セマンティック 検索 初心者レベルのOracle Cloud 管理者向け認定コース コースの説明 曜日 S M T W T F S 時刻 6a 9p 2p 6p コース検索 ⨝ 分析問合せ コース名 コース摘要 OCI IAM 1 Understand OCI IAM for first time users of Oracle Cloud... OCI Object Store 1 Introduction to efficient online object storage on Oracle Cloud... 14 Copyright©2025、 Oracle and/or Its affiliates |
  48. MySQL AI AutoML Copyright©2025、 Oracle and/or the affiliates 16 組み込みのセルフサービス・データ・ツールにより、データからインサイトまで

    隠れたパターンと異常のガイド付 き検出 インサイトの獲得 モデル AutoMLでモデルを簡単に作 成 デプロイ RESTまたはSQLを介してML モデルをアプリケーションに統合 推測 研修中 説明
  49. 機械学習のユースケース 170 顧客 • セグメンテーション • ロイヤルティ • 生涯価値 •

    保持/解約 • 取得 • リード生成 と優先順位付け • 最高の顧客要因 • 請求書の異常検出 • 不正検出 製品 • 次の最善オファー • クロス・セル • アップセル • 製品バンドル • 需要予測 • 在庫の予測 • 収益予測 機材 • 予測メンテナンス • 根本原因分析 • 需要予測 • 使用法とセンサーの異常検 出 • 障害リスク評価 財務 • 財務の予測 • 信用リスク評価 • キャッシュ・フロー予測 • 不正行為防止 • リソース割当て • 支払予測 Copyright©2025、 Oracle and/or the affiliates
  50. AutoML 幅広いユースケースに対応する機械学習(ML)モデルのトレーニング機能 72 Copyright©2025、 Oracle and/or the affiliates 回帰 時系列予測

    異常検知 分類 レコメンド(推奨)システム 広告費用のROI予測 需要予測 クレジットカードの 不正使用検知 悪意のある ゲームハッカーの特定 類似したユーザーの特定 債務不履行 の予想 フライト遅延の予測 降雨予報 おすすめの動画 InnoDB ストレージエンジン 予測結果には理解・信頼性のための説明を付与 HeatWave MySQL
  51. 生成AIとAutoMLの統合による予測精度向上とコスト削減 Copyright©2025、 Oracle and/or the affiliates 74 生成AIのみ AutoML +

    生成AI A Spark RDD (Resilient Distributed Dataset) is an immutable, distributed collection of data that can be partitioned across multiple nodes in a cluster. It is designed to handle large datasets that do not fit into memory… 関連性のない結果 The error message indicates that the Spark application is running into an OutOfMemoryError while trying to allocate memory for a task. This can happen if the amount of memory allocated to the task is inadequate… 有用な結果 6 時間 3.6 分 ~30,000 ~200 入力プロンプトの最適化により、 コスト削減 入力プロンプトの最適化により、 性能が向上 LLMに関連するコンテキストにより、 精度が向上 ベクトルストア AutoML LLM 関連するコンテキストを予測
  52. NL2SQL: 自然言語でデータベースへの問い合わせを実行 76 Copyright©2025、 Oracle and/or the affiliates Which products

    have the lowest cost-per- click? LLM ビジネス・エグゼクティブ データ・アナリスト スキーマ取得 自動識別 関連データベース・オブジェクト 製品 名前 カテゴリ CPC ($) ラグジュアリーカーA 車両 2.00 デザイナーシャツB ファッション 7.00 スマートフォンC 電子機器 10.00 SELECT product AS Product Name, category AS Category, SUM(click)/SUM(spend) as CPC ($) FROM campaign_data GROUP BY product, category ORDER BY CPC ($) ASC; データベース・ スキーマ・メタデータ 拡張プロンプト SQL構文の検証 (自己反射) SQL問合せ実 行
  53. NL2SQLの使用 ストアド・プロシージャによる実行 CALL sys.NL_SQL("What is the total number of bookings

    priced over $200?", @output, NULL); +---------------------------------------------------------------------------+ | Executing generated SQL statement... | +---------------------------------------------------------------------------+ | SELECT COUNT(`booking_id`) FROM `airportdb`.`booking` WHERE `price` > 200 | +---------------------------------------------------------------------------+ +---------------------+ | COUNT(`booking_id`) | +---------------------+ | 32699080 | +---------------------+ 78 Copyright©2025、 Oracle and/or the affiliates
  54. チャットのコンテキストを保持 アプリケーションで使用するためにサーバーに保持されるチャット・コンテキスト 79 Copyright©2025、 Oracle and/or the affiliates サーバーに保持されるコンテキスト: •

    チャット履歴: 過去のユーザー・プロンプトとレスポンス • テーブル: 使用する自動検出されたベクトル・ストアテーブル • ドキュメント: 元のファイルへのURLを含む一致するドキュメント・ スニペット • モデル・オプション: 使用するモデル、LLMパラメータ • プロンプト: ユーザーが入力した元のプロンプト • レスポンス: LLMが生成したレスポンス アプリケーション 自然言語 チャット DB ベクトル・ストア
  55. 今後のMySQL & MySQL HeatWaveのイベントやウェビナー 11/26 (水) Oracle Code Night 「MySQL

    AIとMySQL Studioを使ってみよう」 12/17 (水) Oracle AI Worldでの MySQL HeatWave関 連トピックスを掘り下げて ご紹介 12/18 (木) MySQL EE最新動向と MySQL AIご紹介 https://blogs.oracle.com/mysql-jp/post/heatwave-events-in-japan Oracle クラウドウェビナー Oracle クラウドウェビナー Copyright©2025、 Oracle and/or the affiliates 88 1/29 (木) MySQLパフォーマンス チューニング(予定) Oracle オフィス(予定) 近日公開予定 近日公開予定 connpassにて募集中 計画中
  56. 11月26日開催 MySQL Technology Cafe MySQL AI と MySQL Studio を使ってみよう

    MySQL Enterprise Editionに搭載された新機能 「MySQL AI」のベクトル検索、AutoML、自然言語→SQL(NL2SQL)といった機能を 中心に、既存の MySQL 開発環境に“データ移動ゼロ”で統合する方法を、開発者視点で解説 ◼ 開催日 :2025年11月26日(水) ◼ 開催時間:19:00 スタート *18:50 接続開始 (Zoom) https://oracle-code-tokyo-dev.connpass.com/event/371341/
  57. MySQL コミュニティ Copyright©2025、 Oracle and/or the affiliates 93 ▪ MySQL

    コミュニティの紹介 ▪ MySQL への貢献 ▪ Oracle Contribution Agreement (OCA) ▪ MySQL無償認証制度
  58. MySQL コミュニティの紹介 Copyright©2025、 Oracle and/or the affiliates 94 • MySQL

    コミュニティへの貢献プロセスの運営 • MySQL ユーザーグループへの支援 https://dev.mysql.com/community/mug/ • 全世界でのサードパーティによるカンファレンスやイベントへの支援や参加 https://dev.mysql.com/community/ • 教育ビデオの作成 • MySQL 短編動画 (MySQL Shorts) • MySQL 入門編シリーズ (MySQL 101 for Biginners) • https://www.youtube.com/@mysql • MySQL RockStar プログラム • MySQLの利用促進に最も精力的に取り組んだ MySQL コミュニティ・メンバーへの表彰 • 第1回: https://blogs.oracle.com/mysql/post/mysql-rockstars-2022 • MySQL ACE プログラム • MySQL プロジェクトでの ACE プログラムの運営 • https://ace.oracle.com/pls/apex/ace_program/r/oracle-aces/home
  59. MySQL への貢献 • MySQL オープンソースプロジェクトのコントリビューターコミュニティへの参加: https://forums.oracle.com/ords/apexds/post/contributing-code-to-mysql-8037 • コントリビュータになるために持つべきこと • MySQL

    の機能を変更/修正したい、あるいは新しい機能を追加したいといった要望 • MySQL ソースコードのダウンロード http://dev.mysql.com/downloads/ • bugs.mysql.com のアカウント http://bugs.mysql.com or • 有効な GitHub アカウント https://github.com • Oracle Contribution Agreement (OCA) への署名 https://oca.opensource.oracle.com/ • OCAは、コントリビューターとオラクルの両方を法的攻撃から保護する短い法的契約です。OCAに署名することにより、コントリビュー ターはオラクルがコントリビューターのコードをオラクル・ソフトウェアで使用することが法的に許可されていること、およびコントリビューター の知る限りにおいて、そのコードに特許的な問題がないことに同意することになります。 Copyright©2025、 Oracle and/or the affiliates 95
  60. 連絡先 • MySQL コミュニティとのコンタクト先一覧: • MySQL コミュニティページ, https://dev.mysql.com/community/ • MySQL

    Slack, https://mysqlcommunity.slack.com • The Oracle MySQL ブログ, https://blogs.oracle.com/mysql/ • The Oracle MySQL Japan ブログ, https://blogs.oracle.com/mysql-jp/ • Planet MySQL, https://planet.mysql.com/ • LinkedIn, https://www.linkedin.com/groups/60715/ • ブログ, https://lefred.be/ • MySQL フォーラム, http://lists.mysql.com/ • ディスカッションフォーラム, http://forums.mysql.com Copyright©2025、 Oracle and/or the affiliates 96