MySQL開発最新動向
OSC2021 Online/Fall
梶⼭ 隆輔 / KAJIYAMA, Ryusuke
MySQL Solution Engineering Director, Asia Pacific & JapanMySQL Global Business UnitMySQL 8.0.27の主な新機能
MySQL InnoDB ClusterSet

複数のMySQL InnoDB Clusterを⾮同期レプリケーションで連携させた
災害対策構成(DR)レプリケーション機能拡張
レプリカサーバーでのマルチスレッドがデフォルトに、レプリケーションの⾮同期接続フェールオーバー追加

2

Copyright © 2021, Oracle and/or its affiliates

多要素認証(MFA)サポート
複数パスワードの利⽤が可能に。
Enterprise Editionでは指紋認証
デバイスやセキュリティ・キーなど
FIDO(Fast IDentity Online)対応
デバイスをユーザー認証に利⽤可能

クローン・プラグインとDDL
クローン・プラグインを利⽤した
データベース・インスタンスの複製中に、コピー元のサーバーでのDDL実⾏が可能にMySQL HeatWave and Autopilot

3

Copyright © 2021, Oracle and/or its affiliates

MySQL InnoDB ClusterSetMySQL HeatWave and Autopilot

4

Copyright © 2021, Oracle and/or its affiliates

MySQL Database Service with HeatWave
MySQLでの分析処理をETL不要で⾼速化

単⼀のMySQLでトランザクション処理と分析処理
OLTP
アプリケーション
OLAP
アプリケーション

ETLツール不要

MySQL
Database
ServiceInnoDB(OLTP Engine)

HeatWave(Analytics Engine)

既存のMySQL対応のアプリケーションは変更不要
リアルタイム・データ分析
数千コアまでスケール

5

Copyright © 2021, Oracle and/or its affiliates

HeatWaveによる分析処理の⼤幅な性能向上
400G, 64 cores
2,000
1,700.39

クエリ処理時間 (秒)1,600

1,200400倍
⾼速化

800

40004.21
MySQL

MySQL Analytics

TPC-Hのクエリ処理時間の幾何平均

6

Copyright © 2021, Oracle and/or its affiliates.

AUTOMATIONAUTOPILOT

機械学習を活⽤したMySQL HeatWaveの⾃動化

Auto Parallel Loading
Auto Data Placement
Auto Encoding

Auto Provisioning

MySQL
Autopilot
Data-driven
Query-driven
ML automation

Auto Error Recovery

7Copyright © 2021, Oracle and/or its affiliates

Auto Scheduling
Auto Change Propagation
Auto Query Time Estimation
Auto Query Plan Improvement

AUTOMATIONPROVISIONING

最適なパーティションキーの予測 - Auto Data Placement• 最近実⾏されたクエリに応じて最適なパーティションキーを予測• システム稼働中に予測を改善

パーティションキーを推測する従来の⼿法では最適なパフォーマンスとならないケースもワークロードに応じた分散キー

vs
最適な列を推測

クエリ
システム稼働中のデータ移動がオーバーヘッドにクエリ

Dataset

主キーでの分割

Autopilotによる性能向上の予測

Autopilotによる実際の性能向上

TPCH 1024

332 sec

26%

37%

TPCH 4096

373 sec

20%

25%

8

Copyright © 2021, Oracle and/or its affiliates

Autopilot

データの移動無し
データの移動無し
データの移動無し

QUERY PLANNING

AUTOMATIONSQL実⾏計画の⾃動チューニング - Auto Query Plan improvement
実⾏されたクエリを学習してHeatWaveオプティマイザーが実⾏計画を改良
Query #1
A⨝B⨝CQuery #2
A⨝BUD

⨝

C

⨝

A

B

NodeStatistics

A70

B

150

A⨝B

1000

C…

A⨝B⨝C…

Runtime stats

MySQL AutopilotによるTPC-H, TPC-DS 24TBの性能向上
9Copyright © 2021, Oracle and/or its affiliates

UD⨝

A40%B

PERFORMANCEBENCHMARKS

性能と価格での⽐較

30TB TPC-H: HeatWaveは他のデータベースサービスと⽐較してより⾼速かつ安価
クエリ処理時間
Google Big Query$1,020,000

Snowflake on AWS$1,681,920

Azure Synapse$1,249,950

AWS Redshift$1,507,841

MySQL HeatWave$251,713
0306090

Geomean time (sec)
3rd party numbers derived from Gigaom report of Oct 2020Using PAYG pricing for Snowflake. Other prices are based on 1 year pricing*Benchmark queries are derived from TPC-H benchmark, but results are not comparable to published TPC-H benchmark results since they do not comply with TPC-H specification.
10Copyright © 2021, Oracle and/or its affiliates120

New!! MySQL InnoDB ClusterSet
MySQLの⾼可⽤性構成と災害対策構成をシンプルなコマンドで構築

11

Copyright © 2021, Oracle and/or its affiliates

MySQLの⾼可⽤性構成
MySQL InnoDB ReplicaSet

