SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0 最新情報
オープンソースカンファレンス 2017 Tokyo/Fall
OSSコンソーシアム DB部会
Ryusuke Kajiyama / 梶山隆輔
MySQL Global Business Unit
MySQL Sales Consulting Senior Manager, Asia Pacific & Japan
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき
ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするも
のではない為、購買決定を行う際の判断材料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期については、
弊社の裁量により決定されます。
2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
3
4.0
全文検索/GIS (MyISAM)
複数テーブルUPDATE/DELETE
組み込みライブラリ型サーバ
OracleMySQL Sun
3.23
MyISAM
InnoDB
レプリケーション
5.1
プラグガブル・
ストレージエンジン・
アーキテクチャ
パーティショニング
タスクスケジューラ
5.6
memcached API
UNDO表領域
Global Transaction ID
マルチスレッドスレーブ
オンライン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 Boost.Geometry対応
セキュリティ強化
JSONサポート
透過的データ暗号化
SYSスキーマ
8.0
データディクショナリ
UNDO表領域
ロール
共通テーブル式(CTE)
Window関数
ヒストグラム
2020
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0
4
DMR
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0 DMR(開発途上版)
• 2017年9月9日時点の最新版はMySQL 8.0.2
• フィードバック募集中
• バグ報告や機能追加要望はこちらから
– MySQL Bugs
https://bugs.mysql.com/
5
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 6
• アトミックDDL
• 外部キーのためのMDL
• より柔軟なMetadata API
• クロスプラットフォーム運用簡素化
• 信頼性の向上
• InnoDBストレージエンジン (FRM, DB.OPT,TRG,TRN,PARファイル廃止)
• MyISAMストレージエンジンが不要に
データディクショナリ
MySQL 8.0: Improvements
[misc01 foo]# ls -l
合計 112
-rw-r-----. 1 mysql mysql 8631 4月 18 12:30 bar.frm
-rw-r-----. 1 mysql mysql 98304 4月 18 12:30 bar.ibd
-rw-r-----. 1 mysql mysql 61 4月 18 12:30 db.opt
[misc01 foo]#
DMR
メタデータ: RDBMS内のデータに関する情報(列,インデックス,外部キー等の定義)
データ・ディクショナリ: RDBMS内のメタデータの集まり
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 7
MySQL 8.0以前のデータディクショナリ
Data Dictionary
Files
FRM TRG OPT
System Tables (mysql.)
user procevents
InnoDB System Tables
MyISAM
File system
InnoDB
SQL
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 8
MySQL 8.0のトランザクショナル・データディクショナリ
Data Dictionary
InnoDB
SQL
DD TableDD TableDD Table
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
•100 schemas times 50 tables (5000 tables)
Information Schema Performance
0. 1. 2. 3. 4.
Count All Schemas
Schema aggregate size stats
All Dynamic Table Info
All Static Table Info
Auto Increments Near Limit
Count All Columns
Count All Indexes
MySQL 8.0
MySQL 5.7
Time in Seconds (Lower is better)
Already faster at 7/10
queries in our test suite!
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 10
• New! 最新のUnicode9.0をサポート
• デフォルトの文字セットがutf8mb4
UTF-8
• 再帰と非再帰フォーム共にWITH句をサポート
WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’)
SELECT * FROM t1;
Common Table Expressions
• MySQL オプティマイザーに対しての“hidden”インデックス
• “Disabled Indexes”とは異なる
• DMLによってインデックスは更新・維持
Invisible Indexes
MySQL 8.0: Improvements
Feature Request
from DBAs
Feature Request
from Developers
DMR
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
UTF-8
• 最新のUnicode 9.0をサポート
• デフォルトキャラクタセットをutf8mb4に変更
– デフォルト照合順序はutf8mb4_0900_ai_ci
• 国ごとの照合順序を実装
– utf8mb4_ja_0900_as_csを実装済み
• ハハ、パパ問題を解消可能
• as:アクセントセンシティブ(アクセント、濁音、破裂音の区別)
• cs:ケースセンシティブ(大文字、小文字の区別)
– utf8mb4_ja_0900_as_cs_ks も実装済み(8.0.2で実装)
• ks:カナセンシティブ(’あ’ ’ア’ ’ァ’を区別)
11
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 12
0
45000
90000
135000
180000
8 16 64 128 512 1024
SELECT DISTINCT_RANGES
0
10000
20000
30000
40000
8 16 64 128 512 1024
OLTP RO
0
7500
15000
22500
30000
8 16 64 128 512 1024
OLTP RW
MySQL 8.0 vs MySQL 5.7 utf8mb4
+300-350% in OLTP RO
+176-233% in OLTP RW
+1500-1800% in SELECT DISTINCT_RANGES
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 13
Common Table Expressions(WITH句)
• WITH句
• 再帰的なクエリの記述
• 複雑なSQLの簡素化
WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’)
SELECT * FROM t1;
Feature Request
from Developers
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Feature Request
from Developers
Window関数
• Window関数の例:
各部門ごとの合計給与を計算
SELECT name, dept_id, salary,
SUM(salary)
OVER (PARTITION BY dept_id)
AS dept_total
FROM employee
ORDER BY dept_id, name;
14
Name dept_id salary dept_total
Newt NULL 75000 75000
Dag 10 NULL 370000
Ed 10 100000 370000
Fred 10 60000 370000
Jon 10 60000 370000
Michael 10 70000 370000
Newt 10 80000 370000
Lebedev 20 65000 130000
Pete 20 65000 130000
Jeff 30 300000 370000
Will 30 70000 370000
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 15
不可視索引(Invisible Indexes)
• オプティマイザーから見えない索引
– 索引の無効化とは異なる
– データ更新時に不可視索引は更新される
• 2つのユースケース:
– 仮削除(ゴミ箱)
– 索引採用のテスト
Feature Request
from DBAs
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
SELECT… FOR UPDATE の拡張
16
SELECT seat_no
FROM seats
JOIN seat_rows USING ( row_no )
WHERE seat_no IN (3,4)
AND seat_rows.row_no IN (12)
AND booked = 'NO'
FOR UPDATE OF seats SKIP LOCKED
FOR SHARE OF seat_rows NOWAIT;
行が既にロックされてい
れば、その行に対する
ロック取得はあきらめる
行が既にロックされ
ていれば、直ぐに
エラーを返す
Feature Request
from Developers
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 17
MySQL 8.0: Improvements
• 完全性, 柔軟性, 適切に設計されたロール
• ロールのCreate及びDrop, Rolesへの権限付与
• ロール権限を他のロールへ付与, ユーザーへのロール権限付与
Security Roles
• 権限テーブルを100% InnoDBに移行
• ユーザー管理用DDLがATOMICに
Atomicity in Privileges
• Performance Schemaへ効率的なアクセスが可能
• 93テーブルに対して, 115インデックスを付与
Performance Schema Indexes
Up to 30x Faster!
DMR
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
アトミックなユーザー作成、権限付与
• MySQLの長年の課題を解決!
– レプリケーション、バックアップ取得、などに関連
• ユーザー情報、権限情報はInnoDBテーブルで管理される
• 一度に複数処理を行ってもアトミックに処理される
– CREATE USER u1, u2
– GRANT SELECT ON *.* TO u1, u2
• ユーザー管理テーブル、権限管理テーブルに対するロックを
取得することで、一連の操作をアトミックに処理できる
18
Feature Request
from DBAs
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
ロール(権限をまとめて付与/剥奪)
• アクセス制御の改善
• ロール作成/削除、ロールへの権限付与
• ユーザー/ロールに対してロールの付与
• デフォルトロールを定義、
特定のホストのみロールを使用可能
• ROLES_GRAPHML()関数でロールを可視化
19
Feature Request
from DBAs
Directly
In directly
Set Role(s)
Default Role(s)
Set of
ACLS
Set of
ACLS
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
InnoDB Redo/Undo 暗号化
• AES 256 暗号化
• Redo/Undoログがディスクに書き出される時に暗号化される
• Redo/Undoログがディスクから読み込まれる時に複合される
• メモリ上ではRedo/Undoログデータは暗号化されていない
• InnoDB表領域暗号化と同様の2層暗号化鍵管理
–鍵のローテーションが高速、高パフォーマンス
• 簡単に使用可能
– システム変数 innodb_redo_log_encrypt、innodb_undo_log_encrypt で制御
20
Feature Request
from DBAs
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
設定変更の永続化
• 以下の構文でシステム変数の変更を永続化可能
– SET PERSIST
sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
• システム変数変更のためにファイルシステムへのアクセス不要
• 再起動ができない場合などに便利
– my.cnfの修正を忘れるリスクの回避
– my.cnfの書き間違いにより再起動に失敗するリスクの回避
• システム変数がいつ、どこで、誰に設定されたかを確認出来る情報も追加
(performance_schema.variables_info)
21
Cloud Friendly
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQL ドキュメントストア
22
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
コネクター, ドライバー, プロトコル拡張機能
MySQL
Plugins
X Protocol Plugin Memcached Plugin
Core
MySQL Connectors and Drivers
X ProtocolStd Protocol
Memcached
driver
X Protocol
33060
Std Protocol
3306
SQL API CRUD and SQL APIs
Memcache
Protocol
X and Std
Protocols
MySQL
Shell
23
+-------------+----------------+--------------------+
| PLUGIN_NAME | PLUGIN_VERSION | PLUGIN_DESCRIPTION |
+-------------+----------------+--------------------+
| mysqlx | 1.0 | X Plugin for MySQL |
+-------------+----------------+--------------------+
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
X DevAPI
• X Pluginを有効にする事で、X Protocol経由で通信可能
• ドキュメントとテーブルのコレクションに対してのCRUD処理
• NoSQLライクな構文でドキュメントに対しCRUD処理可能
• Fluent API
prod = sess.getSchema("prod")
res = prod.users.
find("$.name = 'Milk'").
fields(["name", "properties"])
X Plugin (MySQL) ⇔ X Protocol ⇔ X DevAPI (Driver)
24
 MySQL Connector/node.js (1.0.x)
 MySQL Connector/J (6.0.x)
 MySQL Connector/Net (7.0.x)
 MySQL Connector/python(2.2.x)
 MySQL Shell (1.0.x)
