SlideShare a Scribd company logo
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal
令和初のOSCに平成最後のMySQL
Version 8.0.16
Daisuke Inagaki / 稲垣 大助
MySQL Principal Solution Engineer
MySQL Global Business Unit,
Oracle Japan
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき
ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするも
のではない為、購買決定を行う際の判断材料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期については、
弊社の裁量により決定されます。
2
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 3
SQL&NoSQL
UnmatchedFlexibility
Continuous Delivery Model
LaunchpadforFuture
NewArchitecture
EliminatingLegacy
OpenSource&Enterprise
Scalable&Robust
MySQL
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 4
MySQL : アプリケーション開発者に柔軟性を
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
ハイブリッドAPISQL 関数データ型
MySQL X DevAPIJSON 関数JSON データ型
SQL と CRUD な NoSQL のハイ
ブリッドAPIによる開発柔軟性
JSON データの参照更新のため
の各種 SQL 関数を実装。
MySQL 8.0 では JSON データ
を SQL で分析するための変換
関数も追加
リレーショナルなテーブルと非
構造データとシームレスに統合。
さらに MySQL 8.0 では更新性
能の最適化
{ } ();
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 5
NoSQL
JSON ドキュメント
スキーマレス JSON コレクション
MySQL
リレーショナルテーブル
外部キー
X Dev API
SQL
CRUD
MySQL
ドキュメント
ストア
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 6
MySQL : モバイルアプリとの親和性
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GIS(空間図形情報)サポートの強化
• 位置情報ベースのサービスとの連携の改良
• MySQL 5.7 にて Boost.Geometry ライブライリーを統合
• MySQL 8.0 にて球面座標と測地座標系(SRS)サポート
ユニコードをデフォルトキャラクタセットに
• 絵文字をサポートする utf8mb4 がデフォルトのキャラクタセットに
• ユニコード文字列の処理性能が16倍以上向上するケースも
• Unicode 9.0 をサポート
• UCA(Unicode照合アルゴリズム)ベースの新しい各言語用の照合
� �
� �
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 7
MySQL : データ分析処理の効率向上
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Window 関数共通テーブル式 (CTEs)
• サブクエリの導出表 (derived table) の代替
• WITH 句と呼ばれることも
• 分析処理 SQL 文の可読性や処理性能の向上、階
層構造データ利用にも
• ランキング作成などの分析処理用途で
ユーザーからの追加要望の多かった機能
• 検索対象のレコードと周辺データとの関連を
集計や分析
WITH tickets_filtered AS (
SELECT tickets.*, seats.doc
FROM tickets
INNER JOIN seats ON
tickets.seat_id = seats.id
WHERE tickets.event_id = 3
)
SELECT * FROM tickets_filtered
WHERE doc->"$.section" = 201¥G
SELECT name, dept_id, salary,
RANK() OVER w AS `rank`
FROM employee
WINDOW w AS
(PARTITION BY dept_id
ORDER BY salary DESC);
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
InnoDB Cluster
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
“高可用性は、MySQLにとって、
最も重要な中核の機能です!”
InnoDB Clusterで更に高いレベル
の可用性を提供します。
8
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
概要: レプリケーションの用途
※ 準同期レプリケーションでは、非同期レプリケーションに比べて、データの完全性が向上します。
Oracle Confidential – Restricted
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Bが新しい
マスターに昇格
構成変更
冗長性: マスターがクラッシュした場合, スレーブをマスターに昇格
概要: レプリケーションの用途
Oracle Confidential – Restricted
障害発生 障害発生
B B
C C
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replicationとは?
• 自動フェイルオーバー
• 構成の拡張/縮小
• 単一障害点無し
• 自動的に再構成
Application
MySQL Nodes Replication
Plugin
API
MySQL Server
Group Comms
Oracle Confidential – Restricted
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
MySQL Router
• 接続をルーティング
– ロードバランシング
– 接続フェイルオーバー
• InnoDBクラスタをネイティブサポート
透過的にアプリケーション接続をルーティング
App Servers with
MySQL Router
MySQL Group Replication
” MySQL Routerを使用する事で、スタンドアロンのMySQLインスタンスを
既存のアプリケーションに影響を与えずに、高可用性で分散処理可能な、
InnoDBクラスタに容易に移行する事が可能!”
Oracle Confidential – Restricted
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell:管理用API
• mysql-js> dba.help()
• MySQLの管理用APIにアクセス可能
• DBA管理オペレーション
– Manage MySQL InnoDB clusters
• クラスター作成
• MySQLインスタンスの検証
• MySQLインスタンスの構築
• クラスターの状況を確認
• MySQLインスタンスの開始・停止
• クラスタの構成変更
データベース管理者向けインターフェース
MySQL Shell
Setup, Manage,
Orchestrate
14Oracle Confidential – Restricted
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 15
MySQL InnoDB Cluster: The Big Picture
M
App
S S
MySQL Shell and Orchestration Tooling
App
状態と構成情報から
接続先の判定
管理・構築
Monitoring (MySQL Enterprise Monitor)
MySQL Router
MySQL Group Replication
MySQL Router
Oracle Confidential – Restricted
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0.12: Alter Table - Instant Add Column
• Contribution from Tencent Games
– Only a metadata change
– No copying of data
– Smaller final data size
– Forward compatibility with old data file
• ALTER TABLE … ADD COLUMN c, ALGORITHM = INSTANT
• Supports DYNAMIC/COMPACT/REDUNDANT row formats
16
Labs
2018-7-28
Release
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
• Data Masking
– String Masking, Dictionary Replacement
• Random Data Generators
– Range based, Payment Card, Email, SSN
• Meet Regulatory Requirements
– Including GDPR, HIPAA and PCI DSS
• Improve Production, Dev, Test, Analytics Environments
– While Protecting Confidential Data
MySQL Enterprise Data Masking
De-identify, Anonymize Sensitive Data
ID Last First SSN
1111 Smith John 555-12-5555
1112 Templeton Richard 444-12-4444
ID Last First SSN
2874 Smith John XXX-XX-
5555
3281 Templeton Richard XXX-XX-
4444
Employee Table
Masked View
8.0.13
17
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 19
MySQL 8.0.14 Release Notes (抜粋)
1 MySQLユーザアカウントにプライマリパスワードとセカンダリパスワー
ドの2つを持つことが可能
RETAIN CURRENT PASSWORD
DISCARD OLD PASSWORD
2 TCP/IPポートを管理接続専用に設定することが可能 admin_address
admin_port
3 OVER句がある場合、JSON_ARRAYAGG() / JSON_OBJECTAGG()が
window関数として利用可能
4 スローログの出力結果に、実行開始からの時間を使用可能 log_slow_extra
5 バイナリログファイルとリレーログファイルを暗号化 binlog_encryption
6 LDAP認証をLDAP->LDAPS(LDAP over SSL)に変更 (Port No. 636 or
3269)
authentication_ldap_sasl_server_port
authentication_ldap_simple_server_port
7 ST_Distance()関数で戻り値の単位を指定することが可能 INFORMATION_SCHEMA.ST_UNITS_OF_M
EASURE
8 LATERALキーワードにより、同じFROM句内の前のテーブル列を参照
することが可能
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 20
MySQL 8.0.14 Release Notes (抜粋)
9 X Pluginは、エラー処理クラスに5桁のSQLSTATEエラーコードを含める Bug#28735058
10 innodb_buffer_pool_in_core_fileを無効にすることで、コアファイルの
サイズを削減(コアファイルに書き込まない)
innodb_buffer_pool_in_core_file
11 CREATE UNDO TABLESPACEにてUNDO表領域を指定した場所に追加
作成可能
innodb_undo_tablespaces
12 パラレルクラスタ化インデックス読み取りをサポート(InnoDB) innodb_parallel_read_threads
13 CREATE TABLESPACEにおけるADD DATAFILE句はオプションに変更
14 innodb_dedicated_serverにてログファイルも自動設定 innodb_buffer_pool_size
innodb_log_file_size
innodb_flush_method
15 Group Replication用のグループ通信システム(GCS)およびグループ
通信エンジン(XCom、Paxosの一種)は、IPv6を完全にサポート
16 MySQL Group Replicationは、TCPソケットを使用する代わりに、専用の
入力チャネルを使用して通信可能
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 21
MySQL 8.0.14 Release Notes (抜粋)
17 レプリケーションによる内部使用のために、2つの新しいセッションシス
テム変数が追加
original_server_version
immediate_server_version
18 MySQL 5.7からMySQL 8.0のダンプのインポートにおけるエラーの扱い
を変更
ER_WRONG_VALUE_FOR_VAR
19 監査ログに独自のメッセージを追加 audit_api_message_emit_udf()
20 派生テーブルやCTEに外部参照可能
21 Group Replicationにおけるプライマリ切替時の制御を追加 group_replication_consistency
・EVENTUAL
・BEFORE_ON_PRIMARY_FAILOVER
・
その他、bugfix….
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 22
MySQL 8.0.15 Release Note
2019-02-01 GA
1 IPv6を無効となっている場合、Group ReplicationがIPv6を使用していな
くても動作していない問題を修正
Bug#29249542
Bug#94004
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 23
MySQL 8.0.16 Release Notes (抜粋)
1 チェック制約の実装
2 MySQL C APIは、MySQLサーバーとの非ブロック通信用の非同期関数
をサポート
mysql_real_connect_nonblocking()
mysql_real_query_nonblocking()
mysql_store_result_nonblocking()
mysql_next_result_nonblocking()
mysql_fetch_row_nonblocking()
mysql_free_result_nonblocking()
3 TempTableストレージエンジンは、 InnoDBを使用 internal_tmp_disk_storage_engine
4 MySQLの新しいバージョンのインストール後、サーバーは次回の起動
時に必要なすべてのアップグレードタスクを自動的に実行
mysql_upgrade
5 ユーザ権限のブラックリスト方式 REVOKEによる拒否権限の設定
6 MySQL InnoDB Clusterのupdate(自動再接続・メッセージの細分化) autorejoinRetries
group_replication_communication_max_
message_size
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
管理
24
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 25
TCP/IPポートを管理接続専用に設定することが可能
• 管理者向けに別のTCP/IPポートによる接続
• max_connections接続による制約を受けない
• 管理接続数の制限なし
• admin_port (default : 33062 )
• admin_addressにてIP Addressを設定することで有効
• create_admin_listener_thread でスレッドも専用化可能
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 26
ユーザ権限のブラックリスト方式
• 一部のテーブルのみSELECT を許可させない
– 8.0.15迄
– 8.0.16
| GRANT SELECT ON `bootcamp`.* TO `newuser`@`%` |
| GRANT SELECT ON `sakila`.* TO `newuser`@`%` |
| GRANT SELECT ON `sys`.* TO `newuser`@`%` |
| GRANT SELECT ON `world`.* TO `newuser`@`%` |
| GRANT SELECT ON `performance_sche`.* TO `newuser`@`%` |
| GRANT SELECT ON *.* TO `newuser`@`%` |
| REVOKE SELECT ON `mysql`.* TO `newuser`@`%` |
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
5バイナリログファイルとリレーログファイルを暗号化
27
テーブルスペース
バイナ
リーロ
グ
バイナ
リーロ
グ
バイナリログ
redoログ undoログ
• テーブルスペース
– ALTER TABLE xxxx ENCRYPTION=‘Y'
• Redoログ/ Undoログ
– innodb_redo_log_encrypt=ON
– innodb_undo_log_encrypt=ON
• バイナリログ
– binlog_encryption=ON
利用上の注意!!
keyring_fileおよびkeyring_encryptedファイルプラグイン
は、法令遵守ソリューションとして意図されていません。
KEYの管理が別途必要です。
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Transparent Data Encryption
暗号化された
表領域ファイル
テーブルスペース鍵
悪意のあるOSユーザー/ハッカー
ファイルに直接アクセス
暗号化により、データを保護
マスター鍵
定期的な鍵ローテーション
バイナリログ
redoログ undoログ
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
新機能
29
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
チェック制約
• [ CONSTRAINT [symbol] ] CHECK ( condition ) [ [ NOT ] ENFORCED ]
• ALTER TABLE < table_name >
ADD [ CONSTRAINT [ symbol ] ] CHECK ( condition ) [ [ NOT ] ENFORCED ]
30
CREATE TABLE `chk1` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
CONSTRAINT `c1_c2_chk` CHECK (((`c1` + `c2`) < 9999)),
CONSTRAINT `c1_chk` CHECK ((`c1` > 0)),
CONSTRAINT `c2_chk` CHECK ((`c2` > 0))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
LATERAL
• From句に相関サブクエリを実現
例) https://mysqlserverteam.com/support-for-lateral-derived-tables-added-to-mysql-8-
0-14/
• ランダムで From / To を作成
– insert into edges(from_id, to_id)select origin_nodes.id, target_nodes.idfrom nodes as
origin_nodes,( select id from nodes order by rand() limit 2) as target_nodes;
– では、ランダムの結果が全てに適用されてしまう
• order by rand()+0*origin_nodes.id ランダム係数に前テーブルのidを利用
31
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
LATERAL
32
explain
select origin_nodes.id, target_nodes.id
from nodes as origin_nodes,
(
select id from nodes order by rand() limit 2
) as target_nodes;
explain
select origin_nodes.id, target_nodes.id
from nodes as origin_nodes,
LATERAL (
select id
from nodes
order by rand()+0*origin_nodes.id
limit 2
) as target_nodes;
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
ST_Distance()関数
• ST_Distance(g1, g2 [, unit]) / 8.0.14
• ST_Length(ls [, unit]) / 8.0.16
• INFORMATION_SCHEMA.ST_UNITS_OF_MEASURE
33
+--------------------------------------+-----------+---------------------+-------------+
| UNIT_NAME | UNIT_TYPE | CONVERSION_FACTOR | DESCRIPTION |
+--------------------------------------+-----------+---------------------+-------------+
| metre | LINEAR | 1 | |
| millimetre | LINEAR | 0.001 | |
| centimetre | LINEAR | 0.01 | |
| German legal metre | LINEAR | 1.0000135965 | |
| foot | LINEAR | 0.3048 | |
| ; | : | : | |
| Indian yard | LINEAR | 0.9143985307444408 | |
| kilometre | LINEAR | 1000 | |
| Clarke's chain | LINEAR | 20.1166195164 | |
| Clarke's link | LINEAR | 0.201166195164 | |
| Gold Coast foot | LINEAR | 0.3047997101815088 | |
| British chain (Sears 1922) | LINEAR | 20.116765121552632 | |
| yard | LINEAR | 0.9144 | |
| ; | : | : | |
+--------------------------------------+-----------+---------------------+-------------+
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
InnoDB Cluster
34
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 35
group_replication_consistency
• グループが提供するトランザクション一貫性保証を制御
– EVENTUAL (default)
– BEFORE_ON_PRIMARY_FAILOVER
• バックログを適用されるまで、クライアント処理を保留 (Fail Over):一貫性保証
https://mysqlhighavailability.com/group-replication-preventing-stale-reads-on-primary-fail-over/
– BEFORE
• RWトランザクションが先行するトランザクションの完了まで待つ
• ROトランザクションが先行するトランザクションの完了まで待つ
– AFTER
• RWトランザクションがその変更が他のすべてのメンバーに適用されるまで待機
– BEFORE_AND_AFTER
• BEFOREとAFTERを適用
https://dev.mysql.com/doc/refman/8.0/en/group-replication-options.html
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 36
group_replication_autorejoin_tries
• Group ReplicationではNetwork障害等による意図せずメンバーから追放
等になった際、group_replication_exit_state_actionにより追放方式を決
定
– <= 8.0.15 ABORT_SERVER
– > 8.0.16 READ_ONL
• group_replication_autorejoin_triesによる自動再接続を可能に
– デフォルト:0 (リトライ無し)
手動メンテナンスが必要
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 37
group_replication_communication_max_message_size
• Group Replicationの制限事項
– Limits on Transaction Size
• group_replication_member_expel_timeout
– レプリケーションメンバータイムアウト値
• group_replication_transaction_size_limit
– レプリケーショングループが受け付ける最大トランザクションサイズ
• group_replication_communication_max_message_size
– グループレプリケーション通信のメッセージは自動的にフラグメントに分割し、別々
に送信されて受信者によって再組み立てを実施
*グループメンバーが全て8.0.16以上であること
細かいトランザクションを強く推奨 (特にBatch処理)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Edition
38
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 39
MySQL Enterprise Edition のサービスカテゴリー
管理ツール拡張機能 サポート
• 拡張性
• 高可用性
• 統合認証
• 監査
• 暗号化
• ファイヤーウオール
• 監視
• バックアップ
• 開発
• 管理
• マイグレーション
• 技術サポート
• コンサルティングサポート
• オラクル製品との
動作保証
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
技術サポートとコンサルティングサポート
40
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Security
41
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
42
Enterprise
Security Architecture   Workbench
•Model
•Data
•Audit Data
•User Management
  Enterprise Monitor