MySQL InnoDB Cluster• MySQLの⾮同期レプリケーション構成を
MySQL Shellのコマンドだけで構築• ノード障害でもデータ損失のないクラスタリング構成• ⾃動フェールオーバー• 設定ファイルの作成不要
12

Copyright © 2021, Oracle and/or its affiliates• 設定ファイルの作成不要

災害対策構成 – 複数のデータセンター利⽤
MySQL InnoDB Cluster

クラスター内の各ノードを別々のデータセンターに配置• データセンター障害でもデータ損失無し• ⾃動フェールオーバー• 通信のオーバーヘッドにより更新処理性能に課題• ⾼い信頼性のデータセンター間ネットワークが必要

13

Copyright © 2021, Oracle and/or its affiliatesNew!! MySQL InnoDB ClusterSet

複数のMySQL InnoDB Clusterを組み合わせた災害対策構成

Copyright © 2021, Oracle and/or its affiliates

Disaster Recovery – Multi Region
New!! MySQL InnoDB ClusterSet
⾮同期レプリケーションでデータセンター間をデータ転送• 更新処理性能への影響は最⼩限• データセンター内でのノード障害時• データ損失無し• ⾃動フェールオーバー• 災害によるデータセンター障害時• データ損失の可能性あり• ⼿動でのフェールオーバー*15

Copyright © 2021, Oracle and/or its affiliates

MySQL 8.0.27時点での制限事項• 災害によるデータセンター障害時にデータ損失の可能性あり• スプリット・ブレイン・シンドロームへの対策機能は未実装• ⾮同期レプリケーションのみサポート• 準同期レプリケーションは⾮サポート• データセンター間での⾃動でのフェールオーバー未実装• InnoDB Clusterのマルチ・プライマリー・モードは未サポート、シングル・プライマリー・モードのみ対応• マルチ・プライマリー・クラスターは⾮サポート、クラスター間はアクティブ・パッシブ構成のみ
災害発⽣時でもデータ損失をゼロにするには、⼀つのMySQL InnoDB Cluster構成のノードを複数のデータセンターに配置

16

Copyright © 2021, Oracle and/or its affiliates

My SQL InnoDB ClusterSet – 3データセンター利⽤

17

Copyright © 2021, Oracle and/or its affiliates

My SQL InnoDB ClusterSet – 全てのクラスターが3ノード構成である必要は無い

各レプリカ・クラスターは1から9ノード構成が可能

18

Copyright © 2021, Oracle and/or its affiliates

MySQL Routerの統合
MySQL Routerのターゲットモード:• プライマリー・クラスター追随モード• 常にプライマリー・クラスターに対して参照&更新• 指定したクラスターへ接続するモード• 対象クラスターがプライマリーでは無い場合:••••

参照処理⽤ポートのみオープン
更新処理は拒否

対象クラスターがプライマリーの場合:
更新処理⽤ポートもオープン

機能:• MySQL Routerのインスタンス個別に設定可能• 設定はMySQL Shellからオンラインで変更可能•

19

Copyright © 2021, Oracle and/or its affiliates

特定のMySQL Routerのみ参照専⽤とすることも可能

MySQL InnoDB ClusterSet の設定コマンド例# MySQL Shellでクラスター NRT を作成
mysqlsh>c root@localhost:3331
mysqlsh> nrt = dba.createCluster("NRT")# クラスターにインスタンスを追加
mysqlsh> nrt.addInstance('localhost:3332')
mysqlsh> nrt.addInstance('localhost:3333')
mysqlsh> nrt.status()# 作成済みのクラスターをベースにクラスターセットを作成
mysqlsh> myCS = nrt.createClusterSet('myCS')
mysqlsh> myCS.status()# クラスター KIX を作成しインスタンスを追加
mysqlsh> kix = myCS.createReplicaCluster('localhost:4441', 'KIX')
mysqlsh> kix.addInstance('localhost:4442')
mysqlsh> kix.addInstance('localhost:4443')
mysqlsh> myCS.status()# プライマリー・クラスター NRT のプライマリー・ノードを変更
mysqlsh> nrt.setPrimaryInstance('localhost:3332')# スイッチオーバー: プライマリー・クラスターを KIX に変更
mysqlsh> myCS.setPrimaryCluster('KIX')# フェールオーバー: 既存のプライマリー・クラスターの# 全てのノードがダウンした場合に# NRT をプライマリー・クラスターに昇格
mysqlsh> myCS.forcePrimaryCluster('NRT')

20

Copyright © 2021, Oracle and/or its affiliates

MySQL InnoDB ClusterSetに関する詳細は2021年11⽉18⽇のdb tech showcase 2021にてhttps://www.db-tech-showcase.com/2021/schedule/「 InnoDB Cluster時代のMySQLレプリケーション」• MySQLのレプリケーション構成の基礎をおさらい• MySQL Shellを利⽤した運⽤構築⽅法を解説• MySQL InnoDB ReplicaSet• MySQL InnoDB Cluster• 災害対策構成MySQL InnoDB ClusterSetの紹介

