MySQL開発最新動向
MySQLの改善点/変更点、MySQL HeatWave など
オープンソースカンファレンス 2022 オンライン 広島
Yoshiaki Yamasaki
MySQL Master Solution Engineer
MySQL Global Business Unit
2022年10月1日

アジェンダ
1. MySQL 8.0.29に関する重要なお知らせ
2. ここ数年でのMySQL 8.0での主な改善点/変更点
3. MySQL HeatWave on AWS発表！！

2•

MySQL HeatWave概要•

MySQL Database Service 概要

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

MySQL 8.0.29に関する重要なお知らせ

3

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

MySQL 8.0.29に関する重要なお知らせ• MySQL 8.0.29にクリティカルなバグがあったため、現在ダウンロードできなくなっています• MySQL 8.0.29を使用している方は、MySQL 8.0.30へのアップグレードを強く推奨します
MySQL 8.0.29のリリースノートより引用

出典：https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-29.html
4

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

MySQL 8.0.30リリース• 2022年7月26日リリース• MySQL 8.0.30のリリースノート
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html

5

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

ここ数年でのMySQL 8.0での主な改善点/変更点

6

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

Bug#103192で報告された
結果不正を修正するために、直後にMySQL 8.0.25を緊急リリース

ここ数年での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
•
•

•
•
•

•
•
•

2020

7

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

読取専用スキーマ
PREPARE文の実行コスト改善
パフォーマンススキーマでのSHOW PROCESSLIST
実行
エラーログへのSQL実行サ
ポート
非同期レプリケーションでの自動コネクションフェイルオーバー
MySQL Router同時接続上限の拡張ブートストラップのRest
APIサポート
MySQL Shell
テーブルエクスポート
ユーティリティ追加MySQL 8.0.23
•
•
•
•
•

•

非表示カラムテーブルスペースのTRUNCATE/DROPパフォーマンス改善
AUTOEXTEND_SIZEの拡張サイズ設定オプショ
ンサポート
GTID未設定のソースから
GTID設定済レプリカへのレプリケーション
非同期レプリケーションでの自動フェイルオーバー機能のグループレプリケーションサ
ポート
MySQL Shell
パラレルテーブルインポート
ユーティリティの機能拡張(リストされた複数ファイルのインポートをサポート)

2021

MySQL 8.0.24
•
•
•
•
•
•

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

現在はダウンロード不可
MySQL 8.0.30へのアップグレードを強く推奨

ここ数年でのMySQL8.0での主な改善点/変更点
MySQL 8.0.27

MySQL 8.0.26
•
•

•
•

レプリケーション関連の用語の名称変更
InnoDBテーブルスペー
スの空き領域の割合を指定可能に
super_read_only
モードでグループレプリ
ケーションを構成可能
ST_Buffer()、
ST_Difference()、
ST_Union()の強化

•
•

•
•

•
•
•

マルチスレッドアプライアーのデフォルト有効化
innodb_ddl_threadsの導入
MySQLユーザーの多要素
認証サポートTREE形式のEXPLAINの改善
クローンプラグイン実行中のDDLサポート
ST_SymDifference()、
ST_Intersection()の強化
default_authentication_pluginの非推奨

MySQL 8.0.28
•
•
•
•

•
•
•

2021

8

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

パフォーマンススキーマに•
CPU_TIMEを追加
GnuPGビルドキーの更新•
TLSv1、TLSv1.1の非サポート•
FROM_UNIXTIME()、
UNIX_TIMESTAMP()、 •CONVERT_TZ()の64bit対応•
Global_connection_me
moryの導入
audit_log_disableの導入
MySQL Shell Dump &•Loadへフィルタリングオプショ
ン追加
InnoDB ClusterSetでの•フェンシング操作のサ
ポート•

MySQL 8.0.29
インスタントDROPCOLUMNのサポート
インスタントADD
COLUMNの制限緩和
binlog_expire_logs_au
to_purgeの導入
日付時刻の任意の区切り
文字を非推奨にrepllica_parallel_typeの非推奨(LOGICAL_CLOCKがデフォルトの設定に)
CREATEFUNCTION/PROCEDU
RE/TRIGGERでのIFNOT EXISTSのサポート
group_replication_set_as_primary()の改善
MySQL Shell デバッグ &診断ユーティリティ追加

2022

MySQL 8.0.30
•
•
•