•Identifies Vulnerabilities
•Security hardening policies
•User Monitoring
•Password Monitoring
•Schema Change Monitoring
•Backup Monitoring
 Enterprise Encryption
•TDE
•Encryption
•PKI
  Firewall
 Key Vault
 Enterprise Authentication
•SSO - LDAP, AD, PAM
 Network Encryption
 Enterprise Audit
•Powerful Rules Engine
 Audit Vault
 Strong Authentication
 Access Controls
 Assess
 Prevent
 Detect
 Recover
 Enterprise Backup
 HA
•Innodb Cluster
Thread Pool
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
データベース管理
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Monitor
• 複数のMySQLサーバを一括監視可能な
ダッシュボード
• システム中のMySQLサーバやレプリケ
ーション構成を自動的に検出し監視対
象に追加
• ルールに基づく監視と警告
• 問題が発生する前に通知
• 問題のあるSQL文の検出、統計情報の
分析が可能なQuery Analyzer
44
参照:MySQL Enterprise Monitor
"バーチャルなMySQL DBA"
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
クエリ解析機能 - MySQL Query Analyzer
• 全てのMySQLサーバの
全てのSQL文を一括監視
• vmstatなどのOSコマンドやMySQLの
SHOWコマンドの実行、
ログファイルの個別の監視は不要
• クエリの実行回数、エラー回数、
実行時間、転送データ量などを
一覧表示
• チューニングのための
解析作業を省力化
45
負荷の高い
処理を特定
早期対応と改善
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Backup
• InnoDBのオンラインバックアップツール
• フル、増分、部分バックアップ(圧縮可能)
• マルチスレッドによる並列バックアップ&リカバリ処理
• クラウドストレージとの直接の連携(S3, Swift API)
• バックアップの暗号化 – AES 256
• Oracle Secure Backupとの連携
46
高速、オンラインバックアップ & リカバリ
MySQL Enterprise Backup の特徴と利点
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 47
20190530 osc hokkaido_public

