Whatʼs new in MySQL 8.0.25
MySQLテクノロジーアップデート
⽣駒 眞知⼦/Machiko Ikoma
MySQL Global Business Unit
26 June. 2021

アジェンダ
1. 8.0.xの主な機能
2. 8.0.25でのアップデート
3. MySQL Database Service + HeatWave
4. Q/A

2

Copyright © 2021, Oracle and/or its affiliates

MySQL8.0とは• 前バージョンの5.7から⼤きく進歩したMySQL最新バージョン• 5.7の2倍以上の性能改善、信頼性・安全性の向上

5.7より前のバージョンをお使いいただいてる場合• MySQL機能を最⼤限に活⽤していただくために最新バージョンの利⽤を推奨します• バージョン間の互換性をご確認のうえ、バージョンアップを検討ください
バージョンアップについては過去セミナー資料をご参照ください
https://www.mysql.com/jp/news-and-events/seminar/downloads.html

3

Copyright © 2021, Oracle and/or its affiliates

MySQL8.0強化・改善機能(抜粋)
性能

信頼性

操作性

安全性

•
•

•
•
•
•
•
•

•
•
•
•
•

•
•
•
•
•
•

•
•
•
•
•

クエリオプティマイザ
テーブル/インデックス パーティ
ショニング
オンラインDDL
並列データインポート
スケールアップ/スケールアウト
パフォーマンススキーマ
透過的シャーディング(NDB)

開発者向け
•
•
•
•

4

ストアドプロシージャ
トリガー
ビュー
トランザクション
HA
セキュリティ

ドキュメントストアのCRUD操作MySQL Shellプロトタイプ作成
CTE、Windows関数、GIS、ラテラルテーブル…など
Dockerコンテナ

Copyright © 2021, Oracle and/or its affiliates•

MySQL Workbench
JSONサポート
クローンプラグイン
MySQL Shell
ReplicaSet/InnoDB
Cluster
⽇本語ドキュメント

ビジネスへの適応

ストアドプロシージャ
パスワード管理
TLSv1.3サポート
SHA256対応パスワードロール
SSLサポート

・クエリ分析/ベストプラクティス検討に向けた監視・バックアップ改善
・スレッドプールプラグイン
・外部認証
・セキュリティ拡張機能(TDE、データマスキング…など)
・テクニカルサポート、コンサルティングサービス

MySQL8.0リリース状況

8.0.25• 2021-05-11 (最新版)

8.0.24• 2021-04-20

8.0.23• 2021-01-18

8.0.22• 2020-10-19

8.0.21• 2020-07-13

https://dev.mysql.com/doc/relnotes/mysql/8.0/en
5

Copyright © 2021, Oracle and/or its affiliates

直近のMySQL8.0提供機能

MySQL 8.0.20
•
•
•
•
•

•

バイナリログのトランザ
クション圧縮レプリカ側の主キーチェッ
ク切替
⼆重書込みバッファ領
域のファイル化
インデックスレベルのヒント⽂サポートMySQL InnoDB
Clusterメタデータに対するHTTPコンポーネン
ト認証
Xプロトコル経由のメッセージ圧縮レベル設定

MySQL 8.0.21
•
•
•
•
•

REDOログ無効化オプ
ション追加
CREATE TABLE …
SELECT⽂の⼀意性
サポート
グループレプリケーションの待機時間延⻑
バイナリログのチェックサ
ム対応
MySQL Shell Dump
& Load追加

MySQL 8.0.22
•
•
•
•
•
•
•

PREPARE⽂の実⾏コ
スト改善
パフォーマンススキーマでのSHOW
PROCESSLIST実⾏
読取専⽤スキーマのサ
ポート
エラーログへのSQL実⾏
サポート
⾮同期レプリケーション
での⾃動フェイルオーバー
MySQL Router同時
接続上限の拡張
ブートストラップのRest
APIサポート

MySQL 8.0.23
•
•
•
•

•
•

•