•

•

Generated Invisible
Primary Keys (GIPKs)
ST_TRANSFORM()の強化
innodb_redo_log_capacityの導入(innodb_log_file_size、
innodb_log_files_in_grou
pが非推奨に)
mysql.db、
mysql.tables_priv、
mysql.columns_priv、
mysql.procs_priv の列順序
変更
MySQL Shell パラレルテーブル
インポートユーティリティのAWS
S3サポートレプリケーション関連

9

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

クローンプラグイン

8.0.17
InnoDB, レプリケーション• ローカルもしくはリモートにあるインスタンスのデータを複製するプラグイン• 簡単な操作で複製を作成可能• レプリケーション環境構築時やバックアップ取得として活用できる• 複製されるデータはInnoDBに格納されている
物理的なスナップショット• スキーマ• テーブル• テーブルスペース• データディクショナリ• メタデータ

10

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

8.0.19
レプリケーション

InnoDB ReplicaSet

非同期レプリケーション環境を簡単に構築可能• 手動スイッチオーバーとフェイルオーバー• 参照スケールアウト(非同期)• MySQL Routerと連携• 自動ルーティング• MySQL Shellによる作業効率化• 設定、構成メンバの追加・削除• 自動的にメンバのクローンを作成(クローンプラグインを活用)•

11

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

InnoDB ClusterSet

8.0.27
レプリケーション• 複数のMySQL InnoDB Clusterを組み合わせて、非同期レプリケーションで連携• データセンターを跨いで災害対策環境を構築する場合などに利用可能

12

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

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

8.0.23
レプリケーション• GTID ベースのレプリケーションを使用しない(GTID が有効になっていない)ソースから
GTID が有効になっているレプリカへのレプリケーションが可能• レプリケーションのソースはMySQL 5.7もサポート• 「MySQL 5.7(GTID=OFF) ⇒ MySQL 8.0(GTID=ON)」のレプリケーションも可能• ユースケース：• GTID_MODE=OFF の環境を GTID_MODE=ON に移行する• 本番移行作業前に、GTID=ON レプリカを作成することで、GTID有効に変更した場合の動作確認も可能• GTID非対応のクラウドサービスからOracle Cloud Infrastructure上のMySQL Database
Serviceへのレプリケーション (MySQL Database ServiceはGTIDが有効化されている)• CHANGE REPLICATION SOURCE TO文• ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = [OFF | LOCAL | uuid ]13

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

8.0.22/8.0.23
レプリケーション

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

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

14

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

Receiverskip-slave-start(skip-replica-start) のグローバル変数化• skip-slave-start ※MySQL 8.0.26以降では skip-replica-start の使用を推奨• サーバ再起動時にI/OスレッドおよびSQLスレッドを起動させない• 代わりに START REPLICA | SLAVE を利用する• I/Oスレッド、SQLスレッドを起動したくない場合の従来の方法• コマンドラインからのみ実行可能• OSアクセス権限を持つユーザーのみ設定可能• 新しい動作• MySQLユーザー権限に準じて設定可能• 読み取り専用変数でSET PERSIST_ONLYを利用することで設定が可能• メリット• DBAはOSの権限を必要とせず作業できる

15

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

8.0.25 (8.0.24)
レプリケーション

8.0.27
レプリケーション

マルチスレッドアプライアーのデフォルト有効化• マルチスレッドアプライアーは、レプリカ側での更新遅延を軽減出来る可能性のある機能• 従来はマルチスレッドアプライアーを有効化するために明示的にシステム変数を設定しないといけなかったが、MySQL 8.0.27からはデフォルトで有効化されていため、設定変更しなくても利用できる• デフォルトで有効化されているのはCOMMIT_ORDER方式のマルチスレッドアプライアー• WRITESET方式のマルチスレッドアプライアーを使用したい場合はbinlog_transaction_dependency_trackingの設定を変更する必要があるので注意
参考資料：MySQLパフォーマンスチューニングTIPS (10～16ページ)
https://speakerdeck.com/yoshiakiyamasaki/mysqlpahuomansutiyuningutips

16

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

運用関連の改善

17

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

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 © 2022 Oracle and/or its affiliates. All rights reserved.

8.0.21
InnoDB