More Related Content

PDF
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
PPTX
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
PDF
20150131 ChugokuDB-Shimane-MySQL
PDF
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
PDF
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
PPTX
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
PDF
Oracle Cloud PaaS & IaaS:2019年8月度サービス情報アップデート
PDF
Oracle RAC 25年の進化
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
20150131 ChugokuDB-Shimane-MySQL
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
Oracle Cloud PaaS & IaaS:2019年8月度サービス情報アップデート
Oracle RAC 25年の進化

What's hot (20)

PDF
Oracle Cloud PaaS & IaaS:2019年9月度サービス情報アップデート
PPTX
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
PDF
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
PDF
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
PDF
Oracle Autonomous Database 技術情報(Oracle Cloudウェビナーシリーズ: 2020年8月20日)
PDF
Oracle Database Applianceのご紹介(詳細)
PDF
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2020年9月2日)
PPTX
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
PPTX
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
PDF
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年9月22日)
PDF
MySQL Technology Cafe #12 MySQL Database Service - High Availability Update
PDF
Oracle Cloud MySQL Service
PDF
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
PDF
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
PDF
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
PDF
【旧版】Oracle Cloud Infrastructure 料金体系 [2020年4月版]
PDF
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
PDF
[Modern Cloud Day Tokyo 2019] 基調講演(Day2):次世代クラウドがもたらす日本のイノベーション
PPTX
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
PDF
[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...
Oracle Cloud PaaS & IaaS:2019年9月度サービス情報アップデート
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
Oracle Autonomous Database 技術情報(Oracle Cloudウェビナーシリーズ: 2020年8月20日)
Oracle Database Applianceのご紹介(詳細)
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2020年9月2日)
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年9月22日)
MySQL Technology Cafe #12 MySQL Database Service - High Availability Update
Oracle Cloud MySQL Service
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
【旧版】Oracle Cloud Infrastructure 料金体系 [2020年4月版]
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
[Modern Cloud Day Tokyo 2019] 基調講演(Day2):次世代クラウドがもたらす日本のイノベーション
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...
Ad