2020

6

Copyright © 2021, Oracle and/or its affiliates

⾮表⽰カラム⼆重書込みファイルの⾃動暗号化
テーブルスペースのTRUNCATE/DROP
パフォーマンス改善
AUTOEXTEND_SIZ
Eの拡張サイズ設定オプ
ションサポート
GTID未設定のソース
からGTID設定済レプリ
カへのレプリケーション
⾮同期レプリケーション
での⾃動フェイルオー
バー機能のグループレ
プリケーションサポート
シャットダウン時のXプロ
トコル警告通知

2021

MySQL 8.0.24
•
•
•
•
•
•

相関スカラサブクエリを派
⽣テーブルに変換
GIS関数追加
ネットワーク障害時のクローン操作タイムアウト
時間拡張
skip-slave-startオプ
ション実⾏権限拡張
グループレプリケーショ
ン実⾏中のallowlist
更新サポート
利⽤可能な宛先のみルーターがソケットをバインド

MySQL⽇本語マニュアル公開開始

https://dev.mysql.com/doc/refman/8.0/ja/

7

Copyright © 2021, Oracle and/or its affiliates• トランザクションデータディクショナリ• ロール

MySQL 8.0
– ハイライト• Window関数• 共通テーブル式• レプリケーション• InnoDB• オプティマイザ
• MySQL Shell• ドキュメントストア
NoSQL + SQL = MySQL

8

Copyright © 2021, Oracle and/or its affiliatesトランザクションデータディクショナリ
すべてのメタデータをInnoDBエンジンに格納し、⼀貫性を強化

Data Dictionary

SQL

9

Copyright © 2021, Oracle and/or its affiliates

InnoDB
Tables