参照: http://dev.mysql.com/downloads/connector/
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQL グループレプリケーション
& MySQL InnoDB Cluster
25
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQL Group Replication
“Multi-master update anywhere replication plugin for MySQL
with built-in conflict detection and resolution, automatic
distributed recovery, and group membership.”
• Active/Active構成でどのノードからでも更新可能
• 分散型フォールトトレランス
• 自動的にサーバーのフェイルオーバーを行う
• 自動再構成
• 自動的に競合検出&解消
26
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
GA
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB Clusterとは?
• 以下のコンポーネントの組み合わせから構成される
MySQLの高可用性フレームワーク
– MySQL Group Replication
• DBの読み取り拡張性、自動フェイルオーバーを提供
– MySQL Router
• アプリ接続先の自動フェイルオーバーを提供
– MySQL Shell
• グループ・レプリケーション環境の構築、設定、Routerの設定
27
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQLの最新情報配信
• MySQLホームページ
http://www-jp.mysql.com/
• MySQL イベント
http://www-jp.mysql.com/news-and-events/events/
• MySQLニュースレター(月刊)※マイプロファイル内からMySQLを選択ください
http://www.oracle.com/jp/syndication/subscribe/index.html
• MySQL Twitter
@mysql_jp
• OTN セミナー オンデマンド コンテンツ
http://www-jp.mysql.com/news-and-events/generate-article.php?id=1709
28
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 29
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (19)

