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

MySQL8.0の振り返りとMySQL8.1の新機能 / MySQL80summary+MySQL81

MySQL8.0の振り返りとMySQL8.1の新機能 / MySQL80summary+MySQL81

2023年10月07日(土)に開催された「第32回 中国地方DB勉強会 in 岡山」での発表資料です。(1つ目です)
https://dbstudychugoku.connpass.com/event/292246/

MySQL 8.0のまとめと、MySQL8.1の新機能&非推奨になったことを紹介しています。
また、MySQLの新しいリリースモデルであるLTS(Long-Term Support) と Innovation Releaseについても紹介しています。

※1つ目の発表資料はこちらです。
MySQL HeatWave 最新アップデート+α
https://speakerdeck.com/yoshiakiyamasaki/mysql-heatwave-update-202310-plus-a

YoshiakiYamasaki

October 07, 2023
Tweet

More Decks by YoshiakiYamasaki

Other Decks in Technology

Transcript

  1. MySQL 8.0の振り返りとMySQL 8.1の新機能
    第32回 中国地⽅DB勉強会 in 岡⼭
    ⼭﨑 由章 / Yoshiaki YAMASAKI
    MySQL Master Principal Solution Engineer / MySQL Cloud Evangelist
    MySQL Global Business Unit
    ⽇本オラクル株式会社
    2023年10⽉7⽇

    View full-size slide

  2. MySQL 8.0 の振り返り

    View full-size slide

  3. MySQLの歴史
    Copyright © 2023, Oracle and/or its affiliates
    3
    4.0
    全⽂検索/GIS (MyISAM)
    複数テーブルUPDATE/DELETE
    組み込みライブラリ型サーバ
    Oracle
    MySQL Sun
    3.23
    MyISAM
    InnoDB
    レプリケーション
    5.1
    プラグガブル・
    ストレージエンジン・
    アーキテクチャ
    パーティショニング
    タスクスケジューラ
    5.6
    memcached API
    UNDO表領域
    Global Transaction ID
    マルチスレッドスレーブ(DB)
    オンラインALTER TABLE
    トランスポータブル表領域
    5.5
    InnoDBがデフォルトに
    準同期型レプリケーション
    PERFORMANCE_SCHEMA
    1.0-3.22以前
    ストレージエンジン (ISAM, HEAP)
    マルチスレッド
    Windows対応/64bit対応
    ⽇本語⽂字コード (SJIS/UJIS)
    5.0
    ストアドプロシージャ
    ストアドファンクション
    カーソル/トリガ/ビュー
    XAトランザクション
    INFORMATION_SCHEMA
    4.1
    Unicode対応
    サブクエリ
    CSV, ARCHIVE
    ndbcluster
    1995 2000 2005 2010 2015
    5.7
    新コストモデル オプティマイザ
    ロスレス レプリケーション
    マルチソース レプリケーション
    グループ レプリケーション
    マルチスレッドスレーブ
    全⽂検索CJK対応/GIS (InnoDB)
    セキュリティ強化 (コンプライアンス対応)
    NoSQLオプション (JSON)
    8.0
    データディクショナリ
    デフォルト⽂字コード utf8mb4
    ドキュメントストア
    不可視インデックス
    セキュリティROLE
    共通テーブル式
    Window関数
    CHECK制約
    Cloneプラグイン …etc.
    2018
    2013

    View full-size slide

  4. 継続してアップデートを提供
    MySQL8.0の歴史
    Copyright © 2023, Oracle and/or its affiliates
    4
    MySQL 8.0
    2016 2018 2026
    2023
    8.0.0
    Development
    ステータス
    8.0.11
    GAリリース
    8.0.34
    GA
    8.0.XX
    サポート終了
    2025
    …(中略) …
    ほぼ四半期ごとのリリース実績
    最⻑8年間のサポート

    View full-size slide

  5. Oracle Lifetime Support for MySQL
    GAから最⻑8年間 バグ修正、パッチ、アップデートを提供
    5 Copyright © 2023, Oracle and/or its affiliates
    サポート概要
    Premier
    (1-5年)
    Extended
    (6-8年)
    Sustain
    (9年以降)
    24時間365⽇サポート • • •
    無制限インシデント • • •
    ナレッジベース • • •
    メンテナンス・リリース、バグ修正、パッチ、
    アップデートの提供
    • • 既存のもののみ
    MySQL Version GA(YYYY-MM) Premier
    (〜5年)
    Extended
    (6〜8年)
    Sustain
    (9年以降)
    5.0 2005-10 x x 〇
    5.1 2008-12 x x 〇
    5.5 2010-12 x x 〇
    5.6 2013-02 x x 〇
    5.7 2015-10 x 2023-10(予定) (予定)
    8.0 2018-04 2025-04(予定) 2026-04(予定) (予定)
    「MySQL」で検索▶ https://www.oracle.com/us/assets/lifetime-support-technology-069183.pdf

    View full-size slide

  6. Copyright © 2023, Oracle and/or its affiliates
    6
    追加されたオプション・パラメタ
    ⾮推奨となったオプション・パラメタ
    削除されたオプション・パラメタ
    What Is New in MySQL8.0
    MySQL 8.0
    MySQL 8.0 Reference Manual
    Server and Status Variables and Options Added, Deprecated, or Removed in MySQL 8.0
    https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html
    467
    85
    63
    53ページ

    View full-size slide

  7. 性能が⼤幅に向上
    • 性能改善へ向けたリファクタリングを実⾏
    MySQL8.0の主な強化ポイント
    Copyright © 2023, Oracle and/or its affiliates
    7
    例)INFORMATION_SCHEMA
    INFORMATION_SCHEMA改善例(100スキーマ、5000テーブル)
    https://dev.mysql.com/blog-archive/mysql-8-0-improvements-to-information_schema/

    View full-size slide

  8. 性能、クラッシュ耐性の向上
    InnoDBを標準使⽤
    Copyright © 2023, Oracle and/or its affiliates
    8
    例)データディクショナリのInnoDB化

    View full-size slide

  9. 性能だけでない継続した機能拡張
    • NoSQL/ドキュメントストア
    • JSON
    • GIS
    • ユニコード(utf8mb4)
    • MySQLロール
    • パスワード管理(SHA256)
    • TLS1.3サポート
    • ログファイル暗号化(AES256)
    • InnoDB ClusterSet
    • InnoDB ReplicaSet
    • クローンプラグイン
    • MySQL Shell
    • MySQL Shell for VS Code
    • Kubernetes Operator
    • ⽇本語マニュアル
    MySQL8.0の主な強化ポイント
    Copyright © 2023, Oracle and/or its affiliates
    9
    多様なワークロードに 安全な運⽤に
    安⼼な運⽤に 多様な開発スタイルに

    View full-size slide

  10. NoSQL+SQL=MySQL
    • 統合されたAPI利⽤によりSQL以外の操作も可能
    • 単⼀データストアなのでデータ同期不要
    • テーブルとJSONドキュメントのJOINも可能
    • 単⼀データベースのみの運⽤で管理負荷低減
    GIS(空間図形情報)サポートの強化
    • 位置情報ベースのサービスとの連携の改良
    • MySQL 8.0 にて球⾯座標と測地座標系
    (SRS)サポート
    多様なワークロードへの対応
    Copyright © 2023, Oracle and/or its affiliates
    10
    Relational
    Tables
    MySQL
    8.0
    { } JSON
    Documents
    X DevAPI
    SQL + CRUD API
    !"
    #$
    ユニコードをデフォルトサポート
    • 絵⽂字をサポートする utf8mb4 がデフォル
    トのキャラクタセットに
    • ユニコード⽂字列の処理性能が16倍以上
    向上するケースも
    • Unicode 9.0 をサポート
    • UCA(Unicode照合アルゴリズム)ベースの新
    しい各⾔語⽤の照合

    View full-size slide

  11. latin1からutf8mb4へ
    キャラクタセット、照合順序の変更
    Copyright © 2023, Oracle and/or its affiliates
    11
    MySQL8.0
    MySQL5.7

    View full-size slide

  12. セキュリティ⾯の強化
    • SQLロール
    • 動的権限
    • 管理者作業の簡易化
    ü 管理接続専⽤ポート
    ü SYSTEM_USER権限
    ü DDL/DML操作の拒否
    • 透過的暗号化(TDE)
    ü ログファイルの透過的暗号化
    ü テーブルスペース暗号化
    • パスワード管理
    ü ランダムパスワード
    ü 履歴管理
    • キーリング
    ü キーリングAPI・プラグイン
    ü HashiCorp Vaultサポート
    • データマスキングと匿名化
    ü 各業界における規制遵守
    ü ランダムデータ⽣成
    より安全な運⽤に
    Copyright © 2023, Oracle and/or its affiliates
    12
    EE
    EE
    Co DPL
    Cl PPL
    Ar PDPL
    Au APP
    Nz PA
    Sa ECTA
    Mx PDPL
    Ma DPA
    Ru DPA
    Th PDA
    In PDPB
    Si PDPA
    Jp APPI
    Cn GDPL
    Hk PDPO
    Br GDPL
    GLBA
    HIPAA
    Patriot Act
    PIPEDA
    CIP
    NY DFS500
    FOIPPA
    50 State
    Data Privacy
    Laws
    FS-ISAC
    NCUA
    FFIEC
    Dodd Frank
    BASEL III
    EU GDPR
    PCI
    CCPA

    View full-size slide

  13. MySQLの⾼可⽤性機能
    より安⼼な運⽤に
    Copyright © 2023, Oracle and/or its affiliates
    13
    ⾮同期
    レプリケーション
    準同期
    レプリケーション
    MySQL
    InnoDB ReplicaSet
    グループ
    レプリケーション
    MySQL
    InnoDB Cluster
    MySQL
    InnoDB ClusterSet
    アプリ接続先の
    ⾃動フェイルオーバー
    × × ○ × ○ ○
    DBの
    ⾃動フェイルオーバー
    × × × ○ ○ ○
    障害発⽣時の
    データロス無し
    × ○ × ○ ○ ○
    更新処理への
    オーバーヘッド
    ほぼ無し 有り ほぼ無し 有り 有り 有り
    クラスタモード ソース → レプリカ ソース → レプリカ ソース → レプリカ シングルプライマリ
    マルチプライマリ
    シングルプライマリ
    マルチプライマリ
    シングルプライマリ
    共有ディスク 不要 不要 不要 不要 不要 不要
    ストレージエンジン - - InnoDB InnoDB InnoDB InnoDB
    サポートOS ALL ALL ALL ALL ALL ALL
    単⼀ベンダーサポート
    ○ ○ ○ ○ ○ ○

    View full-size slide

  14. 参照処理のスケールアウト
    MySQL InnoDB ReplicaSet
    Copyright © 2023, Oracle and/or its affiliates
    14
    • ⾼可⽤性⽬的、参照処理の負荷分散⽬的に向く
    - データベースの⾃動フェイルオーバー
    - アプリケーション接続先の⾃動フェイルオーバー
    - 障害発⽣時のデータロストなし
    - オラクル社による単⼀ベンダーサポート
    MySQL InnoDB Cluster
    アプリケーション
    MySQL
    Connector
    MySQL Shell
    MySQL
    Router
    プライマリ
    (Read/Write)
    セカンダリ
    (Read Only)
    セカンダリ
    (Read Only)
    MySQLサーバー
    グループ
    レプリケーション
    MySQL
    AdminAPI
    MySQL InnoDB ReplicaSet
    • 参照処理のスケールアウト⽬的に向く
    - GTIDベースのレプリケーション環境をAPIで構築、
    運⽤可能(MySQL Shell)
    - ⼿動フェイルオーバー、ロードバランス(MySQL Router)
    - ⾮同期レプリケーション

    View full-size slide

  15. InnoDB Cluster同⼠を⾮同期レプリケーションで連携した災害対策構成
    MySQL InnoDB ClusterSet
    Copyright © 2023, Oracle and/or its affiliates
    15
    • ⾼可⽤性⽬的、参照処理の負荷分散⽬的に向く
    - データベースの⾃動フェイルオーバー
    - アプリケーション接続先の⾃動フェイルオーバー
    - 障害発⽣時のデータロストなし
    - オラクル社による単⼀ベンダーサポート
    • DCを跨いだ災害対策(DR)ソリューション
    • データセンター内でのノード障害時
    - データ損失無し、⾃動フェイルオーバー
    • 災害によるデータセンター障害時
    - データ損失の可能性あり、⼿動フェイルオーバー
    MySQL InnoDB Cluster MySQL InnoDB ClusterSet
    https://dev.mysql.com/doc/mysql-shell/8.0/en/innodb-clusterset.html
    アプリケーション
    MySQL
    Connector
    MySQL Shell
    MySQL
    Router
    プライマリ
    (Read/Write)
    セカンダリ
    (Read Only)
    セカンダリ
    (Read Only)
    MySQLサーバー
    グループ
    レプリケーション
    MySQL
    AdminAPI

    View full-size slide

  16. 迅速な可⽤性構成の構築
    • ローカルまたはリモートの MySQL インスタンスからデータをクローニング
    • スキーマ、テーブル、テーブルスペースおよびデータディクショナリメタデータを含むInnoDB に格納されているデータ
    • 物理スナップショット
    クローンプラグイン -mysql_clone
    Copyright © 2023, Oracle and/or its affiliates
    16
    mysql> CLONE INSTANCE FROM 'donor_clone_user'@'example.donor.host.com':3306
    IDENTIFIED BY 'password';

    View full-size slide

  17. MySQL8.0で拡張されたクライアントツール
    MySQL Shell
    Copyright © 2023, Oracle and/or its affiliates
    17
    ① 多⾔語をサポート
    ・JavaScript
    ・Python
    ・SQL
    ② 実⾏形式を選択可能
    ・バッチ
    ・インタラクティブ
    ③ MySQLユーティリティ
    ・アップグレードチェッカー
    ・JSON
    ・⾼速データロード
    ④ 統合されたAPI
    ・ドキュメントストア操作
    ・HA構成構築・管理
    Replicaset構築・管理

    View full-size slide

  18. MySQLのGUIクライアント
    • VS Codeのエクステンションをインストール ・現在はpreviewリリース
    MySQL Shell for VS Code (previewリリース)
    Copyright © 2023, Oracle and/or its affiliates
    18
    MySQL Shell

    View full-size slide

  19. Kubernetes Operator
    MySQL InnoDB ClusterをKubernetes上に構築
    19 Copyright © 2023, Oracle and/or its affiliates
    Virtual
    Machine
    Virtual
    Machine
    Virtual
    Machine
    Block Volume
    PVC PV
    Block Volume
    PVC PV
    Block Volume
    PVC PV
    MySQL
    Operator Agent
    Pod
    Service MySQL
    Router
    Pod
    Operator Agent :
    MySQL InnoDB Clusterメンバーを
    制御するサイドカーコンテナ
    MySQL Shellから制御可能
    MySQL :
    mysqldが稼働するコンテナ
    MySQL Router :
    アプリケーションがMySQL Routerを経
    由してMySQLに接続
    App
    MySQL
    Operator
    Pod
    App
    Service
    MySQL Operator :
    InnoDB Clusterの制御管理、
    MySQL Shell(mysqlsh)の実⾏可能
    type: LoadBalancer
    Request
    $ kubectl
    Custom
    Controller
    CRD
    apiVersion:
    mysql.oracle.com/v2alpha1
    kind: InnoDBCluster
    metadata:
    name: mycluster
    spec:
    secretName: mypwds
    instances: 3
    router:
    instances: 1
    マニフェストの
    instances数を変更
    することで、その数の
    Pod, PVC, PV,
    Block Volumeを⾃
    動作成
    sample-cluster.yaml
    manifest
    0
    1
    2
    StatfulSetの仕組みを利⽤
    • 決められた順番でPodの起動や削除を実⾏
    • Pod名が変わらない
    • PVCから固定の永続ストレージをマウント

    View full-size slide

  20. https://dev.mysql.com/doc/refman/8.0/ja/
    • 最新情報は英語ドキュメントを確認
    マニュアルの⽇本語化
    Copyright © 2023, Oracle and/or its affiliates
    20

    View full-size slide

  21. Copyright © 2023, Oracle and/or its affiliates
    21
    • MySQLのニュースタンダード(InnoDB)
    • 2018年さまざまなアップデートを継続して提供
    Ø 性能
    Ø 対応ワークロード
    Ø セキュリティ
    Ø 可⽤性
    Ø 開発効率
    • Extended Supportは2026-04に終了予定
    まとめーMySQL8.0とは何だったのか
    MySQL Version GA(YYYY-MM) Premier
    (〜5年)
    Extended
    (6〜8年)
    Sustain
    (9年以降)
    5.7 2015-10 x 2023-10(予定) (予定)
    8.0 2018-04 2025-04(予定) 2026-04(予定) (予定)

    View full-size slide

  22. • 最⼤のMySQLのエンジニアリングおよびサポート組織
    • MySQL開発チームによるサポート
    • 29⾔語で世界クラスのサポートを提供
    • メンテナンス・リリース、バグ修正、パッチ、アップデートの提供
    • 24時間x365⽇サポート
    • 旧バージョンのMySQLに対するSustain Support
    開発チームと⼀体となったサポートサービス
    ⇒ 商⽤版MySQL により提供
    Oracle Premier Support for MySQL
    Copyright © 2023, Oracle and/or its affiliates
    22
    年間サブスクリプション 74.9万円 (1サーバーあたり)
    お客様
    Oracle
    サポート
    チーム
    開発チーム
    MySQL専⾨のサポートチームが
    直接お客様を⽀援

    View full-size slide

  23. MySQL Enterprise Editionが解決するお客様の課題
    年間サブスクリプション 74.9万円 (1サーバーあたり)
    23 Copyright © 2022, Oracle and/or its affiliates
    • ビジネス要件に応じた多様な
    データモデルのサポート
    • アプリケーション開発者が
    選択可能なAPI
    → MySQL Document Store
    MySQL Workbench
    • システム障害による機会損失や
    信⽤低下の回避
    • ⼤規模災害時のシステムへの
    影響の最⼩化
    • 障害復旧までの時間的・⼈的な
    コストの削減
    → MySQL Enterprise High Availability
    MySQL Enterprise Backup
    • セキュリティ対策に関する法規制や
    ガイドラインへの準拠
    • 情報漏えい予防による企業の
    信頼性やブランディングの保護
    → MySQL Enterprise Security
    運⽤負荷軽減によるコスト抑制
    { }
    • MySQLサーバーの稼働状況や
    SQL性能の詳細な監視
    • 監視スクリプトのメンテナンスや
    監視項⽬抽出の省⼒化
    • 障害分析や課題解決への
    作業⼯数の削減
    → MySQL Enterprise Monitor
    Oracle Premier Support for MySQL
    包括的なセキュリティ対応
    機会損失削減とデータ保護
    迅速なアプリケーション開発

    View full-size slide

  24. LTS(Long-Term Support) と
    Innovation Release

    View full-size slide

  25. 25 Copyright © 2023, Oracle and/or its affiliates
    LTS(Long-Term Support) と Innovation Release
    ※詳細情報は以下のMySQL公式ブログを参照
    MySQLの Innovation と Long-Term Support (LTS) バージョンのご紹介
    https://blogs.oracle.com/mysql-jp/post/introducing-mysql-innovation-and-longterm-support-lts-versions-jp

    View full-size slide

  26. 26 Copyright © 2023, Oracle and/or its affiliates
    Innovation Release
    • バグ修正
    • セキュリティパッチ
    • 最新機能
    • 機能及びパラメータの⾮推奨化及び削除
    • 4半期毎にリリース
    • 短期のサポートサイクル
    • 8.1.0, 8.2.0, 8.3.0
    Innovation Releaseも正式版(GA)であり本番環境での利⽤を想定

    View full-size slide

  27. 27 Copyright © 2023, Oracle and/or its affiliates
    Long-Term Support (LTS)
    • バグ修正
    • セキュリティパッチ
    • 同⼀LTS内での機能及びパラメータの⾮推奨化及び削除はない
    (LTS初版リリースでは⾮推奨及び削除を実施)
    • 2年毎にリリース予定
    • 5年 premier + 3年 extended 計8年のサポートサイクル
    • 8.4.0, 9.7.0, 10.7.0 ※このバージョン番号は例であり、確定情報ではありません

    View full-size slide

  28. 28 Copyright © 2023, Oracle and/or its affiliates
    LTS(Long-Term Support) と Innovation Release
    ※詳細情報は以下のMySQL公式ブログを参照
    MySQLの Innovation と Long-Term Support (LTS) バージョンのご紹介
    https://blogs.oracle.com/mysql-jp/post/introducing-mysql-innovation-and-longterm-support-lts-versions-jp

    View full-size slide

  29. MySQL 8.1の新機能

    View full-size slide

  30. MySQL 8.1の新機能の前に、⾮推奨になった機能

    View full-size slide

  31. • mysqlpump
    • MySQL Shellのダンプ&ロードユーティリティの使⽤を推奨
    • binlog_format システム変数
    • バイナリログのフォーマットはROWのみになる
    • mysql_native_password
    • MySQLへの接続時に使⽤する認証プラグインを今の内に caching_sha2_password に
    変更することを推奨 (※)
    MySQL 8.1で⾮推奨になったもの(主なものを抜粋)
    ※システム変数としては、default_authentication_pluginで指定する値
    ※ユーザー作成時に明⽰的に指定する場合は、CREATE USER⽂に「IDENTIFIED WITH」を付けて、
    「IDENTIFIED WITH caching_sha2_password」のように指定する

    View full-size slide

  32. MySQL 8.1の新機能

    View full-size slide

  33. セキュリティ
    Copyright © 2023, Oracle and/or its affiliates
    33

    View full-size slide

  34. Copyright © 2023, Oracle and/or its affiliates
    34
    validate_password.changed_characters_percentage
    Account Management
    https://dev.mysql.com/doc/refman/8.1/en/validate-password-options-variables.html#sysvar_validate_password.changed_characters_percentage
    ユーザーが⾃分のMySQLアカウントのパスワードを置き換える際に、変更する必要がある最⼩⽂字数の
    構成の割合(現在のパスワードの合計⽂字数に対する割合) に強制する
    Default[0] 0 – 100 [%]

    View full-size slide

  35. Copyright © 2023, Oracle and/or its affiliates
    35
    • 監査機能を管理するデータベースを[mysql]以外にすることが可能。システム変数のaudit_log_databaseで指定す
    るか、コマンドラインの-D database_nameオプションを使⽤
    Audit
    $> mysql -u root -D database_name -p < audit_log_filter_linux_install.sql
    • システム変数の追加︓Audit_log_direct_writes
    関連パラメータ[audit_log_strategy]
    ・ASYNCHRONOUS : バッファを⾜りない場合に実施(カウントアップ)
    ・PERFORMANCE : カウントアップされない (バッファより⼤きいイベントは破棄)
    ・SEMISYNCHRONOUS : 常に実施
    ・SYNCHRONOUS : 常に実施
    イベントをJSON形式の監査ログに書き込む際に、イベントの内容を書き込む前にバッファを使⽤してイベントの
    内容を保存します。ただし、クエリの⻑さがバッファのサイズより⼤きい場合、プラグインはバッファを使⽤せずにイベ
    ントをログに直接書き込みます。 この変数は直接書き込みの数を⽰します。

    View full-size slide

  36. 開発・管理
    Copyright © 2023, Oracle and/or its affiliates
    36

    View full-size slide

  37. Copyright © 2023, Oracle and/or its affiliates
    37
    ・MySQLサーバーのバイナリログへのアクセスを可能とする関数をlibmysqlclient.soに追加
    mysql_binlog_open()
    mysql_binlog_fetch()
    mysql_binlog_close()
    binlog
    https://dev.mysql.com/doc/c-api/8.1/en/c-api-binary-log-function-descriptions.html

    View full-size slide

  38. 運⽤
    Copyright © 2023, Oracle and/or its affiliates
    38

    View full-size slide

  39. Copyright © 2023, Oracle and/or its affiliates
    39
    ・OpenTelemetry (OTel) プロジェクトは、オープンソースの可観測性フレームワークであり、共通の可観測性標準を提供
    します。 利⽤者は可観測性データ (トレース、メトリック、ログ) をエクスポートするためにアプリケーションをインストルメント化
    できるため、デバッグとテストの粒度が向上します。
    OpenTelemetry TRACE ( MySQL Enterprise Edition)
    https://dev.mysql.com/doc/refman/8.1/en/telemetry.html
    サーバーコンポーネントのインストール
    クライアントプラグインのインストール
    ・コマンドライン --telemetry_client
    ・[mysql] telemetry-client = ON | OFF
    mysql> install component ‘file://component_telemetry’;

    View full-size slide

  40. Copyright © 2023, Oracle and/or its affiliates
    40
    ・group_replication_set_as_primary()による切替は処理中の全てのDML操作を含むトランザクション終了まで待機
    する。
    Group Replication
    https://dev.mysql.com/doc/refman/8.1/en/group-replication-functions-for-new-primary.html#function_group-replication-set-as-primary
    ・パフォーマンススキーマに新しい列[MEMBER_FAILURE_SUSPICIONS_COUNT]を追加
    *各グループメンバーがローカルノードによって疑わしいとみなされた回数を⽰す
    ・Read LockもしくはWrite Lockを取得する操作⼀覧
    Read Lock Write Lock
    SHOW STATUS LIKE 'Uptime' START GROUP_REPLICATION
    SELECT * FROM performance_schema.global_status WHERE
    VARIABLE_NAME='Uptime'
    STOP GROUP_REPLICATION
    group_replication_force_members
    group_replication_message_cache_size
    group_replication_get_write_concurrency()
    group_replication_set_communication_protocol()
    Automatic rejoin
    group_replication_single_primary_modeへの変更時

    View full-size slide

  41. Copyright © 2023, Oracle and/or its affiliates
    41
    MySQL InnoDB ClusterにReadReplicaを実装
    ・⾮同期Replication
    ・デフォルトではPrimaryに接続
    *PrimaryのFailOverに⾃動対応
    ・Secondaryへの接続も指定可能
    [options] : replicationSources
    [primary
    secondary
    接続先インスタンスのリスト]
    ・接続済みのインスタンスでは
    cluster.setInstanceOption()
    cluster.rejoinInstance()
    MySQL Shell 8.1 (MySQL InnoDB Read Only Replica Instance)
    mysqlsh>.addReplicaInstance(instance,
    [options])

    View full-size slide

  42. Copyright © 2023, Oracle and/or its affiliates
    42
    MySQL Routerによる振り分け制御
    option : “read_only_targets”
    • all: 全てのリードレプリカとセカンダリが対象
    • read_replicas: リードレプリカのみ
    • secondaries: セカンダリインスタンスのみ
    MySQL Shell 8.1 (MySQL InnoDB Read Only Replica Instance)
    mysqlsh>.setRoutingOption([router],
    option, value))
    *ターゲットが存在しないもしくは上記以外の値が設定された場
    合、デフォルトのsecondariesの制御となる

    View full-size slide

  43. MySQL InnoDB ClusterSetとの組み合わせ例
    Copyright © 2023, Oracle and/or its affiliates
    43

    View full-size slide

  44. Copyright © 2023, Oracle and/or its affiliates
    44
    MySQL Shell 8.1 (util新機能)
    mysqlsh> util.copyInstance(connectionData[, options])
    mysqlsh> util.copySchemas(schemaList, connectionData[, options])
    mysqlsh> util.copyTables(schemaName, tablesList, connectionData[, options])
    コピーユーティリティは中間ストレージを使わずに、MySQLインスタンス間でDDLとデータをコピー
    ・dumpInstance() とloadDump()を1つの操作に統合
    *ほとんどのオプションをそのまま利⽤可能
    ・MySQL HeatWave Database Serviceへのコピーも可能
    *デフォルトでMySQL HeatWave Database Serviceへの互換性チェックが有効
    *ソースがMySQL Version 5.7の場合は⾃動的にcheckForServerUpgradeを実⾏
    https://dev.mysql.com/doc/mysql-shell/8.1/en/mysql-shell-utils-copy.html

    View full-size slide

  45. MySQL HeatWave Database Serivce
    Copyright © 2023, Oracle and/or its affiliates
    45

    View full-size slide

  46. Copyright © 2023, Oracle and/or its affiliates
    46
    ・ML_MODEL_IMPORTでONNX及びHeatWave AutoMLモデルのインポートを完全サポート
    HeatWave AutoML
    https://dev.mysql.com/doc/heatwave/en/mys-hwaml-ml-model-import.html
    mysql> CALL sys.ML_MODEL_IMPORT (model_object, model_metadata, model_handle_variable);
    model_object 前処理されたONNXモデルオブジェクト
    ⽂字列がシリアル化され、BASE64 でエンコードが必須
    model_metadata モデルのメタデータとキーと値のペアを含むオプションの JSON オブジェクト
    model_handle_variable ONNXモデルのモデルハンドル

    View full-size slide

  47. MySQL開発元が提供するフルマネージド・データベース・サービス
    サービス概要
    • Oracle Cloud Infrastructureに最適化されたMySQL
    • 既存MySQLとの併⽤も可能
    • MySQL Enterprise Edition
    • MySQL開発チームと連携した⾼品質なサポート
    • 運⽤管理・コスト効率化を可能にするインフラストラクチャ
    価格
    https://www.oracle.com/jp/cloud/price-list.html#mysql
    https://www.oracle.com/cloud/price-list.html#mysql
    スタンドアロン
    • ベーシックなMySQLのデータベース・サービス
    • エンタープライズ向け機能をサポート
    ⾼可⽤性
    • ⾃動フェイル・オーバー、データ損失ゼロをサポート
    • 3インスタンスで実現する⾼可⽤性構成 (InnoDB Cluster)
    • ワンクリックで⾼可⽤性構成を構築可能
    HeatWave
    • インメモリ & カラムナ型エンジン
    • 機械学習ベースの運⽤⾃動化機能をサポート (Autopilot)
    • 簡単に機械学習が⾏えるプラットフォーム (HeatWave ML)
    MySQL HeatWave Database Service
    Copyright © 2022, Oracle and/or its affiliates
    MySQL利⽤システムのクラウド化に
    継続運⽤を重視するシステムに
    データ分析システムに
    47

    View full-size slide

  48. Thank you
    48 Copyright © 2023, Oracle and/or its affiliates
    お問い合わせ
    0120-06-5556
    [email protected]

    View full-size slide

  49. MySQL コミュニティ
    Copyright © 2023, Oracle and/or its affiliates
    49 10/7/23
    § MySQL コミュニティの紹介
    § MySQL への貢献
    § Oracle Contribution Agreement (OCA)
    § MySQL無償認証制度

    View full-size slide

  50. MySQL コミュニティの紹介
    Copyright © 2023, Oracle and/or its affiliates
    50
    • 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

    View full-size slide

  51. 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 © 2023, Oracle and/or its affiliates
    51

    View full-size slide

  52. MySQL 無償認証制度
    • MySQL コミュニティチームは、Oracle University および Oracle Academy と協⼒し、
    mylearn.oracle.com を介して、2ヶ⽉間の指定期間内に使⽤できる無料のトレーニングバウチャー/クレジッ
    トを受講者に提供します。
    • ご興味のある⽅は、以下についての詳細をお知らせくだされば、MySQL コミュニティから連絡いたします。
    • 名前
    • 姓
    • Email アドレス
    • 居住国
    • https://education.oracle.com/
    Copyright © 2023, Oracle and/or its affiliates
    52

    View full-size slide

  53. 連絡先
    • 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 © 2023, Oracle and/or its affiliates
    53

    View full-size slide