dbts 2021では他にもHeatWaveの技術解説やMySQL導⼊事例、⽇本MySQLユーザ会によるセッションも21

Copyright © 2021, Oracle and/or its affiliates

参考情報

22

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

今後のMySQLのウェビナー
⽇付

イベント & コンテンツ

11/13

関⻄オープンフォーラム2021: MySQLを超⾼速化できるクエリーアクセラレーター、HeatWaveとは︖

11/17-19

db tech showcase 2021

https://www.k-of.jp/2021/

F11: MySQLユーザー事例 近⽇公開
F14: InnoDB Cluster時代のMySQLレプリケーション
F15: MySQLですぐに始めるアナリティクス -MySQL HeatWaveF16: MOCO で始める MySQL on Kubernetes (⽇本MySQLユーザ会)

https://www.db-tech-showcase.com/2021/schedule/

11/20

Open Source Conference 2021 Online/Fukuoka

11/26

MySQL 8.0⼊⾨セミナー セキュリティ編 (申し込みページ近⽇公開予定)

12/2

MySQL HeatWave + Oracle Analytics Cloud 事例セミナー (申し込みページ近⽇公開予定)

12/9

MySQL 8.0⼊⾨セミナー レプリケーション編(4) MySQL InnoDB ClusterSet (申し込みページ近⽇公開予定)

12/17

Oracle Developer Days 2021

23

https://event.ospn.jp/osc2021-online-fukuoka/

https://www.mysql.com/jp/news-and-events/web-seminars/

https://oracle-code-tokyo-dev.connpass.com/event/228813/

Copyright © 2021, Oracle and/or its affiliatesオラクルのクラウド活⽤がわかる20以上のセッション

In association withSafe harbor statement

Oracle Cloud Days 2021
As of August 2020, for most presentations, a safe harbor statement is no
次世代社会の実現に向けたクラウド活⽤の潮流
longer required, and you will not need to use this slide.

2021年 11⽉9⽇（⽕）13:00〜
The forward looking statement safe harbor slide is required ONLY for external
2021年
11⽉10⽇（⽔）11⽇（⽊）12⽇（⾦）13:30〜
presentations
that pertain to: product launches, executive presentations and■お申込み Oracle Cloud Days

keynotes at major events, and any event attended by financial analysts.

The notice is available at the Safe Harbor Confluence Page
注⽬のスピーカー
Contact for Forward Looking Statement: quietperiod_ww_grp@oracle.com
特別基調講演11⽉9⽇（⽕）13:00〜

特別基調講演11⽉9⽇（⽕）13:00〜

事例セッション
11⽉11⽇（⽊）14:45〜

三澤 智光

⽵本 具城 ⽒⼭⽥ 誠 ⽒

⽇本オラクル株式会社
取締役 執⾏役 社⻑

株式会社 野村総合研究所
専務執⾏役員 IT基盤サービス担当

事例セッション
11⽉12⽇（⾦）14:10〜

事例セッション
11⽉12⽇（⾦）14:10〜

事例セッション
11⽉12⽇（⾦）14:45〜

⽯森 浩⼀郎 ⽒

⻄野 成紀 ⽒鈴⽊ 誠司 ⽒北海道⼤学⼤学院
理学研究院 教授

富良野市
総務部スマートシティ戦略室⻑

株式会社ファンコミュニケーションズ
A8事業部 プロダクト開発部
Tech Leadスーパーストリーム株式会社取締役 企画開発本部⻑

AWS AuroraからMDSやHeatWaveへの移⾏事例セッションも︕︕

MySQL Database Service & HeatWave の無料チュートリアル
OCIのチュートリアルページにMySQL Database Service、HeatWaveのチュートリアルも掲載されています︕(⼊⾨編︓その9、その10)
画⾯キャプチャー付きで詳細に⼿順を解説しています︕
チュートリアル : Oracle Cloud Infrastructure を使ってみよう
https://oracle-japan.github.io/ocitutorials/

25

Copyright © 2021, Oracle and/or its affiliates.

⼊⾨編 - Oracle Cloud Infrastructure を使ってみよう
https://oracle-japan.github.io/ocitutorials/beginners/

MySQL Database Service、HeatWaveのドキュメント• Oracle Cloud Infrastructure Documentation - MySQL Database Service
https://docs.oracle.com/en-us/iaas/mysql-database/index.html
https://docs.oracle.com/ja-jp/iaas/mysql-database/index.html• HeatWave User Guide
https://dev.mysql.com/doc/heatwave/en/• HeatWave Release Notes
https://dev.mysql.com/doc/relnotes/heatwave/en/

26

Copyright © 2021, Oracle and/or its affiliates.

MySQL最新情報はこちらから

MySQLホームページ

www.mysql.com/jp
MySQL ライブWebセミナー

www.mysql.com/jp/news-and-events/web-seminars/
MySQL Twitter@mysql_jp

MySQL YouTubeチャンネル

https://www.youtube.com/c/mysql/
27

Copyright © 2021, Oracle and/or its affiliates.