参照専用スキーマ• スキーマ全体の書き込みを禁止する• スキーマオプション READ ONLY
• ALTER SCHEMAとの組み合わせのみ有効• CREATE SCHEMAは未サポート• ユースケース：• メンテナンス作業時、移行作業時など、作業中にデータベース更新を禁止する• 実行サンプル：• mysql> ALTER DATABASE mydb READ ONLY = 1;

19

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

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

各プロセスごとの終了を待っていたためオーバーヘッドに→並列で行うことで高速に処理
バッファプールの解放は別のタイミングで実施する

テーブルスペースの切り捨て・削除が発生する操作• DROP TABLESPACEによるテーブルスペースの削除• DROP TABLE または TRUNCATE TABLEを利用したテーブルごとのファイルテーブルスペースに存在するテーブルの削除• 暗黙的な一時表領域の削除

AHI(アダプティブハッシュインデックス/適応型ハッシュインデックス)：
メモリー内にハッシュインデックスを構築することにより、= および IN 演算子を使用したルックアップを高速化。
MySQL は、InnoDB テーブルのインデックス検索をモニターし、ハッシュインデックスによりクエリーにメリットがある場合は、頻繁にアクセスされるインデックスページに対してこれを自動的に構築します。
20

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

従来比250倍

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;
21

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

GENERAL_LOG

InnoDBテーブルスペースの空き領域の割合を指定可能に

8.0.26
InnoDB• innodb_segment_reserve_factor で更新処理に備えて確保する
InnoDBのページの空き領域の割合を指定可能• デフォルトでは、12.5%の空き領域が確保されている• 最小値：0.03• 最大値：40• データがどのように更新されるかを見越して、設定をカスタマイズ可能• 例）あまり更新されないデータを格納する場合に空き領域を小さくしてストレージの格納効率を上げる

22

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

innodb_ddl_threadsの導入• DDLを並列処理できるようになった• デフォルトでは innodb_ddl_threads=4 に設定されている

23

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

8.0.27
InnoDBパフォーマンススキーマにCPU_TIMEを追加• パフォーマンススキーマの各種テーブルにCPU_TIMEが追加された• CPU負荷の高いSQL文の発見などに役立つ• デフォルトでは無効化されているので、有効化する時はmy.cnfに以下の設定をする• performance-schema-consumer-events-statements-cpu=ON

24

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

8.0.28
InnoDB

インスタントDROP COLUMNのサポート
インスタントADD COLUMNの制限緩和

8.0.29InnoDB• メタデータの更新だけで高速にDDLを実行できるインスタントDDLにDROP COLUMNが追加された• 構文）ALTER TABLE tbl_name DROP COLUMN column_name, ALGORITHM=INSTANT;• インスタントADD COLUMN実行時に今までは最後の列にしか追加できなかったが、テーブルのどの位置にでも追加できるようになった

25

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

その他の改善26

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

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 |+------+------+

|

1

|

2

|

|

3

|

4

|

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

27

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

Generated Invisible Primary Keys (GIPKs)