InnoDBロール• 権限の集合体• 個々の権限のように付与することが可能• 他のロールに含めることも可能• 権限の付与・削除など管理の効率化• ユーザーに似た実装• mysql.usersテーブルに格納される• ロール名はユーザーアカウント名と同様の形式('user_name'@'host_name’)• ロールとしてログイン不可• ユーザーアカウントを別のユーザーに付与することが可能
サンプル︓ロールの作成• CREATE ROLE r_admin, r_dev@localhost;10

Copyright © 2021, Oracle and/or its affiliates

Window関数(1/2)
分析系処理への対応強化• 結果をセットにし、1つの集計結果として各⾏の値を返却• ランキング作成などを⾏うために有⽤な⼿段

SELECT name, dept_id, salary,
RANK() OVER w AS `rank`
FROM employee
WINDOW w AS
(PARTITION BY dept_id
ORDER BY salary DESC);

11

Copyright © 2021, Oracle and/or its affiliates

Window関数(2/2)
year country

SELECTyear,
country,
product,
profit,SUM(profit) OVER()
AS total_profit,
SUM(profit) OVER(PARTITION BY country)
AS country_profit
FROM sales
ORDER BY country, year, product, profit;

12

Copyright © 2021, Oracle and/or its affiliates

product

profit total_profit country_profit

2000 Finland Computer

1500

7535

1610

2000 Finland Phone

10

7535

1610

2000 Finland Phone

100

7535

1610

2000 India

Calculator 75

7535

1350

2000 India

Calculator 75

7535

1350

2000 India

Computer

7535

1350

2000 USACalculator 50

7535

4575

2000 USACalculator 75

7535

4575

2000 USA

Computer

1200

7535

4575

2000 USA

Computer

1500

7535

4575

2000 USA

Computer

1500

7535

4575

2000 USA

TV

100

7535

4575

2000 USA

TV

150

7535

4575

1200

共通テーブル式(CTE)• WITH句とも呼ばれる• サブクエリの導出表 (derived table) の代替• 分析処理 SQL ⽂の可読性や処理性能の向上

WITH
cte1 AS (SELECT a, b FROM table1),
cte2 AS (SELECT c, d FROM table2),
SELECT b, d * FROM cte1 JOIN cte2
WHERE cte1.a = cte2.c;

13

Copyright © 2021, Oracle and/or its affiliatesクローンプラグイン

8.0.17
InnoDB, レプリケーション• ローカルもしくはリモートにあるインスタンスのデータを複製するプラグイン• 複製されるデータはInnoDBに格納されている
物理的なスナップショット• スキーマ• テーブル• テーブルスペース• データディクショナリ• メタデータ

14

Copyright © 2021, Oracle and/or its affiliates

8.0.19
レプリケーション

InnoDB ReplicaSet•

レプリケーションアーキテクチャの⼀つ• ⼿動スイッチオーバーとフェイルオーバー• 参照スケールアウト(⾮同期)• シンプルなアーキテクチャ• ネットワーク/ハードウェアの前提なし

セカンダリインスタンスのネットワークに問題が発⽣した場合にプライマリインスタンスに可⽤性を提供• MySQL Routerと連携• ⾃動ルーティング• MySQL Shellによる作業効率化• 設定、構成メンバの追加・削除• ⾃動的にメンバのクローンを作成

15

Copyright © 2021, Oracle and/or its affiliates

GTID無効ソースからのGTID有効レプリカへのレプリケーション

8.0.23
レプリケーション• GTID ベースのレプリケーションを使⽤しない(GTID が有効になっていない)ソースから
GTID が有効になっているレプリカへのレプリケーションが可能• ユースケース︓• GTID⾮対応のクラウドサービスからOracle Cloud Infrastructure上のMySQL Database
Serviceへのレプリケーション• オンプレミスのGTID_MODE = OFF からOracle Cloud Infrastructure上のMySQL
Database Serviceへの移⾏• GTID_MODE = OFF で運⽤中の環境をGTID有効に変更した場合の動作確認• CHANGE REPLICATION SOURCE TO⽂• ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = [OFF | LOCAL | uuid ]16

Copyright © 2021, Oracle and/or its affiliates⾮同期レプリケーションでの⾃動コネクションフェイルオーバー• レプリカからソースへの接続が失敗した場合に、別のレプリケーション接続を⾃動的に構築• グループレプリケーションにも対応(8.0.23)• ユースケース︓• レプリカ側の耐障害性の向上• 災害対策(DR)シナリオの強化

Sender1
Weight:90
Sender2
Weight:80
Sender3
Weight:70
Sender List

17

Copyright © 2021, Oracle and/or its affiliates

8.0.22/8.0.23
レプリケーション

ReceiverREDOログ無効化

8.0.21
InnoDB• InnoDB REDOログの有効・無効の切り替えが可能• ユースケース:• 新しいインスタンスへのデータのロード• ステートメント︓• ALTER INSTANCE ENABLE|DISABLE INNODB REDO_LOG;• SET GLOBAL INNODB_REDO_LOG = [ON|OFF];• 注意事項: 本番環境でREDOログを無効化しないでください
REDOログが無効化されている間に予期しない問題が発⽣した場合、インスタンスが破損する可能性があります18

Copyright © 2021, Oracle and/or its affiliates

8.0.23
InnoDBTRUNCATE/DROP TABLESPACE性能改善• 従来の実⾏プロセス
1. InnoDBバッファプールの調整
2. AHIの削除
3. ファイルシステム上のファイル削除

各プロセスごとの終了を待っていたためオーバーヘッドに→並列で⾏うことで⾼速に処理
バッファプールの解放は別のタイミングで実施する• テーブルスペースの切り捨て・削除が発⽣する操作• DROP TABLESPACEによるテーブルスペースの削除• DROP TABLE または TRUNCATE TABLEを利⽤したテーブルごとのファイルテーブルスペースに存在するテーブルの削除• 暗黙的な⼀時表領域の削除
AHI(アダプティブハッシュインデックス/適応型ハッシュインデックス)︓
メモリー内にハッシュインデックスを構築することにより、= および IN 演算⼦を使⽤したルックアップを⾼速化。MySQL
は、InnoDB テーブルのインデックス検索をモニターし、ハッシュインデックスによりクエリーにメリットがある場合は、頻繁にアクセスされるインデックスページに対してこれを⾃動的に構築します。
19

Copyright © 2021, Oracle and/or its affiliates

従来⽐250倍参照専⽤スキーマ• スキーマ全体の書き込みを禁⽌する• スキーマオプション READ ONLY
• ALTER SCHMEAとの組み合わせのみ有効• CREATE SCHEMAは未サポート• ユースケース︓• 移⾏作業など作業中にデータベース更新を禁⽌する• 実⾏サンプル︓• mysql> ALTER DATABASE mydb READ ONLY = 1;

20

Copyright © 2021, Oracle and/or its affiliates

8.0.22
InnoDB

8.0.23
InnoDB

⾮表⽰カラム• クエリに対して⾮表⽰• 明⽰的に指定することでアクセス可能• ユースケース︓• アプリケーションのアップデート
旧バージョンからは新しい列を参照しない
新バージョンから新しい列を明⽰的に参照

サンプル︓
mysql> CREATE TABLE t1 (col1 INT, col2 INT INVISIBLE);
mysql> INSERT INTO t1 (col1, col2) VALUES(1, 2), (3, 4);
mysql> SELECT * FROM t1;+------+|

col1|+------+
|

1

|

|

3

|

+------+
mysql> SELECT col1, col2 FROM t1;+------+------+| col1 | col2 |+------+------+

21

Copyright © 2021, Oracle and/or its affiliates

|

1

|

2

|

|

3

|

4

|

+------+------+

8.0.22
InnoDB

エラーログへのSQLアクセス• 発⽣したエラーをPERFORMANCE_SCHEMA.ERROR_LOGテーブルへ書き込みが可能• ERROR_LOGテーブルに対してSQL利⽤したアクセスを提供
ログファイル

サーバーオプション

ファイル名

テーブル名

⼀般クエリーログ--general-log

host_name.log

スロークエリーログ--slow-query-log--long-query-time

host_name-slow.log

SLOW_LOG

エラーログ--log-error--log-syslog

host_name.err
Output to syslog

ERROR_LOG• サンプル︓
SELECT * FROM performance_schema.error_log;
22

Copyright © 2021, Oracle and/or its affiliates

GENERAL_LOG

MySQL Shell ダンプロードユーティリティ
論理ダンプ/ロードを⾏う新しいMySQL Shellユーティリティ• util.dumpInstance()
ユーザー情報を含むデータベースインスタン全体のダンプ• util.dumpSchemas()
スキーマのダンプ• util.loadDump()
対象データベースにダンプした内容をロード

23

Copyright © 2021, Oracle and/or its affiliates

8.0.21MySQL ShellMySQL Shell ダンプロードユーティリティ(詳細)8.0.21MySQL Shell• テーブルをチャンクに分割しマルチスレッドでダンプすることでダンプ 3GB/S for dump、ロード 200 MB/Sを実現
• チャンクの並列ロードとREDOログ無効化の同時利⽤可能• ダンプ実⾏中のロード実⾏• データロードの中断・再開• 圧縮機能を包含(zstd、gzip)• データロード後のセカンダリインデックス作成を遅延させる• OCI Object Storageに対して直接ダンプ・ロード• クラウド移⾏をより簡単に⾏えるOCI MySQL Database Service (MDS)互換性モード

24

Copyright © 2021, Oracle and/or its affiliates

MySQL Shell ダンプロードユーティリティ(ベンチマーク)

ダンプ実⾏時のベンチマーク

25

Copyright © 2021, Oracle and/or its affiliates

8.0.21MySQL ShellMySQL Shell ダンプロードユーティリティ(ベンチマーク)

ロード実⾏時のベンチマーク

26

Copyright © 2021, Oracle and/or its affiliates

8.0.21MySQL Shell

8.0.22MySQL Router

MySQL Router接続数拡張
Application

MySQL
Router

従来の上限
5,000接続まで新しい上限
50,000接続まで

Source 127

Copyright © 2021, Oracle and/or its affiliates

Source 2

Source 3

ドキュメントストアへの対応 NoSQL + SQL = MySQL• NoSQLの柔軟性とSQLを両⽴• SQL リレーショナルテーブル• スキーマレスJSONドキュメント• レプリケーション• JSONドキュメントのデータ保全• ACID準拠• マルチドキュメントトランザクションサポート• 統合されたデータベースインフラストラクチャを実現• 単⼀データベース• 作業・コストの効率化

28

Copyright © 2021, Oracle and/or its affiliatesアジェンダ
1. 8.0.xの主な機能
2. 8.0.25でのアップデート
3. MySQL Database Service + HeatWave
4. Q/A

29

Copyright © 2021, Oracle and/or its affiliates

8.0.25でのアップデート

対象コンポーネント• オプティマイザ• GIS• InnoDB

30

Copyright © 2021, Oracle and/or its affiliates• MySQL Router• レプリケーション• グループレプリケーション

オプティマイザ︓相関サブクエリーの変換••••

相関スカラーサブクエリーを派⽣テーブルに変換
変換することでサブクエリが複数回マテリアライズされることを回避
派⽣テーブルは1回のみマテリアライズされる
サンプル︓

内部サブクエリは、外部クエリ
によって処理される⾏ごとに1回実⾏される

mysql> SELECT * FROM t1 WHERE (SELECT a FROM t2 WHERE t2.a=t1.a) > 0;
mysql> SELECT
t1.*
FROM
t1
LEFT OUTER JOIN
(SELECT
サブクエリは派⽣テーブルに変換され、
a, COUNT(*) AS cnt
1回だけ実⾏される
FROM
t2
GROUP BY a) AS derived
ON t1.a = derived.a
AND REJECT_IF((cnt > 1),'ERROR 1242 (21000): Subquery returns more than 1 row')
WHERE
derived.a > 0;31

Copyright © 2021, Oracle and/or its affiliates

GIS︓明⽰的キャストと関数追加(1/3)• 空間タイプへ座標値のキャストをサポート• CAST()やCONVERT()関数を利⽤して互換性のあるデータ型に変換• 例えば、MULTIPOINT型からLINESTRING型への変換など• 追加関数①• ST_PointAtDistance(ls, distance)• 引数︓• LineStringジオメトリ• 距離の範囲• 戻り値• 開始地点からの指定された範囲の距離にあるLineStringに沿った地点• ユースケース︓• 指定された道路の開始地点から400mの地点を算出する

32

Copyright © 2021, Oracle and/or its affiliates

GIS︓明⽰的キャストと関数追加(2/3)• 追加関数②• ST_Collect([DISTINCT] g [over clause])• 引数︓• ジオメトリ値• 戻り値︓• ⼀つのジオメトリコレクション
CREATE TABLE product (year INTEGER,
product VARCHAR(256),
location Geometry);
INSERT INTO product(year, product, location) VALUES(2000, "Calculator", ST_GeomFromText('point(60 -24)',4326)),(2000, "Computer" , ST_GeomFromText('point(28 -77)',4326)),(2000, "Abacus" , ST_GeomFromText('point(28 -77)',4326)),(2000, "TV" , ST_GeomFromText('point(38 60)',4326)),(2001, "Calculator", ST_GeomFromText('point(60 -24)',4326)),(2001, "Computer" , ST_GeomFromText('point(28 -77)',4326));

33

Copyright © 2021, Oracle and/or its affiliates

mysql> SELECT ST_AsText(ST_Collect(location)) AS result FROM
product;+------------------------------------------------------------------+| result|+------------------------------------------------------------------+| MULTIPOINT((60 -24),(28 -77),(28 -77),(38 60),(60 -24),(28 -77)) |+------------------------------------------------------------------+
mysql> SELECT ST_AsText(ST_Collect(DISTINCT location)) AS result
FROM product;+---------------------------------------+| result|+---------------------------------------+| MULTIPOINT((60 -24),(28 -77),(38 60)) |+---------------------------------------+

GIS︓明⽰的キャストと関数追加(3/3)
•

•

34

追加関数③
•

ST_LineInterpolatePoint(ls, fractional_distance)•

引数︓• LineString• 分数距離•戻り値︓• 始点から終点までの指定された距離の地点でLineStringに沿った地点•

ユースケース︓• ジオメトリ引数で記述された道路の途中にある地点を算出する

追加関数④
•

ST_LineInterpolatePoints(ls, fractional_distance)•

引数︓• LineString• 分数距離mysql> SET @ls1 = ST_GeomFromText('LINESTRING(0 0,0 5,5 5)’);
mysql> SELECT ST_AsText(ST_LineInterpolatePoint(@ls1, .5));+----------------------------------------------+| ST_AsText(ST_LineInterpolatePoint(@ls1, .5)) |+----------------------------------------------+| POINT(0 5)|+----------------------------------------------+
mysql> SELECT ST_AsText(ST_LineInterpolatePoint(@ls1, .75));+-----------------------------------------------+| ST_AsText(ST_LineInterpolatePoint(@ls1, .75)) |+-----------------------------------------------+| POINT(2.5 5)|+-----------------------------------------------+
mysql> SELECT ST_AsText(ST_LineInterpolatePoint(@ls1, 1));+---------------------------------------------+| ST_AsText(ST_LineInterpolatePoint(@ls1, 1)) |+---------------------------------------------+| POINT(5 5)|+---------------------------------------------+
mysql> SELECT ST_AsText(ST_LineInterpolatePoints(@ls1, .25));+------------------------------------------------+| ST_AsText(ST_LineInterpolatePoints(@ls1, .25)) |+------------------------------------------------+| MULTIPOINT((0 2.5),(0 5),(2.5 5),(5 5))|+------------------------------------------------+•

戻り値︓• 始点または直前の地点から指定された距離の地点でLineStringに沿った地点の集合体•ユースケース︓• どの地点が、ジオメトリ引数で記述された道路に沿って10％ごとに存在するか

Copyright © 2021, Oracle and/or its affiliates

InnoDB︓ネットワーク障害後クローンドナータイムアウトの制御

Clone Instance

Local MySQL Instance (Recipient)

Data
Directory(Recipient)35

Copyright © 2021, Oracle and/or its affiliates• --clone-donor-timeout-after-networkfailure変数を追加• デフォルト5分、最⼩0分、最⼤30分• ドナー側のインスタンスに設定• メリット• ネットワーク問題を解決するための時間に余裕を持たせることができる
Remote MySQL Instance (Donor)• 複数のTB級データを再度コピーする
負荷を避けられる• 注意事項Data• ドナーインスタンスのデータサイズ増加
Directory(Donor)• クローンの復旧時間とレプリケーション遅延が増加

MySQL Router: mysql-server-mockでのTLSサポート• mysql-server-mock• MySQL RouterテストのためのダミーMySQL Server• 従来の⼿順• mysql-serverを正しい認証・設定でセットアップ• mysql-serverを起動• アプリケーションのテスト• mysql-server停⽌• 上記を繰り返す• 新しい⼿順• テストファイルでTLSオプションを有効にするAllow to enable TLS support in test-file• サポートされている暗号をテストファイルに設定できるようにする• 有効なX509証明書が送信されたかどう、CNと⼀致するかどうかを検出する• 認証の失敗を許可する
36

Copyright © 2021, Oracle and/or its affiliates

MySQL Router:利⽤可能な宛先のみバインド• 従来の動作• MySQL Routerは起動時に着信ソケットにバインドし、無条件にオープンしたままにする• 課題• 外部アプリケーション（ロードバランサーなど）は、MySQL Routerがトラフィックを処理できるとみなし、接続をMySQL Routerに転送する• その結果、宛先が利⽤できないため失敗する• 新しい動作• 宛先が利⽤可能な場合にのみソケットにバインド• 使⽤可能な宛先がない場合(クォーラムが失われた場合など) は着信ソケットを閉じる

37

Copyright © 2021, Oracle and/or its affiliates

MySQL Router: Default X Protocolのデフォルトポート番号の変更--conf-base-port０を設定すると
デフォルト値は従来と同じ値

設定しない場合は
新しい動作

Name
Name

Port
Port

Name

Port

Classic
Classic RW
RW

6446
6446

Classic RW

6446

Classic
Classic RO
RO

6447
6447

Classic RO

6447

X
X Protocol
Protocol RW
RW

64460
64460

X Protocol RW

6448

X
X Protocol
Protocol RO
RO

64470
64470

X Protocol RO

6449

38

Copyright © 2021, Oracle and/or its affiliates

変更の背景• 古いポートはIETF(Internet
Engineering Task
Force)によって定義されている “動的ポート範囲”に含まれる• 動的ポート範囲は 4915265535• 既に使⽤されていてバインドに失敗する可能性• ユーザーポートの範囲
1024- 49151 は未割当のため、例えば6448と6449は安全に利⽤できる

レプリケーション: skip-slave-start のグローバル変数化• --skip-slave-start• サーバ再起動時にI/OおよびSQLスレッドを起動させない• 代わりに START REPLICA | SLAVE を利⽤する• 従来の動作• コマンドラインからのみ設定可能• OSアクセス権限を持つユーザーのみ設定可能• 新しい動作• MySQLユーザー権限に準じて設定可能• 読み取り専⽤変数でSET PERSIST_ONLYを利⽤することで設定が可能• メリット• DBAはOSの権限を必要とせず作業できる39

Copyright © 2021, Oracle and/or its affiliates

グループレプリケーション: 実⾏中のIPアローリスト変更• --group_replication_ip_allowlist• 8.0.22より前は--group_replication_ip_whitelist• グループに接続できるホストを指定• 従来の動作• グループレプリケーション実⾏中のアローリストは不可• STOP GROUP REPLICATIONを実⾏後アローリストを変更しSTART GROUP REPLICATION実⾏• 新しい動作• グループレプリケーション実⾏中のアローリスト変更可能• アローリスト変更時のグループレプリケーション再起動は不要

40

Copyright © 2021, Oracle and/or its affiliatesアジェンダ
1. 8.0.xの主な機能
2. 8.0.25でのアップデート
3. MySQL Database Service + HeatWave
4. Q/A

41

Copyright © 2021, Oracle and/or its affiliates

100% managed

MySQLエンジニアが運⽤するデータベースサービス

検証

⾃動メンテナンス・各OSとMySQLの組み合わせを検証しクラウドサービスの品質を確保
・MySQLのバージョンアップ時にもMDS上での検証を実施

・常に最新バージョン、パッチが⾃動で適⽤されている状態のため、常にセキュアで全ての機能を利⽤可能

監視・OCI上での運⽤に特化したツールを利⽤してMySQLスタッフが監視・検出された問題に経験豊富なエンジニアが対処

MySQLエンジニアが24X7体制でデータを守ります42

Copyright © 2021, Oracle and/or its affiliates

Oracle MySQL Database Service

フルマネージド データベースサービス
Automated
ManualMySQL On Premise
Scaling (※)
BackupDatabase

Security Patch & Upgrade
Provision & Configure

OS

OS Installation

Server

Hardware Purchase & Maintenance

Storage

Storage Purchase & Maintenance

Data Center43

OS Security Patch & Upgrade

Rack & SpacePower, HVAC, Networking

Copyright © 2021, Oracle and/or its affiliates

MySQL Database Service

MySQL Database Serviceによるコスト削減効果
100 OCPU (200 vCPU), 1TBストレージの構成による年間コスト$250,000$215,652$212,974$200,000$170,244$150,000$100,000$65,833$50,000$0

MySQL Database Service

Amazon RDSMySQL Database Service: Standard E3 AMD 16GB/Core, all regions have the same price.
Amazon RDS: Intel R5 16GB/Core, AWS US East.
Azure: Memory Optimized Intel 20GB/Core, MS Azure US-East.
Google: High Memory N1 Standard Intel 13GB/Core, GCP Northern Virginia.
Configuration: 100 OCPUs, 1 TB Storage.

44

Copyright © 2021, Oracle and/or its affiliates

Microsoft Azure

Google Cloud SQLIntroducing
HeatWave
The only MySQL service with a massively-scalable native analytics engine
Available today on Oracle Cloud Infrastructure45© 2021 Oracle and/or its affiliates

Larry’s Comments on the Earnings Call
12/10/2020“当社はこの四半期も、OCIの新しいマネージド・サービスを複数発表いたしました。そうした新しいOCIのマネージド・サービスのなかでも特に注目すべきは、人気の高いオープンソース・データ
ベースであるMySQL向けのサービスで、オラクルが新たに開発した極めて優秀なパラレル・
クエリー・アクセラレータである HeatWaveです。MySQLにこの HeatWaveを搭載することで、クエリー速度は数百倍向上します。実際、MySQLの現行バージョンと比較しても、またAmazon Auroraな
どのMySQL互換のデータベースと比較しても、その速度は数百倍に及んでいます。
MySQLと HeatWaveの組み合わせは、Postgresや Redshift、Snowflakeをはじめ、Amazon AWSで利用できるその他のデータベースよりも、格段に高速で簡単、かつ安価です。また HeatWaveには、データをMySQLから移動させる必要が無く、別のデータウェアハウスを構築したりしなくても、優れたパフォーマンスを獲得できるという素晴らしいメリットもあります。既存のMySQLやAuroraのデータベースも、HeatWaveを搭載した新しいMySQLでそのまま実行でき、それでいながらクエリーの処理速度はすぐに数百倍に向上します。しかもコードを変更する必要もありません。
これ以上に簡単なことなどあるでしょうか ”

Larry Ellison
Chairman, CTO, Oracle

46

Copyright © 2021, Oracle and/or its affiliates

MySQLデータを⽤いたアナリティクス

アナリティクスを⾏う際の課題

アナリティクスをMySQL外で実施• MySQL はトランザクション
処理に最適化47

Copyright © 2021, Oracle and/or its affiliates• ETLツールなどでデータ移⾏が必要• 最終的にデータベースが2つ存在• データ同期タイムラグが発⽣

OLTPとアナリティクスをひとつのシステムで実現

OLTPアプリケーション

MySQLプラットフォーム
Automatic, Real-time
Data Propagation

In-Memory
Analytics

MySQL

48

Copyright © 2021, Oracle and/or its affiliates

HeatWave

BI & アナリティクス

HeatWaveによる分析処理の⼤幅な性能向上

400G, 64 cores
2,000

1,700.39

クエリ処理時間 ( 秒)

1,600

400倍

1,200

⾼速化

800

400

0

4.21
MySQL

MySQL Analytics

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

49

Copyright © 2021, Oracle and/or its affiliates

HeatWaveでクエリ性能UP!
MySQLチームがお客様のSQL実⾏
パフォーマンス改善をお⼿伝いします。

HeatWaveパフォーマンスヘルスチェック登録はWebから

mysql.com/jp/healthcheck

50

Copyright © 2021, Oracle and/or its affiliates無料でお試し︕

MySQL Database Service& HeatWave$300の無料クレジットを⼊⼿してMySQL Database Serviceを試してみよう︕(無料クレジットは30⽇間有効です)
登録はこちらから▼▼▼

https://www.oracle.com/cloud/free/51

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/
52

Copyright © 2021, Oracle and/or its affiliates