Similar to 20190530 osc hokkaido_public (20)

PDF
20150920 中国地方db勉強会
PDF
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
PDF
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
PDF
Windows環境でのMySQL
PPTX
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
PDF
MySQL最新情報
PDF
MySQLドキュメントストアとCTE
PDF
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
PDF
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
PDF
ついにリリース!! MySQL 8.0 最新情報
PDF
20201023_MySQL開発最新動向
PDF
MySQLの公式GUIツール MySQL Workbench
PPTX
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
PDF
MySQL 開発最新動向
PDF
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
PDF
MySQL最新情報  ※2016年12月
PDF
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
PDF
MySQL SYSスキーマのご紹介
PDF
MySQL製品概要
PDF
MySQL57 Update@OSC Fukuoka 20151003
20150920 中国地方db勉強会
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
Windows環境でのMySQL
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
MySQL最新情報
MySQLドキュメントストアとCTE
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
ついにリリース!! MySQL 8.0 最新情報
20201023_MySQL開発最新動向
MySQLの公式GUIツール MySQL Workbench
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL 開発最新動向
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL最新情報  ※2016年12月
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL SYSスキーマのご紹介
MySQL製品概要
MySQL57 Update@OSC Fukuoka 20151003
Ad

20190530 osc hokkaido_public

  • 1. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 令和初のOSCに平成最後のMySQL Version 8.0.16 Daisuke Inagaki / 稲垣 大助 MySQL Principal Solution Engineer MySQL Global Business Unit, Oracle Japan
  • 2. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするも のではない為、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量により決定されます。 2
  • 3. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 3 SQL&NoSQL UnmatchedFlexibility Continuous Delivery Model LaunchpadforFuture NewArchitecture EliminatingLegacy OpenSource&Enterprise Scalable&Robust MySQL
  • 4. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 4 MySQL : アプリケーション開発者に柔軟性を Copyright © 2018, Oracle and/or its affiliates. All rights reserved. ハイブリッドAPISQL 関数データ型 MySQL X DevAPIJSON 関数JSON データ型 SQL と CRUD な NoSQL のハイ ブリッドAPIによる開発柔軟性 JSON データの参照更新のため の各種 SQL 関数を実装。 MySQL 8.0 では JSON データ を SQL で分析するための変換 関数も追加 リレーショナルなテーブルと非 構造データとシームレスに統合。 さらに MySQL 8.0 では更新性 能の最適化 { } ();
  • 5. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 5 NoSQL JSON ドキュメント スキーマレス JSON コレクション MySQL リレーショナルテーブル 外部キー X Dev API SQL CRUD MySQL ドキュメント ストア
  • 6. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 6 MySQL : モバイルアプリとの親和性 Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GIS(空間図形情報)サポートの強化 • 位置情報ベースのサービスとの連携の改良 • MySQL 5.7 にて Boost.Geometry ライブライリーを統合 • MySQL 8.0 にて球面座標と測地座標系(SRS)サポート ユニコードをデフォルトキャラクタセットに • 絵文字をサポートする utf8mb4 がデフォルトのキャラクタセットに • ユニコード文字列の処理性能が16倍以上向上するケースも • Unicode 9.0 をサポート • UCA(Unicode照合アルゴリズム)ベースの新しい各言語用の照合 � � � �
  • 7. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 7 MySQL : データ分析処理の効率向上 Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Window 関数共通テーブル式 (CTEs) • サブクエリの導出表 (derived table) の代替 • WITH 句と呼ばれることも • 分析処理 SQL 文の可読性や処理性能の向上、階 層構造データ利用にも • ランキング作成などの分析処理用途で ユーザーからの追加要望の多かった機能 • 検索対象のレコードと周辺データとの関連を 集計や分析 WITH tickets_filtered AS ( SELECT tickets.*, seats.doc FROM tickets INNER JOIN seats ON tickets.seat_id = seats.id WHERE tickets.event_id = 3 ) SELECT * FROM tickets_filtered WHERE doc->"$.section" = 201¥G SELECT name, dept_id, salary, RANK() OVER w AS `rank` FROM employee WINDOW w AS (PARTITION BY dept_id ORDER BY salary DESC);
  • 8. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | InnoDB Cluster App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate “高可用性は、MySQLにとって、 最も重要な中核の機能です!” InnoDB Clusterで更に高いレベル の可用性を提供します。 8
  • 9. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 概要: レプリケーションの用途 ※ 準同期レプリケーションでは、非同期レプリケーションに比べて、データの完全性が向上します。 Oracle Confidential – Restricted
  • 10. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
  • 11. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Bが新しい マスターに昇格 構成変更 冗長性: マスターがクラッシュした場合, スレーブをマスターに昇格 概要: レプリケーションの用途 Oracle Confidential – Restricted 障害発生 障害発生 B B C C
  • 12. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replicationとは? • 自動フェイルオーバー • 構成の拡張/縮小 • 単一障害点無し • 自動的に再構成 Application MySQL Nodes Replication Plugin API MySQL Server Group Comms Oracle Confidential – Restricted
  • 13. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | MySQL Router • 接続をルーティング – ロードバランシング – 接続フェイルオーバー • InnoDBクラスタをネイティブサポート 透過的にアプリケーション接続をルーティング App Servers with MySQL Router MySQL Group Replication ” MySQL Routerを使用する事で、スタンドアロンのMySQLインスタンスを 既存のアプリケーションに影響を与えずに、高可用性で分散処理可能な、 InnoDBクラスタに容易に移行する事が可能!” Oracle Confidential – Restricted
  • 14. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | MySQL Shell:管理用API • mysql-js> dba.help() • MySQLの管理用APIにアクセス可能 • DBA管理オペレーション – Manage MySQL InnoDB clusters • クラスター作成 • MySQLインスタンスの検証 • MySQLインスタンスの構築 • クラスターの状況を確認 • MySQLインスタンスの開始・停止 • クラスタの構成変更 データベース管理者向けインターフェース MySQL Shell Setup, Manage, Orchestrate 14Oracle Confidential – Restricted
  • 15. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 15 MySQL InnoDB Cluster: The Big Picture M App S S MySQL Shell and Orchestration Tooling App 状態と構成情報から 接続先の判定 管理・構築 Monitoring (MySQL Enterprise Monitor) MySQL Router MySQL Group Replication MySQL Router Oracle Confidential – Restricted
  • 16. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0.12: Alter Table - Instant Add Column • Contribution from Tencent Games – Only a metadata change – No copying of data – Smaller final data size – Forward compatibility with old data file • ALTER TABLE … ADD COLUMN c, ALGORITHM = INSTANT • Supports DYNAMIC/COMPACT/REDUNDANT row formats 16 Labs 2018-7-28 Release
  • 17. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | • Data Masking – String Masking, Dictionary Replacement • Random Data Generators – Range based, Payment Card, Email, SSN • Meet Regulatory Requirements – Including GDPR, HIPAA and PCI DSS • Improve Production, Dev, Test, Analytics Environments – While Protecting Confidential Data MySQL Enterprise Data Masking De-identify, Anonymize Sensitive Data ID Last First SSN 1111 Smith John 555-12-5555 1112 Templeton Richard 444-12-4444 ID Last First SSN 2874 Smith John XXX-XX- 5555 3281 Templeton Richard XXX-XX- 4444 Employee Table Masked View 8.0.13 17
  • 18. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 19 MySQL 8.0.14 Release Notes (抜粋) 1 MySQLユーザアカウントにプライマリパスワードとセカンダリパスワー ドの2つを持つことが可能 RETAIN CURRENT PASSWORD DISCARD OLD PASSWORD 2 TCP/IPポートを管理接続専用に設定することが可能 admin_address admin_port 3 OVER句がある場合、JSON_ARRAYAGG() / JSON_OBJECTAGG()が window関数として利用可能 4 スローログの出力結果に、実行開始からの時間を使用可能 log_slow_extra 5 バイナリログファイルとリレーログファイルを暗号化 binlog_encryption 6 LDAP認証をLDAP->LDAPS(LDAP over SSL)に変更 (Port No. 636 or 3269) authentication_ldap_sasl_server_port authentication_ldap_simple_server_port 7 ST_Distance()関数で戻り値の単位を指定することが可能 INFORMATION_SCHEMA.ST_UNITS_OF_M EASURE 8 LATERALキーワードにより、同じFROM句内の前のテーブル列を参照 することが可能
  • 19. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 20 MySQL 8.0.14 Release Notes (抜粋) 9 X Pluginは、エラー処理クラスに5桁のSQLSTATEエラーコードを含める Bug#28735058 10 innodb_buffer_pool_in_core_fileを無効にすることで、コアファイルの サイズを削減(コアファイルに書き込まない) innodb_buffer_pool_in_core_file 11 CREATE UNDO TABLESPACEにてUNDO表領域を指定した場所に追加 作成可能 innodb_undo_tablespaces 12 パラレルクラスタ化インデックス読み取りをサポート(InnoDB) innodb_parallel_read_threads 13 CREATE TABLESPACEにおけるADD DATAFILE句はオプションに変更 14 innodb_dedicated_serverにてログファイルも自動設定 innodb_buffer_pool_size innodb_log_file_size innodb_flush_method 15 Group Replication用のグループ通信システム(GCS)およびグループ 通信エンジン(XCom、Paxosの一種)は、IPv6を完全にサポート 16 MySQL Group Replicationは、TCPソケットを使用する代わりに、専用の 入力チャネルを使用して通信可能
  • 20. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 21 MySQL 8.0.14 Release Notes (抜粋) 17 レプリケーションによる内部使用のために、2つの新しいセッションシス テム変数が追加 original_server_version immediate_server_version 18 MySQL 5.7からMySQL 8.0のダンプのインポートにおけるエラーの扱い を変更 ER_WRONG_VALUE_FOR_VAR 19 監査ログに独自のメッセージを追加 audit_api_message_emit_udf() 20 派生テーブルやCTEに外部参照可能 21 Group Replicationにおけるプライマリ切替時の制御を追加 group_replication_consistency ・EVENTUAL ・BEFORE_ON_PRIMARY_FAILOVER ・ その他、bugfix….
  • 21. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 22 MySQL 8.0.15 Release Note 2019-02-01 GA 1 IPv6を無効となっている場合、Group ReplicationがIPv6を使用していな くても動作していない問題を修正 Bug#29249542 Bug#94004
  • 22. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 23 MySQL 8.0.16 Release Notes (抜粋) 1 チェック制約の実装 2 MySQL C APIは、MySQLサーバーとの非ブロック通信用の非同期関数 をサポート mysql_real_connect_nonblocking() mysql_real_query_nonblocking() mysql_store_result_nonblocking() mysql_next_result_nonblocking() mysql_fetch_row_nonblocking() mysql_free_result_nonblocking() 3 TempTableストレージエンジンは、 InnoDBを使用 internal_tmp_disk_storage_engine 4 MySQLの新しいバージョンのインストール後、サーバーは次回の起動 時に必要なすべてのアップグレードタスクを自動的に実行 mysql_upgrade 5 ユーザ権限のブラックリスト方式 REVOKEによる拒否権限の設定 6 MySQL InnoDB Clusterのupdate(自動再接続・メッセージの細分化) autorejoinRetries group_replication_communication_max_ message_size
  • 23. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 管理 24
  • 24. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 25 TCP/IPポートを管理接続専用に設定することが可能 • 管理者向けに別のTCP/IPポートによる接続 • max_connections接続による制約を受けない • 管理接続数の制限なし • admin_port (default : 33062 ) • admin_addressにてIP Addressを設定することで有効 • create_admin_listener_thread でスレッドも専用化可能
  • 25. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 26 ユーザ権限のブラックリスト方式 • 一部のテーブルのみSELECT を許可させない – 8.0.15迄 – 8.0.16 | GRANT SELECT ON `bootcamp`.* TO `newuser`@`%` | | GRANT SELECT ON `sakila`.* TO `newuser`@`%` | | GRANT SELECT ON `sys`.* TO `newuser`@`%` | | GRANT SELECT ON `world`.* TO `newuser`@`%` | | GRANT SELECT ON `performance_sche`.* TO `newuser`@`%` | | GRANT SELECT ON *.* TO `newuser`@`%` | | REVOKE SELECT ON `mysql`.* TO `newuser`@`%` |
  • 26. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 5バイナリログファイルとリレーログファイルを暗号化 27 テーブルスペース バイナ リーロ グ バイナ リーロ グ バイナリログ redoログ undoログ • テーブルスペース – ALTER TABLE xxxx ENCRYPTION=‘Y' • Redoログ/ Undoログ – innodb_redo_log_encrypt=ON – innodb_undo_log_encrypt=ON • バイナリログ – binlog_encryption=ON 利用上の注意!! keyring_fileおよびkeyring_encryptedファイルプラグイン は、法令遵守ソリューションとして意図されていません。 KEYの管理が別途必要です。
  • 27. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Transparent Data Encryption 暗号化された 表領域ファイル テーブルスペース鍵 悪意のあるOSユーザー/ハッカー ファイルに直接アクセス 暗号化により、データを保護 マスター鍵 定期的な鍵ローテーション バイナリログ redoログ undoログ
  • 28. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 新機能 29
  • 29. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | チェック制約 • [ CONSTRAINT [symbol] ] CHECK ( condition ) [ [ NOT ] ENFORCED ] • ALTER TABLE < table_name > ADD [ CONSTRAINT [ symbol ] ] CHECK ( condition ) [ [ NOT ] ENFORCED ] 30 CREATE TABLE `chk1` ( `c1` int(11) DEFAULT NULL, `c2` int(11) DEFAULT NULL, CONSTRAINT `c1_c2_chk` CHECK (((`c1` + `c2`) < 9999)), CONSTRAINT `c1_chk` CHECK ((`c1` > 0)), CONSTRAINT `c2_chk` CHECK ((`c2` > 0)) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb
  • 30. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | LATERAL • From句に相関サブクエリを実現 例) https://mysqlserverteam.com/support-for-lateral-derived-tables-added-to-mysql-8- 0-14/ • ランダムで From / To を作成 – insert into edges(from_id, to_id)select origin_nodes.id, target_nodes.idfrom nodes as origin_nodes,( select id from nodes order by rand() limit 2) as target_nodes; – では、ランダムの結果が全てに適用されてしまう • order by rand()+0*origin_nodes.id ランダム係数に前テーブルのidを利用 31
  • 31. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | LATERAL 32 explain select origin_nodes.id, target_nodes.id from nodes as origin_nodes, ( select id from nodes order by rand() limit 2 ) as target_nodes; explain select origin_nodes.id, target_nodes.id from nodes as origin_nodes, LATERAL ( select id from nodes order by rand()+0*origin_nodes.id limit 2 ) as target_nodes;
  • 32. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | ST_Distance()関数 • ST_Distance(g1, g2 [, unit]) / 8.0.14 • ST_Length(ls [, unit]) / 8.0.16 • INFORMATION_SCHEMA.ST_UNITS_OF_MEASURE 33 +--------------------------------------+-----------+---------------------+-------------+ | UNIT_NAME | UNIT_TYPE | CONVERSION_FACTOR | DESCRIPTION | +--------------------------------------+-----------+---------------------+-------------+ | metre | LINEAR | 1 | | | millimetre | LINEAR | 0.001 | | | centimetre | LINEAR | 0.01 | | | German legal metre | LINEAR | 1.0000135965 | | | foot | LINEAR | 0.3048 | | | ; | : | : | | | Indian yard | LINEAR | 0.9143985307444408 | | | kilometre | LINEAR | 1000 | | | Clarke's chain | LINEAR | 20.1166195164 | | | Clarke's link | LINEAR | 0.201166195164 | | | Gold Coast foot | LINEAR | 0.3047997101815088 | | | British chain (Sears 1922) | LINEAR | 20.116765121552632 | | | yard | LINEAR | 0.9144 | | | ; | : | : | | +--------------------------------------+-----------+---------------------+-------------+
  • 33. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | InnoDB Cluster 34
  • 34. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 35 group_replication_consistency • グループが提供するトランザクション一貫性保証を制御 – EVENTUAL (default) – BEFORE_ON_PRIMARY_FAILOVER • バックログを適用されるまで、クライアント処理を保留 (Fail Over):一貫性保証 https://mysqlhighavailability.com/group-replication-preventing-stale-reads-on-primary-fail-over/ – BEFORE • RWトランザクションが先行するトランザクションの完了まで待つ • ROトランザクションが先行するトランザクションの完了まで待つ – AFTER • RWトランザクションがその変更が他のすべてのメンバーに適用されるまで待機 – BEFORE_AND_AFTER • BEFOREとAFTERを適用 https://dev.mysql.com/doc/refman/8.0/en/group-replication-options.html
  • 35. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 36 group_replication_autorejoin_tries • Group ReplicationではNetwork障害等による意図せずメンバーから追放 等になった際、group_replication_exit_state_actionにより追放方式を決 定 – <= 8.0.15 ABORT_SERVER – > 8.0.16 READ_ONL • group_replication_autorejoin_triesによる自動再接続を可能に – デフォルト:0 (リトライ無し) 手動メンテナンスが必要
  • 36. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 37 group_replication_communication_max_message_size • Group Replicationの制限事項 – Limits on Transaction Size • group_replication_member_expel_timeout – レプリケーションメンバータイムアウト値 • group_replication_transaction_size_limit – レプリケーショングループが受け付ける最大トランザクションサイズ • group_replication_communication_max_message_size – グループレプリケーション通信のメッセージは自動的にフラグメントに分割し、別々 に送信されて受信者によって再組み立てを実施 *グループメンバーが全て8.0.16以上であること 細かいトランザクションを強く推奨 (特にBatch処理)
  • 37. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Edition 38
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 39 MySQL Enterprise Edition のサービスカテゴリー 管理ツール拡張機能 サポート • 拡張性 • 高可用性 • 統合認証 • 監査 • 暗号化 • ファイヤーウオール • 監視 • バックアップ • 開発 • 管理 • マイグレーション • 技術サポート • コンサルティングサポート • オラクル製品との 動作保証
  • 39. Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | 技術サポートとコンサルティングサポート 40
  • 40. Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | Security 41
  • 41. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 42 Enterprise Security Architecture   Workbench •Model •Data •Audit Data •User Management   Enterprise Monitor •Identifies Vulnerabilities •Security hardening policies •User Monitoring •Password Monitoring •Schema Change Monitoring •Backup Monitoring  Enterprise Encryption •TDE •Encryption •PKI   Firewall  Key Vault  Enterprise Authentication •SSO - LDAP, AD, PAM  Network Encryption  Enterprise Audit •Powerful Rules Engine  Audit Vault  Strong Authentication  Access Controls  Assess  Prevent  Detect  Recover  Enterprise Backup  HA •Innodb Cluster Thread Pool
  • 42. Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | データベース管理
  • 43. Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Monitor • 複数のMySQLサーバを一括監視可能な ダッシュボード • システム中のMySQLサーバやレプリケ ーション構成を自動的に検出し監視対 象に追加 • ルールに基づく監視と警告 • 問題が発生する前に通知 • 問題のあるSQL文の検出、統計情報の 分析が可能なQuery Analyzer 44 参照:MySQL Enterprise Monitor "バーチャルなMySQL DBA"
  • 44. Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | クエリ解析機能 - MySQL Query Analyzer • 全てのMySQLサーバの 全てのSQL文を一括監視 • vmstatなどのOSコマンドやMySQLの SHOWコマンドの実行、 ログファイルの個別の監視は不要 • クエリの実行回数、エラー回数、 実行時間、転送データ量などを 一覧表示 • チューニングのための 解析作業を省力化 45 負荷の高い 処理を特定 早期対応と改善
  • 45. Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Backup • InnoDBのオンラインバックアップツール • フル、増分、部分バックアップ(圧縮可能) • マルチスレッドによる並列バックアップ&リカバリ処理 • クラウドストレージとの直接の連携(S3, Swift API) • バックアップの暗号化 – AES 256 • Oracle Secure Backupとの連携 46 高速、オンラインバックアップ & リカバリ MySQL Enterprise Backup の特徴と利点
  • 46. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 47