States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会
 
ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報
 
MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)
 
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
 
Locondo 20190703@inno db_cluster
Locondo 20190703@inno db_clusterLocondo 20190703@inno db_cluster
Locondo 20190703@inno db_cluster
 
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_public
 
Oracle GoldenGate Cloud Serviceユーザーズガイド
Oracle GoldenGate Cloud ServiceユーザーズガイドOracle GoldenGate Cloud Serviceユーザーズガイド
Oracle GoldenGate Cloud Serviceユーザーズガイド
 
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
 
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
 
Oracle GoldenGate Veridata 12cR2 セットアップガイド
Oracle GoldenGate Veridata 12cR2 セットアップガイドOracle GoldenGate Veridata 12cR2 セットアップガイド
Oracle GoldenGate Veridata 12cR2 セットアップガイド
 
Oracle GoldenGate Studioセットアップガイド
Oracle GoldenGate StudioセットアップガイドOracle GoldenGate Studioセットアップガイド
Oracle GoldenGate Studioセットアップガイド
 
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
 
【第五回 ゼロからはじめる Oracle Solaris 11】02 既存環境を Solaris ゾーンに移行する際に押さえておきたいポイントと勘所
【第五回 ゼロからはじめる Oracle Solaris 11】02 既存環境を Solaris ゾーンに移行する際に押さえておきたいポイントと勘所【第五回 ゼロからはじめる Oracle Solaris 11】02 既存環境を Solaris ゾーンに移行する際に押さえておきたいポイントと勘所
【第五回 ゼロからはじめる Oracle Solaris 11】02 既存環境を Solaris ゾーンに移行する際に押さえておきたいポイントと勘所
 
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
 