8.0.30InnoDB• 非表示の状態で自動的に主キーを生成可能• ユースケース：• MySQL InnoDB ClusterやMySQL HeatWaveを使いたいが、既存のテーブルに主キーが無い＋• 主キー追加によるアプリケーションへ与える影響を最小化したい場合
mysql> CREATE TABLE auto_1 (c1 VARCHAR(50), c2 INT);
Query OK, 0 rows affected (0.04 sec)
mysql> SHOW CREATE TABLE auto_1¥G*************************** 1. row ***************************
Table: auto_1
Create Table: CREATE TABLE `auto_1` (`my_row_id` bigint unsigned NOT NULL AUTO_INCREMENT /*!80023 INVISIBLE */,`c1` varchar(50) DEFAULT NULL,`c2` int DEFAULT NULL,PRIMARY KEY (`my_row_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

28

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

MySQL Shellの改善

29

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

MySQL Shell ダンプロードユーティリティ

8.0.21MySQL Shell

論理ダンプ/ロードを行う新しいMySQL Shellユーティリティ• util.dumpInstance()
ユーザー情報を含むデータベースインスタン全体のダンプ• util.dumpSchemas()
スキーマのダンプ• util.loadDump()
対象データベースにダンプした内容をロード※MySQL Shell 8.0.28以前では、サイズの大きいダンプファイルをロードする時にSegmentation faultが発生するバグが報告されています。
最新バージョンのMySQL Shellの使用を推奨します。

• ドキュメント

30•

https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html•

https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-load-dump.html

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

MySQL Shell ダンプロードユーティリティ
•
•
•
•
•
•
•
•

8.0.21MySQL Shell

テーブルをチャンクに分割しマルチスレッドでダンプすることでダンプ 3GB/S for dump、ロード 200 MB/Sを実現
チャンクの並列ロードとREDOログ無効化の同時利用可能
ダンプ実行中のロード実行
データロードの中断・再開
圧縮機能を包含(zstd、gzip)
データロード後のセカンダリインデックス作成を遅延させる
オラクルクラウドのオブジェクトストレージに対して直接ダンプ・ロード可能
クラウド移行をより簡単に行えるOCI MySQL Database Service (MDS)互換性モード• MySQL Shell 8.0.27からは、フィルタリング機能も使える• excludeShemas、excludeTables、excludeEvents、excludeRoutines、excludeTriggers• includeSchemas、includeTables、includeEvents、includeRoutines、includeTriggers

31

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

MySQL Shell ダンプロードユーティリティ

8.0.21MySQL Shell

ダンプ/ロード実行時のベンチマーク
ダンプ時間のベンチマーク

ロード時間のベンチマーク

出典：https://dev.mysql.com/blog-archive/mysql-shell-dump-load-part-2-benchmarks/
32

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

MySQL Shell テーブルエクスポートユーティリティ

8.0.22MySQL Shell• テーブルデータをcsv、tsvでエクスポートできるユーティリティ• パラレルテーブルインポートユーティリティでインポート可能な形式でエクスポート可能• オラクルクラウドのオブジェクトストレージ上に直接エクスポートする機能もある• 古いデータをオブジェクトストレージにエクスポートしてから削除し、必要なタイミングでインポートする運用もやりやすい• ドキュメント•

33

https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-table-export.html

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

MySQL Shell デバッグ＆診断ユーティリティ

8.0.29MySQL Shell• MySQLサーバーの各種情報をコマンド1つで収集できる機能• tsv、yaml 形式の両方でファイルを生成• MySQL 5.7以降に対して実行可能• ドキュメント•

34

https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-debug-diagnostics.html

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

MySQL Shell デバッグ＆診断ユーティリティ

8.0.29MySQL Shell

収集されたファイル一覧 (出力されたzipフィルを解凍した結果)[opc@bastion diag]$ ls
0.error_log.tsv
0.global_variables.tsv
0.global_variables.yaml
0.innodb_metrics.tsv
0.innodb_metrics.yaml
0.innodb_status.tsv
0.innodb_status.yaml
0.persisted_variables.tsv
0.persisted_variables.yaml
0.processlist.tsv
0.processlist.yaml
0.replication_applier_configuration.tsv
0.replication_applier_configuration.yaml
0.replication_applier_filters.tsv
0.replication_applier_filters.yaml
0.replication_applier_global_filters.tsv
0.replication_applier_global_filters.yaml
0.replication_applier_status_by_coordinator.tsv
0.replication_applier_status_by_coordinator.yaml
0.replication_applier_status_by_worker.tsv
0.replication_applier_status_by_worker.yaml
0.replication_applier_status.tsv
0.replication_applier_status.yaml
0.replication_asynchronous_connection_failover_managed.tsv
0.replication_asynchronous_connection_failover_managed.yaml
0.replication_asynchronous_connection_failover.tsv
0.replication_asynchronous_connection_failover.yaml
0.replication_connection_configuration.tsv
35

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

0.replication_connection_configuration.yaml
0.replication_connection_status.tsv
0.replication_connection_status.yaml
0.replication_group_communication_information.tsv
0.replication_group_communication_information.yaml
0.replication_group_configuration_version.tsv
0.replication_group_configuration_version.yaml
0.replication_group_member_actions.tsv
0.replication_group_member_actions.yaml
0.replication_group_member_stats.tsv
0.replication_group_member_stats.yaml
0.replication_group_members.tsv
0.replication_group_members.yaml
0.SHOW_BINARY_LOGS.tsv
0.SHOW_BINARY_LOGS.yaml
0.SHOW_GLOBAL_STATUS.tsv
0.SHOW_GLOBAL_STATUS.yaml
0.SHOW_MASTER_STATUS.tsv
0.SHOW_MASTER_STATUS.yaml
0.SHOW_PLUGINS.tsv
0.SHOW_PLUGINS.yaml
0.SHOW_SLAVE_HOSTS.tsv
0.SHOW_SLAVE_HOSTS.yaml
0.uri
mysqlsh.log
shell_info.yaml
tables_without_a_PK.tsv
tables_without_a_PK.yaml

MySQL 8.0.28以降にバージョンアップする際の注意事項

36

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

MySQL 8.0.28の注意事項• MySQL 8.0.28では、MySQLダウンロードパッケージの署名に使用されるGnuPGキーが更新されている• 以前のGnuPGキーの有効期限が2022年2月16日で切れるため• GnuPGキーの署名検証エラーを防ぐためには、以下のいずれかの対応が必要
1. APT もしくは YUM リポジトリを最新のものに更新する
https://dev.mysql.com/downloads/
2. 新しいMySQL用のGnuPGキーをダウンロードし、keyringへ追加する
•
•

37

APT
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#repo-qg-apt-repo-manual-setup
YUM
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-upgrading

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

MySQL 8.0.28の注意事項• MySQL 8.0.28では、MySQLダウンロードパッケージの署名に使用されるGnuPGキーが更新されている• 以前のGnuPGキーの有効期限が2022年2月16日で切れるため• GnuPGキーの署名検証エラーを防ぐためには、以下のいずれかの対応が必要
1. APT もしくは YUM リポジトリを最新のものに更新する
https://dev.mysql.com/downloads/
2. 新しいMySQL用のGnuPGキーをダウンロードし、keyringへ追加する
•
•

38

APT
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#repo-qg-apt-repo-manual-setup
YUM
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-upgrading

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

MySQL 8.0.27の注意事項• MySQL 8.0.27では、デフォルトでマルチスレッドレプリカ(マルチスレッドスレーブ)が有効化されました• レプリケーション遅延改善に役立つ機能であるため、良い改善ではありますが、従来の運用と比べた場合に運用時に注意した方がいいこともあります• 運用時の注意点については、以下の記事が参考になります
マルチスレッドレプリカにおける運用時の注意点について
https://blog.s-style.co.jp/2022/01/8498/

39

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

MySQL HeatWave on AWS発表！！

40

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

2022年9月の決算報告で、Larry EllisonがMySQL HeatWaveを他社クラウドでも使用できるようにすることを発表

https://investor.oracle.com/investor-news/news-details/2021/Oracle-Announces-Fiscal-2021-Fourth-Quarter-and-Fiscal-Full-Year-Financial-Results/default.aspx
41

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

詳細は今月ラスベガスで開催される
Oracle CloudWorldで発表される予定！
乞うご期待！！
※2022年10月28日(金)、29日(土)に開催されるOSC 2022 Online Fallでフィードバックできるかも42

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

MySQL HeatWave 概要

43

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

MySQL HeatWaveとは？
• MySQL Database Service専用のクエリ・アクセラレーター(マネージドのDWHサービス)• MySQL Database ServiceはOracle Cloud Infrastructure(OCI)上で提供している
MySQLのマネージドサービス• インメモリ＆超並列処理により読取り処理を高速化• Oracle Labs(※)のProject RAPIDの成果を活用
https://labs.oracle.com/pls/apex/f?p=94065:12:103385944489261:14• TPC-Hのクエリの処理性能は• Amazon Auroraの1,000倍以上高速、コスト1/3以下• Amazon Redshiftの2.7倍高速、コスト1/3以下• ベンチマークテスト再現手順も公表
https://www.oracle.com/mysql/analytics/performance/
44

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

MySQL HeatWave とは？
•

2020年12月のサービスリリース後も積極的に開発が続いており、先進的な機能を実装し続けている•2021年8月：MySQL Autopilot リリース•

2022年3月：MySQL HeatWave ML リリース など• MySQL HeatWave MLを使うと、 DBだけで機械学習を実現できる• ML機能も追加料金なしで利用可能

45

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

MySQL HeatWave の特徴＆利点• MySQLベースであるため、MySQLユーザーが簡単に使い始められる• MySQL自体も簡単に使用できるDBであるため、MySQL未経験者でも使用しやすい• MySQL 8.0に対応したアプリケーションはそのまま移行可能• OLTP環境とOLAP環境をMySQLだけで実現可能• HeatWave用のMDSがまだ高可用性に対応できていないため、1つの環境でOLTPとOLAPを両方とも実現することはまだ難しい• MDSでOLTP環境を構築し、MDSからHeatWaveへレプリケーションする構成は実現可能• 既存のMySQL環境と容易に組み合わせて使用可能• MySQLのレプリケーション機能でデータ連携可能• 類似するサービスと比べて、コストパフォーマンスが非常に高い• 最小構成で月額約68,000円（約800GBまでのデータを扱える）• サーバー起動時間に対する課金＆日本円による契約であるためコスト管理/予算取りもし易い46

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

MySQL HeatWave の使い方
• MySQL HeatWaveを使用する時は、ユーザーはMySQLに接続してSQLを実行する• 使い勝手はMySQLそのもの• ユーザーはHeatWaveノードへは直接アクセスしない• MySQL HeatWaveを使う時は、事前にHeatWaveノードにデータをロードしておく• その後、MySQL上でデータを更新した場合は、HeatWaveノード上のデータも自動的に更新される

HeatWave
ユーザーによるアクセス

オラクルクラウド上のサーバー(クライアント)47

バックグラウンド通信

HeatWave専用のMySQL Database Service

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

HeatWaveノード × 1台～64台

MySQL HeatWave の費用感

MySQL HeatWave最小構成での概算月額費用(データ量約800GB以内の場合)

48

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

HeatWaveのパフォーマンスの高さ、コストパフォーマンスの高さは
トヨタ自動様のお墨付き (Oracle Cloud Days 2021での講演資料より引用)

某DWHサービスとの比較結果

出典：https://www.oracle.com/jp/a/ocom/docs/cloud-day-on-demand-toyota-motor-form.pdf
49

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

HeatWaveの顧客事例

Big Queryと比較して300倍高速 & 85%のコスト削減Auroraと比較して10倍高速、コストも大幅に低減

Auroraと比較して複雑なクエリ処理が1,000倍高速 & 60%のコスト削減

想定性能の90倍高速で複雑な分析処理を毎時実行可能にミリ秒レベルの応答性能、
Aurora & Redshiftの半額で利用可能

他のクラウド・サービスよりも3倍高速かつ60%低コスト

EC2上のMySQLよりも5倍
高速 & 半分のコスト

MySQL HeatWaveにAWS Auroraから移行することで、性能が10倍向上し、コストも大幅に削減することができました

しかも、そのために
アプリケーションを変更する必要はありませんでした。

鈴木 健治
株式会社ファンコミュニケーションズ A8事業部
プロダクト開発部長 兼 A8 2.0推進室長
51

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

ゲーム難易度の調整やイベントの参加率をリアルタイムで分析したいと考えていました。
MySQL HeatWaveを導入したおかげで想定の最大90倍もの高速化を実現し、
リアルタイム分析を毎時間行うことができます。
プログラム開発の負荷や事前の想定処理時間では実現不可能と思っていたので、本当に驚きです。

川本 昌之
ジニアス・ソノリティ株式会社
取締役 / 最高技術責任者
52

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

MySQL Database Service 概要

53

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

Oracle MySQL Database Service (MDS) の特徴
MySQL開発ベンダーであるオラクル社からのサポートも受けられる
高性能かつコストパフォーマンスも高いフルマネージドデータベース！！

54

高性能

MDSでは高パフォーマンスなブロック・ボリュームを標準採用
プロビジョンド IOPS 不要(ブロック・ボリュームのIOPS：75 IOPS/GB)

低価格

同等スペック(CPU、Memory)で比較すると、他社製のMySQLマネージドサービスの1/2～1/3程度

MySQL開発ベンダーが提供

オラクルのMySQLチームが100%開発、運用、サポート
MySQL部分についてもコアなサポートを受けられる(チューニングに関する問合せもサポート対象範囲)

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

MDS の最小構成の見積もり (2022年7月22日時点)• 月額約5,200円で高性能なMySQLをサポート付きで利用可能• 最小構成：1 OCPU(2vcpu), 8GBメモリー, 50GBストレージ※準最小構成［1 OCPU(2vcpu), 16GBメモリー, 50GBストレージ］でも月額約6,800円※MDSがサポートしているシェイプについては、こちらのドキュメントをご参照ください。
（まずはE4系のシェイプをご検討下さい）55

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

MySQL Database Serviceのメリット：「オラクルならでは」のポイント
オラクル (MySQL Database Service)

他社クラウドのデータベース・サービス

サポート

開発元がサポートサービスを提供
コンサルティング・サポート込み

MySQLの中まではサポートできない

エディションMySQL Enterprise Edition同様の機能を提供

機能

最新機能をいち早く利用可能

新機能の利用制限あり (NoSQL APIのX DevAPIなど)

脆弱性対応

脆弱性には迅速に対応

セキュリティ修正が提供されるタイミングは不明

互換性

オンプレ版のMySQLと100%互換

ソースコード変更点が不明のため互換保証ない

分析エンジン

HeatWave統合

ETLツールで他サービスと連携

コミュニティ版ベースのため一部機能がサポートされない(DB監査 / SQLファイアウォール / Query Analyzer 他)

1. MySQLサーバーの機能をフル活用できる
2. ロックインの心配なし
3. コストパフォーマンスが非常に高い⇒ 「本物」ならではの機能と互換性、OCIならではの高コストパフォーマンス
56

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

お知らせ

57

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

この後12時から、独自企画で以下のハンズオン会を開催します！
• 【ハンズオン】MySQLのパフォーマンスに課題がある方必見！HeatWaveを触って速さを体験しよう！
• HeatWaveを実際に触ってみませんか？
本企画では、参加頂いた方にMySQL Database Serviceの超高速なクエリーアクセラレーターである
HeatWaveを自由に触って頂き、その速さを実体験して頂こうと思います。
本企画に参加頂く方は、以下の環境をご用意下さい。
・インターネットへの接続が可能
・外部サイトへのSSH接続ができること
・TeraTerm等のターミナルをインストール

58

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

参考情報

59

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

Oracle Cloud Infrastructure

無償学習プログラム「だれでも。必要なときに。必要な学習を。」
Oracle Cloud への移行をスキル習得の側面からご支援します。
無償の OCI トレーニングと期間限定の無償認定試験でOracle Cloud Infrastructure をはじめませんか。

Training

Certification

OCI ラーニング・サブスクリプション• OCI トレーニング (日本語・英語)• テキストの閲覧• Oracle Cloud を使用した
実機演習• 資格取得準備セミナー• 模擬問題集• ライブ・セッション

OCI 認定試験 (期間限定無償受験)※• 主要な OCI 試験の無償受験(オンライン試験)

今すぐ学習を開始できます1
Oracle University Web
ページ から、ロールにあった学習パスを選択

ロールにあった認定資格を選択✔ 入門・営業/プリセールス向け
Oracle Cloud Infrastructure Foundation

2 [Enroll this pass] をクリックし、
Oracle SSOアカウントでサインイン

3 利用規約をご確認後、トレーニングを開始。

✔ 中級・アーキテクト/構築担当者向け
Oracle Cloud Infrastructure Architect Associate✔ 上級・アーキテクト/構築担当者向け
Oracle Cloud Infrastructure Architect
Professional✔ 中級・運用担当者向け
Oracle Cloud Infrastructure Operation

60

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

※随時、追加されていきます。

Oracle Cloud Infrastructure の日本語書籍

Amazon、その他オンラインショップで単行本・電子書籍ともに販売！
Oracle Cloud Infrastructure
エンタープライズ構築実践ガイド
著者：大塚 紳一郎 氏
株式会社野村総合研究所
NRI認定ITアーキテクト／Oracle ACE

2021年1月5日発売

Oracle Cloud Infrastructure 徹底入門

著者：日本オラクル株式会社
塩原 浩太, 近藤 暁太, 丸川 祐考, 小西 朋子,
南野 英梨子, 山田 恭平, 林 妙子, 宮崎 博之,
土岐 建太, 中川 健太郎

2021年7月21日発売予定

書籍詳細：
技術評論社様ホームページ

https://gihyo.jp/book/2021/9
78-4-297-11809-9

https://www.amazon.co.jp/dp/4297118092
61

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

書籍詳細：
翔泳社様ホームページ

https://www.shoeisha.co.jp/book/detail/9784798169033

https://www.amazon.co.jp/dp/479816903X/

「Oracle Cloud Infrastructure徹底入門」 絶賛発売中！
• 内容は 2部構成 となっており、第1部は OCIの主要クラウドサービスの特徴や仕様、注意点をしっかりと解説• サインアップから簡単なシステムを作ってみるチュートリアルまで手を動かして学ぶことも可能• 第2部は OCI上でのシステム設計のポイントについて、サンプル要件に基づき分かりやすく解説• ページ数は圧巻の455ページ

第1部：Oracle Cloudの概要と主要サービスの理解
1章：Oracle Cloudの基本知識
2章：まずは触ってみよう
3章：認証・認可（IAM/IDCS）
4章：仮想クラウド・ネットワーク（VCN）
5章：コンピュート・サービス
6章：ストレージ・サービス
7章：データベース・サービス
8章：ロード・バランサ
9章：その他のサービス製品担当のエンジニアが執筆
62

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

第2部：OCIを利用したシステム設計
第10章：クラウドでのシステム設計のポイント
第11章：ネットワーク設計
第12章：可用性設計
第13章：セキュリティ
第14章：運用設計
第15章：移行設計

コンサル担当のエンジニアが執筆

Oracle Cloud Infrastructure 主要情報一覧
Oracle Cloud Infrastructure 主要情報をまとめたポータル（以下１−９を含む）
https://blogs.oracle.com/oracle4engineer/column_oci_links
Oracleアーキテクチャ・センター

1https://docs.oracle.com/ja/solutions/
クラウド環境の検討や実装に役立つように設計されたリファレンス・アーキテクチャとソリューショ
ン・プレイブックのカタログを多数掲載。ダウンロード、カスタマイズ、およびデプロイできるコードま
たはスクリプトも含む。
リファレンス・アーキテクチャ、ソリューション・プレイブックを概説した下記ブログもご参照ください。
https://blogs.oracle.com/oracle4engineer/move-workload-to-oraclecloud2

5

https://oracle-japan.github.io/ocitutorials/
OCIを使ってみよう! という人のためのチュートリアル集。各項ごとに画面ショットなどを交えながらステップ・バイ・ステップで作業を進めて、OCIの機能についてひととおり学習することができるよ
うになっています。

6

7

Oracle Code Night

8

オラクルエンジニア通信

OCIお客様活用事例

3

https://blogs.oracle.com/oracle4engineer/oracle-cloud-platformpaasiaas
OCIを活用したお客様の事例のご紹介。データベースはもちろんのこと、アナリティックス、セキュ
リティ、システム管理、コンテンツ管理、ブロックチェーン、チャットボットなど様々なサービスのお客様事例をご紹介します。

https://oracle-japan.github.io/ocidocs/
OCIを使ってみたい! という方のための技術ドキュメント集。 OCIのサービス別技術資料をはじめ、PPTスライドを中心とした公開ドキュメントや、セミナーで使用した資料をアップロードしています。
63

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

https://oracle-code-tokyo-dev.connpass.com/
オラクルのテクノロジーだけに限定しない、Developer（開発者）のDeveloper（開発者）によるDeveloper（開発者）のための開発者向けコミュニティ Meetup セミナーのこと。
ほぼ毎週 様々なテーマで開催中！

https://blogs.oracle.com/oracle4engineer/
技術資料、コラム、マニュアルなど、OCIに関するその他の情報は、「オラクルエンジニア通信」
よりお届けしています。

OCI活用資料集

4

OCIセミナー情報https://blogs.oracle.com/oracle4engineer/column_cloud_seminar
今後開催予定のウェビナー(含むハンズオントレーニング)についてご案内します。
ほぼ毎週 2回＋ハンズオンを様々なテーマで開催中！

OCIサービスアップデート
https://blogs.oracle.com/oracle4engineer/category/o4e0-4サービス・アップ
デート
毎月公開するOCIのサービス・アップデート情報をスライドで分かり易く説明。各サービスの詳
細なアップデート情報は、各サービスのドキュメントや下記「OCI活用資料集」をご覧ください。

チュートリアル: OCI を使ってみよう

9

OCIドキュメント
各サービスのマニュアル。
https://docs.cloud.oracle.com/ja-jp/iaas/Content/home.htm

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

64

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

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

MySQL Database Service、MySQL 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/

65

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

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

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

【MySQL お問い合わせ窓口】
0120-065556【受付時間】
平日 9:00-12:00/13:00-17:00(祝日及び年末年始休業日を除きます)
MySQL-Sales_jp_grp@oracle.com

67

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