Oracle GoldenGate FAQ
Oracle GoldenGate FAQOracle GoldenGate FAQ
Oracle GoldenGate FAQ
 
Oracle GoldenGate R12.2 セットアップガイド
Oracle GoldenGate R12.2 セットアップガイドOracle GoldenGate R12.2 セットアップガイド
Oracle GoldenGate R12.2 セットアップガイド
 

Ähnlich wie [OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0

MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
Ryusuke Kajiyama
 
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
Insight Technology, Inc.
 
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
Machiko Ikoma
 
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
Machiko Ikoma
 

Ähnlich wie [OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0 (20)

[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
 
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
 
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
 
MySQL 開発最新動向
MySQL 開発最新動向MySQL 開発最新動向
MySQL 開発最新動向
 
MySQL最新情報
MySQL最新情報MySQL最新情報
MySQL最新情報
 
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
 
MySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL WorkbenchMySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL Workbench
 
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
 
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
 
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
 
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
 
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
 
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
 
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
 
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
 

Mehr von Ryusuke Kajiyama

Mehr von Ryusuke Kajiyama (17)

[OSC 2020 Online/Nagoya] MySQLドキュメントストア
[OSC 2020 Online/Nagoya] MySQLドキュメントストア[OSC 2020 Online/Nagoya] MySQLドキュメントストア
[OSC 2020 Online/Nagoya] MySQLドキュメントストア
 
[OSC 2020 Osaka] MySQL"超"入門
[OSC 2020 Osaka] MySQL"超"入門[OSC 2020 Osaka] MySQL"超"入門
[OSC 2020 Osaka] MySQL"超"入門
 
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
 
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
 
[Java Küche RDB 最前線 2015] MySQL 5.7技術アップデート
[Java Küche RDB 最前線 2015] MySQL 5.7技術アップデート[Java Küche RDB 最前線 2015] MySQL 5.7技術アップデート
[Java Küche RDB 最前線 2015] MySQL 5.7技術アップデート
 
[db tech showcase 2015 Sapporo HOKKAIDO] MySQL as document database!?
[db tech showcase 2015 Sapporo HOKKAIDO] MySQL as document database!?[db tech showcase 2015 Sapporo HOKKAIDO] MySQL as document database!?
[db tech showcase 2015 Sapporo HOKKAIDO] MySQL as document database!?
 
[db tech showcase 2015 Sapporo HOKKAIDO] MySQL 5.7
[db tech showcase 2015 Sapporo HOKKAIDO] MySQL 5.7[db tech showcase 2015 Sapporo HOKKAIDO] MySQL 5.7
[db tech showcase 2015 Sapporo HOKKAIDO] MySQL 5.7
 
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCTWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RC
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
State of the Dolphin, at db tech showcase Osaka 2014
State of the Dolphin, at db tech showcase Osaka 2014State of the Dolphin, at db tech showcase Osaka 2014
State of the Dolphin, at db tech showcase Osaka 2014
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
2012.10.20 OSC 2012 Hiroshima
2012.10.20 OSC 2012 Hiroshima2012.10.20 OSC 2012 Hiroshima
2012.10.20 OSC 2012 Hiroshima
 
MySQL de NoSQL Fukuoka
MySQL de NoSQL FukuokaMySQL de NoSQL Fukuoka
MySQL de NoSQL Fukuoka
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0 最新情報 オープンソースカンファレンス 2017 Tokyo/Fall OSSコンソーシアム DB部会 Ryusuke Kajiyama / 梶山隆輔 MySQL Global Business Unit MySQL Sales Consulting Senior Manager, Asia Pacific & Japan
  • 2. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするも のではない為、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量により決定されます。 2
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 3 4.0 全文検索/GIS (MyISAM) 複数テーブルUPDATE/DELETE 組み込みライブラリ型サーバ OracleMySQL Sun 3.23 MyISAM InnoDB レプリケーション 5.1 プラグガブル・ ストレージエンジン・ アーキテクチャ パーティショニング タスクスケジューラ 5.6 memcached API UNDO表領域 Global Transaction ID マルチスレッドスレーブ オンライン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 Boost.Geometry対応 セキュリティ強化 JSONサポート 透過的データ暗号化 SYSスキーマ 8.0 データディクショナリ UNDO表領域 ロール 共通テーブル式(CTE) Window関数 ヒストグラム 2020
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. MySQL 8.0 4 DMR
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. MySQL 8.0 DMR(開発途上版) • 2017年9月9日時点の最新版はMySQL 8.0.2 • フィードバック募集中 • バグ報告や機能追加要望はこちらから – MySQL Bugs https://bugs.mysql.com/ 5
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 6 • アトミックDDL • 外部キーのためのMDL • より柔軟なMetadata API • クロスプラットフォーム運用簡素化 • 信頼性の向上 • InnoDBストレージエンジン (FRM, DB.OPT,TRG,TRN,PARファイル廃止) • MyISAMストレージエンジンが不要に データディクショナリ MySQL 8.0: Improvements [misc01 foo]# ls -l 合計 112 -rw-r-----. 1 mysql mysql 8631 4月 18 12:30 bar.frm -rw-r-----. 1 mysql mysql 98304 4月 18 12:30 bar.ibd -rw-r-----. 1 mysql mysql 61 4月 18 12:30 db.opt [misc01 foo]# DMR メタデータ: RDBMS内のデータに関する情報(列,インデックス,外部キー等の定義) データ・ディクショナリ: RDBMS内のメタデータの集まり
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 7 MySQL 8.0以前のデータディクショナリ Data Dictionary Files FRM TRG OPT System Tables (mysql.) user procevents InnoDB System Tables MyISAM File system InnoDB SQL
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 8 MySQL 8.0のトランザクショナル・データディクショナリ Data Dictionary InnoDB SQL DD TableDD TableDD Table
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. •100 schemas times 50 tables (5000 tables) Information Schema Performance 0. 1. 2. 3. 4. Count All Schemas Schema aggregate size stats All Dynamic Table Info All Static Table Info Auto Increments Near Limit Count All Columns Count All Indexes MySQL 8.0 MySQL 5.7 Time in Seconds (Lower is better) Already faster at 7/10 queries in our test suite!
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 10 • New! 最新のUnicode9.0をサポート • デフォルトの文字セットがutf8mb4 UTF-8 • 再帰と非再帰フォーム共にWITH句をサポート WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’) SELECT * FROM t1; Common Table Expressions • MySQL オプティマイザーに対しての“hidden”インデックス • “Disabled Indexes”とは異なる • DMLによってインデックスは更新・維持 Invisible Indexes MySQL 8.0: Improvements Feature Request from DBAs Feature Request from Developers DMR
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. UTF-8 • 最新のUnicode 9.0をサポート • デフォルトキャラクタセットをutf8mb4に変更 – デフォルト照合順序はutf8mb4_0900_ai_ci • 国ごとの照合順序を実装 – utf8mb4_ja_0900_as_csを実装済み • ハハ、パパ問題を解消可能 • as:アクセントセンシティブ(アクセント、濁音、破裂音の区別) • cs:ケースセンシティブ(大文字、小文字の区別) – utf8mb4_ja_0900_as_cs_ks も実装済み(8.0.2で実装) • ks:カナセンシティブ(’あ’ ’ア’ ’ァ’を区別) 11
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 12 0 45000 90000 135000 180000 8 16 64 128 512 1024 SELECT DISTINCT_RANGES 0 10000 20000 30000 40000 8 16 64 128 512 1024 OLTP RO 0 7500 15000 22500 30000 8 16 64 128 512 1024 OLTP RW MySQL 8.0 vs MySQL 5.7 utf8mb4 +300-350% in OLTP RO +176-233% in OLTP RW +1500-1800% in SELECT DISTINCT_RANGES
  • 13. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 13 Common Table Expressions(WITH句) • WITH句 • 再帰的なクエリの記述 • 複雑なSQLの簡素化 WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’) SELECT * FROM t1; Feature Request from Developers
  • 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. Feature Request from Developers Window関数 • Window関数の例: 各部門ごとの合計給与を計算 SELECT name, dept_id, salary, SUM(salary) OVER (PARTITION BY dept_id) AS dept_total FROM employee ORDER BY dept_id, name; 14 Name dept_id salary dept_total Newt NULL 75000 75000 Dag 10 NULL 370000 Ed 10 100000 370000 Fred 10 60000 370000 Jon 10 60000 370000 Michael 10 70000 370000 Newt 10 80000 370000 Lebedev 20 65000 130000 Pete 20 65000 130000 Jeff 30 300000 370000 Will 30 70000 370000
  • 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 15 不可視索引(Invisible Indexes) • オプティマイザーから見えない索引 – 索引の無効化とは異なる – データ更新時に不可視索引は更新される • 2つのユースケース: – 仮削除(ゴミ箱) – 索引採用のテスト Feature Request from DBAs
  • 16. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. SELECT… FOR UPDATE の拡張 16 SELECT seat_no FROM seats JOIN seat_rows USING ( row_no ) WHERE seat_no IN (3,4) AND seat_rows.row_no IN (12) AND booked = 'NO' FOR UPDATE OF seats SKIP LOCKED FOR SHARE OF seat_rows NOWAIT; 行が既にロックされてい れば、その行に対する ロック取得はあきらめる 行が既にロックされ ていれば、直ぐに エラーを返す Feature Request from Developers
  • 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 17 MySQL 8.0: Improvements • 完全性, 柔軟性, 適切に設計されたロール • ロールのCreate及びDrop, Rolesへの権限付与 • ロール権限を他のロールへ付与, ユーザーへのロール権限付与 Security Roles • 権限テーブルを100% InnoDBに移行 • ユーザー管理用DDLがATOMICに Atomicity in Privileges • Performance Schemaへ効率的なアクセスが可能 • 93テーブルに対して, 115インデックスを付与 Performance Schema Indexes Up to 30x Faster! DMR
  • 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. アトミックなユーザー作成、権限付与 • MySQLの長年の課題を解決! – レプリケーション、バックアップ取得、などに関連 • ユーザー情報、権限情報はInnoDBテーブルで管理される • 一度に複数処理を行ってもアトミックに処理される – CREATE USER u1, u2 – GRANT SELECT ON *.* TO u1, u2 • ユーザー管理テーブル、権限管理テーブルに対するロックを 取得することで、一連の操作をアトミックに処理できる 18 Feature Request from DBAs
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. ロール(権限をまとめて付与/剥奪) • アクセス制御の改善 • ロール作成/削除、ロールへの権限付与 • ユーザー/ロールに対してロールの付与 • デフォルトロールを定義、 特定のホストのみロールを使用可能 • ROLES_GRAPHML()関数でロールを可視化 19 Feature Request from DBAs Directly In directly Set Role(s) Default Role(s) Set of ACLS Set of ACLS
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. InnoDB Redo/Undo 暗号化 • AES 256 暗号化 • Redo/Undoログがディスクに書き出される時に暗号化される • Redo/Undoログがディスクから読み込まれる時に複合される • メモリ上ではRedo/Undoログデータは暗号化されていない • InnoDB表領域暗号化と同様の2層暗号化鍵管理 –鍵のローテーションが高速、高パフォーマンス • 簡単に使用可能 – システム変数 innodb_redo_log_encrypt、innodb_undo_log_encrypt で制御 20 Feature Request from DBAs
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 設定変更の永続化 • 以下の構文でシステム変数の変更を永続化可能 – SET PERSIST sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'; • システム変数変更のためにファイルシステムへのアクセス不要 • 再起動ができない場合などに便利 – my.cnfの修正を忘れるリスクの回避 – my.cnfの書き間違いにより再起動に失敗するリスクの回避 • システム変数がいつ、どこで、誰に設定されたかを確認出来る情報も追加 (performance_schema.variables_info) 21 Cloud Friendly
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. MySQL ドキュメントストア 22
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. コネクター, ドライバー, プロトコル拡張機能 MySQL Plugins X Protocol Plugin Memcached Plugin Core MySQL Connectors and Drivers X ProtocolStd Protocol Memcached driver X Protocol 33060 Std Protocol 3306 SQL API CRUD and SQL APIs Memcache Protocol X and Std Protocols MySQL Shell 23 +-------------+----------------+--------------------+ | PLUGIN_NAME | PLUGIN_VERSION | PLUGIN_DESCRIPTION | +-------------+----------------+--------------------+ | mysqlx | 1.0 | X Plugin for MySQL | +-------------+----------------+--------------------+
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. X DevAPI • X Pluginを有効にする事で、X Protocol経由で通信可能 • ドキュメントとテーブルのコレクションに対してのCRUD処理 • NoSQLライクな構文でドキュメントに対しCRUD処理可能 • Fluent API prod = sess.getSchema("prod") res = prod.users. find("$.name = 'Milk'"). fields(["name", "properties"]) X Plugin (MySQL) ⇔ X Protocol ⇔ X DevAPI (Driver) 24  MySQL Connector/node.js (1.0.x)  MySQL Connector/J (6.0.x)  MySQL Connector/Net (7.0.x)  MySQL Connector/python(2.2.x)  MySQL Shell (1.0.x) 参照: http://dev.mysql.com/downloads/connector/
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. MySQL グループレプリケーション & MySQL InnoDB Cluster 25
  • 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. MySQL Group Replication “Multi-master update anywhere replication plugin for MySQL with built-in conflict detection and resolution, automatic distributed recovery, and group membership.” • Active/Active構成でどのノードからでも更新可能 • 分散型フォールトトレランス • 自動的にサーバーのフェイルオーバーを行う • 自動再構成 • 自動的に競合検出&解消 26 App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate GA
  • 27. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB Clusterとは? • 以下のコンポーネントの組み合わせから構成される MySQLの高可用性フレームワーク – MySQL Group Replication • DBの読み取り拡張性、自動フェイルオーバーを提供 – MySQL Router • アプリ接続先の自動フェイルオーバーを提供 – MySQL Shell • グループ・レプリケーション環境の構築、設定、Routerの設定 27 App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate
  • 28. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. MySQLの最新情報配信 • MySQLホームページ http://www-jp.mysql.com/ • MySQL イベント http://www-jp.mysql.com/news-and-events/events/ • MySQLニュースレター(月刊)※マイプロファイル内からMySQLを選択ください http://www.oracle.com/jp/syndication/subscribe/index.html • MySQL Twitter @mysql_jp • OTN セミナー オンデマンド コンテンツ http://www-jp.mysql.com/news-and-events/generate-article.php?id=1709 28
  • 29. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 29

Hinweis der Redaktion

  1. We expect a number of these queries in 8.0 to get faster over time (everyone knows optimization comes last).   But the amazing point is that we are already starting from a position where we are faster at 7/10 queries. In the cases where we are faster, we are much faster. In the cases where we are slower it is usually negligible.
  2. Earlier Improvements: variable length sort buffer, faster temporary tables.
  3. Earlier Improvements: variable length sort buffer, faster temporary tables.
  4. UTF8MB4 is now the default character set. In general transaction processing workloads, such as OLTP Read Only and Read write the gain is 300% compared to MySQL 5.7. This is not the result of one specific change - but a number of changes and several man years of work. This improvement is true for all thread counts, so for many of you who are already using utf8 in your applications, you will see a good real-life performance improvement just by upgrading to 8.0.
  5. Not neglecting SQL. We have added CTEs CTEs are statement duration views. The inner view here does not have to materialize it, we can merge it just like a view.
  6. One of our most requested features amongst large web customers is the ability to handle hot rows. The use-case here might be updating popular inventory in a commerce application or worker threads reading rows from a database. You now have the option to generate an error immediately if locks could not be acquired, or non deterministically executing the query by skipping the locked rows. You can actually use both modifiers in the same query, as in the example here. In a seat reservation system I am trying to exclusively lock my seats, and shared lock to make sure my row or section of the stadium is available for booking. More context and examples available in martin’s blog post.
  7. https://developers.google.com/protocol-buffers/docs/proto?csw=1#scalar