SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MYSQL	
  5.7	
  &	
  最新情報	
  
Ryusuke	
  Kajiyama	
  /	
  梶山隆輔	
  /	
  @RKajiyama	
  
MySQL	
  Sales	
  ConsulIng	
  Senior	
  Manager,	
  Asia	
  Pacific	
  &	
  Japan	
  
The	
  State	
  of	
  the	
  Dolphin
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
以下の事項は、弊社の⼀一般的な製品の⽅方向性に関する概要を説明するものです。
また、情報提供を唯⼀一の⽬目的とするものであり、いかなる契約にも組み込むことはできません。
以下の事項は、マテリアルやコード、機能を提供することをコミットメントするものではない為
、購買決定を⾏行行う際の判断材料料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期については、
弊社の裁量量により決定されます。
SAFE	
  HARBOR	
  STATEMENT	
  
2	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
The	
  world's	
  most	
  popular	
  open	
  source	
  database	
  
世界で最も普及しているオープンソース データベース	
  
3
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   4	
20	
 15	
10	
 5	
	
  A	
  Year	
  of	
  Anniversaries!
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   5	
20	
  MySQL公開から20年	
  
15	
  日本MySQLユーザ会ドメイン登録から15年	
10	
  オラクルによるInnobase買収から10年	
5	
  オラクルによるサン買収から5年	
	
  A	
  Year	
  of	
  Anniversaries!
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Key	
  announcements	
  in	
  Jan-­‐Apr	
  2015	
MySQL	
  Cluster	
  7.4	
  GA	
  
•  200	
  Million	
  NoSQL	
  Reads/
Sec	
  
•  2.5M	
  SQL	
  Ops/Sec	
  
•  50%	
  Faster	
  Reads	
  
•  40%	
  Faster	
  Mixed	
  
•  5X	
  Faster	
  Maintenance	
  
Ops	
  
MySQL	
  Enterprise	
  
Firewall	
  
•  Real	
  Time	
  ProtecIon	
  
•  Blocks	
  SQL	
  InjecIon	
  
Abacks	
  
•  Block	
  Suspicious	
  Traffic	
  
•  Learns	
  White	
  List	
  	
  
•  Transparent	
  
MySQL	
  5.7	
  RC	
  
	
  
•  2	
  X	
  Faster	
  than	
  MySQL	
  5.6	
  
•  New	
  OpImizer	
  Cost	
  
Model	
  
•  ReplicaIon	
  
Improvements	
  
•  InnoDB	
  FTS	
  CJK	
  Support	
  
6
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   7	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  MySQL製品のシンプルで便利なインス
トール&アップグレード方法を提供	
  
•  下記のディストリビューション向け	
  
–  Oracle,	
  Red	
  Hat,	
  CentOS	
  	
  
–  Fedora	
  
–  Ubuntu,	
  Debian	
  
•  まもなく提供開始予定	
  
–  SUSE	
  
–  構成済みコンテナ	
  
–  利用者の多いDevOpsデプロイツールのサ
ポート	
  
•  下記の最新リリースを含む	
  
–  MySQL	
  Database	
  
–  MySQL	
  Workbench	
  
–  MySQL	
  Connector/ODBC	
  
–  MySQL	
  Connector/Python	
  
–  MySQL	
  Connector/NET	
  
–  MySQL	
  UIliIes	
  
	
  
	
  
8	
  
MySQLコミュニティレポジトリ:	
  Yum,	
  APT,	
  NuGET	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
GitHubへのMySQLソースコードの掲載	
  
•  MySQL開発チームのGit	
  
–  各ディストリビューションにてより迅速、柔軟に	
  
–  優れたツールの利用が可能に	
  
–  幅広くいコミュニティとの交流	
  
•  GitHub	
  for	
  MySQL	
  Community	
  
–  コミュニティや関連プロジェクトへのより簡単かつ高速なソースコードの提供	
  
–  ベータ版のレポジトリ: hbps://github.com/mysql	
  
–  詳細:	
  hbp://mysqlrelease.com	
  
9	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.6	
  リファレンスマニュアル日本語版	
hCp://dev.mysql.com/doc/refman/5.6/ja/index.html	
10
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Enterprise	
  EdiIon	
11
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Enterprise	
  Backup	
  
• オンラインバックアップ/リカバリ	
  
• クラウドストレージへバックアップ	
• 差分バックパック	
  &	
  ポイントイン
タイムリカバリ	
  
MySQL	
  Enterprise	
  Security	
  
• 外部認証との統合 (PAM,	
  
Windows,	
  LDAP,	
  etc.)	
  
• MySQL	
  Enterprise	
  Monitorで
のセキュリティアドバイザ	
MySQL	
  Enterprise	
  EncrypPon	
  
• AES256による対称暗号	
  
• 公開鍵方式 /	
  非対称暗号	
  
• 暗号学的ハッシュによる電子署
名、照合および妥当性確認	
  
MySQL	
  Enterprise	
  Audit	
  
• 接続、ログインおよびSQL実行
の記録	
  
• ポリシーベースのフィルタリン
グおよびログ切り替え	
  
• オラクルの監査仕様に準拠し
たXMLベースの出力	
  
MySQL	
  Enterprise	
  EdiIonによるデータ保護	
12
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Enterprise	
  Firewall	
  
•  SQL	
  InjecIon	
  ProtecIon	
  with	
  PosiIve	
  Security	
  Model	
  
•  Out	
  of	
  policy	
  database	
  transacIons	
  detected	
  and	
  blocked	
  
•  Logging	
  &	
  Analysis	
  
Select *.* from employee where id=22!
Select *.* from employee where id=22 or 1=1!
Block	
  &	
  Log	
  ✖ 	
  
Allow	
  &	
  Log	
  ✔	
  
White	
  List	
  ApplicaPons	
  
13	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Enterprise	
  Firewall	
  Details	
  
•  Firewall	
  operaIon	
  is	
  turned	
  on	
  at	
  a	
  per	
  user	
  level	
  
•  Per	
  User	
  States	
  are	
  	
  
– RECORDING	
  
– PROTECTING	
  
– OFF	
  
14	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
What	
  happens	
  when	
  SQL	
  is	
  blocked?	
  
•  The	
  client	
  applicaIon	
  gets	
  an	
  ERROR	
  
mysql> SELECT first_name, last_name FROM customer WHERE customer_id = 1 OR TRUE;
ERROR 1045 (28000): Statement was blocked by Firewall
mysql> SHOW DATABASES;
ERROR 1045 (28000): Statement was blocked by Firewall
mysql> TRUNCATE TABLE mysql.user;
ERROR 1045 (28000): Statement was blocked by Firewall	
  
•  Reported	
  to	
  the	
  Error	
  Log	
  
•  Increment	
  Counter	
  
15	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL Enterprise Edition & Cluster CGEの評価
30日間トライアル
•  Oracle Software Delivery Cloud
http://edelivery.oracle.com/
•  製品パックを選択:
“MySQL Database”
•  製品マニュアル	
  
hbp://dev.mysql.com/doc/index-­‐
enterprise.html	
  
 
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Cluster	
  7.4	
  GA	
17
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Cluster:	
  SQL	
  and	
  NoSQL	
  Hybrid	
  APIs	
MySQL	
  Cluster	
  Data	
  Nodes	
  
Apps	
 Apps	
 Apps	
 Apps	
 Apps	
 Apps	
 Apps	
 Apps	
 Apps	
 Apps	
 Apps	
JPA	
Cluster	
  JPA	
PHP	
 Perl	
 Python	
 Ruby	
 JDBC	
 Cluster	
  J	
 JS	
 Memcached	
MySQL	
 JNI	
 Node.JS	
 ndb_eng	
NDB	
  API	
  (C++)	
18
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Cluster	
  7.4	
  GA	
  
•  200	
  Million	
  NoSQL	
  
Reads/Sec	
  
•  2.5M	
  SQL	
  Ops/Sec	
  
•  50%	
  Faster	
  Reads	
  
•  40%	
  Faster	
  Mixed	
  
Performance	
  
•  AcIve-­‐AcIve	
  
Geographic	
  
Redundancy	
  
•  Conflict	
  DetecIon/
ResoluIon	
  
AcIve-­‐AcIve	
  
•  5X	
  Faster	
  
Maintenance	
  Ops	
  
•  Detailed	
  ReporIng	
  
Management	
  
19	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  製品ロードマップ	
  
	
  
	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   21	
4.0	
  
全文検索/GIS	
  (MyISAM)	
  
複数テーブルUPDATE/DELETE	
  
組み込みライブラリ型サーバ	
Oracle	
  MySQL	
   Sun	
  
3.23	
  
MyISAM	
  
InnoDB	
  
レプリケーション	
  
5.1	
  
プラグガブル・	
  
	
  ストレージエンジン・	
  
	
  アーキテクチャ	
パーティショニング	
  
タスクスケジューラ	
5.6	
  
memcached	
  API	
  
UNDO表領域	
  
Global	
  TransacIon	
  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	
  (InnoDB)	
  
セキュリティ強化	
  
データディクショナリ	
  
NoSQLオプション	
  
	
  
	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  性能	
  
– ミューテックスの分割	
  
– 参照専用トランザクション	
  
– SSDへの最適化	
  
– UNDO表領域	
  
– サブクエリ高速化	
  
– JSON	
  EXPLAIN	
  
– Memcached	
  API	
  
•  可用性	
– Global	
  TransacIon	
  ID	
  
– 自動フェールオーバー	
  
– マルチスレッド・スレーブ	
  
– Binlog	
  グループ・コミット	
  
– 行ベース・レプリケーショ
ン最適化	
  
– クラッシュセーフ・	
  
スレーブ	
  
– チェックサム	
22	
•  運用効率	
  
– オンラインALTER	
  TABLE	
  
– バッファプールのダンプ	
  
およびインポート	
  
– トランスポータブル	
  
表領域	
  
– セキュリティ強化	
  
•  パスワードポリシー	
  
•  SHA256	
  
•  パスワード失効	
  
MySQL5.6での機能拡張
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7	
  RC	
23
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7	
  Release	
  Candidate	
  Available!	
  
24	
  
InnoDBの機能拡張:	
  	
  
Online&Bulk	
  load	
  オペレーション高速化	
  
レプリケーションの改善	
  
	
  (mulI-­‐source,	
  mulI-­‐threaded	
  slaves等)	
  
新しいオプティマイザコストモデル:	
  
greater	
  user	
  control	
  &	
  beber	
  query	
  performance	
  
Performance	
  Schema改善	
  
MySQL	
  SYS	
  Schema改善	
  
パフォーマンス	
  &	
  拡張性	
   管理性	
  
MySQL	
  5.6比2倍の速度	
  
セキュリティの向上:	
  	
  
より安全な初期化,	
  セットアップ&管理	
  
NEW!	
  JSONのSupport	
  (now	
  in	
  labs)	
  
RC	
  
And	
  many	
  more	
  new	
  features	
  and	
  enhancements...	
  hbp://mysqlserverteam.com/the-­‐mysql-­‐5-­‐7-­‐7-­‐release-­‐candidate-­‐is-­‐available/	
  	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
0	
  
100,000	
  
200,000	
  
300,000	
  
400,000	
  
500,000	
  
600,000	
  
700,000	
  
8	
   16	
   32	
   64	
   128	
   256	
   512	
   1,024	
  
Queries	
  per	
  Second	
  
ConnecPons	
  
MySQL	
  5.7:	
  Sysbench	
  Read	
  Only	
  (Point	
  Select)	
  
MySQL	
  5.7	
  
MySQL	
  5.6	
  
MySQL	
  5.5	
  
MySQL	
  5.7:	
  Sysbench	
  Benchmark	
  
	
  
Intel(R)	
  Xeon(R)	
  CPU	
  E7-­‐4860	
  x86_64	
  
4	
  sockets	
  x	
  10	
  cores-­‐HT	
  (80	
  CPU	
  threads)	
  
2.3	
  GHz,	
  512	
  GB	
  RAM	
  
Oracle	
  Linux	
  6.5	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  2x	
  Faster	
  than	
  MySQL	
  5.6	
  
	
   	
   	
   	
  3x	
  Faster	
  than	
  MySQL	
  5.5	
  
645,000	
  QPS	
  
25	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
  オプティマイザ	
  –	
  新コストモデル	
  	
  
	
  
SQL文の実行性能を向上	
  
	
  
•  新しいコストモデルによりストレージエンジンでの処理を改善	
  
– 	
  より正確で動的なコスト見積もり	
  
– 	
  キーの参照、テーブルスキャン、レンジスキャン、インデックススキャンなど	
  
•  様々な追加要素にてコストを設定可能	
  
– ディスクI/O処理性能	
  
– メモリ処理性能	
  
•  インデックスからレコードへの参照の見積もり改善	
  
•  コストの値はEXPLAINのJSON出力に含まれる	
  
	
  
26	
  
labs.mysql.com	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
  OpImizer	
  -­‐	
  JSON	
  EXPLAINへのコスト情報追加	
  
	
  
•  JSON	
  EXPLAINを拡張	
  
– 出力可能なコスト情報を全て表示	
  
– MySQL	
  WorkbenchのVisual	
  Explainにも表示	
  
{
"query_block": {
"select_id": 1,
"cost_info": {
"query_cost": "200.40"
},
"table": {
"table_name": "nicer_but_slower_film_list",
"access_type": "ALL",
"rows_examined_per_scan": 992,
"rows_produced_per_join": 992,
"filtered": 100,
"cost_info": {
"read_cost": "2.00",
"eval_cost": "198.40",
"prefix_cost": "200.40",
"data_read_per_join": "852K"
},
"used_columns": [
"FID",
"title",
"description",
"category",
"price",
"length",
"rating",
"actors"
],
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
InnoDB	
  -­‐	
  General	
  Tablespace	
  Support	
28	
A	
  general	
  tablespace	
  is	
  a	
  shared	
  tablespace,	
  similar	
  to	
  the	
  system	
  tablespace.	
  It	
  can	
  hold	
  mulIple	
  tables,	
  and	
  supports	
  all	
  
table	
  row	
  formats.	
  General	
  tablespaces	
  can	
  also	
  be	
  created	
  in	
  a	
  locaIon	
  relaIve	
  to	
  or	
  independent	
  of	
  the	
  data	
  directory.	
  	
[USER01]>	
  CREATE	
  TABLESPACE	
  U_TABLESPACE01	
  ADD	
  DATAFILE	
  '/home/mysql/user_tablespace01.ibd'	
  Engine=InnoDB;	
  
Query	
  OK,	
  0	
  rows	
  affected	
  (0.01	
  sec)	
  
[USER01]>	
  CREATE	
  TABLESPACE	
  U_TABLESPACE02_8K	
  ADD	
  DATAFILE	
  '/home/mysql/user_tablespace02_8k.ibd'	
  FILE_BLOCK_SIZE	
  =	
  	
  8192	
  Engine=InnoDB;	
  
Query	
  OK,	
  0	
  rows	
  affected	
  (0.01	
  sec)	
  
	
  
[USER01]>	
  CREATE	
  TABLE	
  `T_USER01`	
  (	
  
>	
  	
  `id`	
  int(11)	
  NOT	
  NULL	
  AUTO_INCREMENT,	
  `text`	
  varchar(100)	
  DEFAULT	
  NULL,	
  PRIMARY	
  KEY	
  (`id`)	
  
>	
  	
  )	
  TABLESPACE	
  =	
  U_TABLESPACE01	
  ENGINE=InnoDB	
  AUTO_INCREMENT=1	
  DEFAULT	
  CHARSET=u•8mb4;	
  
Query	
  OK,	
  0	
  rows	
  affected	
  (0.01	
  sec)	
  
	
  
	
  [USER01]>	
  CREATE	
  TABLE	
  `T_USER02_8K`	
  (	
  
>	
  `id`	
  int(11)	
  NOT	
  NULL	
  AUTO_INCREMENT,	
  `text`	
  varchar(100)	
  DEFAULT	
  NULL,	
  PRIMARY	
  KEY	
  (`id`)	
  
>)	
  TABLESPACE	
  =	
  U_TABLESPACE02_8K	
  ENGINE=InnoDB	
  AUTO_INCREMENT=1	
  DEFAULT	
  CHARSET=u•8mb4	
  	
  
>	
  ROW_FORMAT=COMPRESSED	
  KEY_BLOCK_SIZE	
  =8;	
  
Query	
  OK,	
  0	
  rows	
  affected	
  (0.00	
  sec)	
参照:13.1.15	
  CREATE	
  TABLESPACE	
  Syntax	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
InnoDB	
  -­‐	
  	
  Temporary	
  Tables	
  
•  一時テーブル専用の表領域を新規追加	
  
– CREATE/DROPのパフォーマンスを改善	
  
– DDLによる変更が短縮され,一部ディスクI/Oも削減	
  
•  DMLオペレーションの最適化	
  
– No	
  REDO	
  logging,	
  no	
  change	
  buffering,	
  less	
  locking	
  
•  内部的な新たなテンポラリーテーブル	
  
– ACID/MVCCに対応した専用の一時テーブル	
  
– 軽量且つ超高速で、中間のクエリの実行操作に最適	
  
29	
  
参照:14.11	
  InnoDB	
  Startup	
  OpPons	
  and	
  System	
  Variables	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
クエリ・リライト・プラグイン
•  クエリの書き換え	
  (パースの前と後)	
  	
  
•  パースした後での書き換えプラグイン	
  
– アプリケーションを変更することなく問題のあるクエリを書き換
え	
  
– ヒントの追加	
  
– JOIN順の変更	
  
•  ORマッパーやサードパーティ製のアプリなどが発行する	
  
問題となり得るクエリなどに対応	
  
30	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
InnoDB	
  -­‐	
  Full	
  Text	
  Search	
  (FTS)	
日本語、中国語、韓国語をサポート	
•  N-­‐gramによる全文検索インデックス	
  
– 日本語、中国語、韓国語に対応	
  
•  mecabによる全文検索インデックス	
  
– 日本語のみ対応	
31	
CREATE TABLE `N_DEMO`(
`FTS_N_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(100) DEFAULT NULL,
PRIMARY KEY (`FTS_N_ID`),
FULLTEXT KEY `ngram_idx` (`title`) /*!50100 WITH PARSER `ngram` */
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `M_DEMO` (
`FTS_M_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(100) DEFAULT NULL,
PRIMARY KEY (`FTS_M_ID`),
FULLTEXT KEY `mecab_idx` (`title`) /*!50100 WITH PARSER `mecab` */
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7	
  RCにおける運用サポート機能	
  
•  Performance	
  Schema:	
  性能統計情報のさらなる追加	
  
•  オンライン処理においての機能拡張	
  
•  SYSLOGをLinux/Windows共にネイティブサーポート	
  
•  GIS機能をInnoDBの空間インデックスとBoost.Geometryの統合でサポート	
  
•  Security強化として,簡単で安全な初期設定と管理をサポート	
  
32	
  
•  ReplicaPon	
  for	
  beber	
  scalability	
  and	
  availability	
  
•  Fabric	
  for	
  high	
  availability	
  and	
  sharding	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  SYS	
  Schema	
  
DB管理者、開発者や運用担当者を支援	
  
•  DB管理者や運用担当者の作業効率を改善	
  
	
  -­‐	
  サーバの稼働状況、ユーザやホストの状況、主要な稼働指標	
  	
  	
  
	
  -­‐	
  性能問題の発見、分析および改善	
  
	
  
•  状況をより簡単に把握し理解するための複数のビュ
ー	
  
	
  -­‐	
  IO量の高いファイルや処理、ロック、コストの高いSQL文	
  	
  	
  
	
  -­‐	
  テーブル、インデックス、スキーマの統計	
  	
  	
  
•  他のデータベースにおけるSYS類似機能:	
  
-­‐  Oracle	
  V$表	
  	
  	
  	
  	
  (動的パフォーマンスビュー)	
  
-­‐  Microso•	
  SQL	
  Server	
  DMV (Dynamic	
  Management	
  Views)	
   33	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
オンライン処理の拡張	
  
34	
  
• Resize	
  the	
  InnoDB	
  Buffer	
  Pool	
  online	
  	
  
–  オンラインでのバッファーサイズのチューニング	
  
–  データベースの使用パターンの変化にリアルタイムで適応	
  
• Separate	
  UNDO	
  tablespace	
  
–  自動オンラインUNDOログ切り捨て(MySQL	
  5.7.5∼)	
  
–  UNDOログファイルサイズの増加を回避する事が可能	
  
• Dynamic	
  configuraPon	
  
–  Making	
  exisIng	
  se‚ngs	
  dynamically	
  configurable	
  
–  As	
  a	
  design	
  principle	
  for	
  new	
  features	
  &	
  se‚ngs	
  
–  その他、幾つかのレプリケーションの設定変更等も	
  
  オンラインで変更可能になりました。	
  
参照:14.4.8	
  TruncaIng	
  Undo	
  Logs	
  That	
  Reside	
  in	
  Undo	
  Tablespaces	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  独自コードの置き換え	
  
– 空間図形情報の計算	
  
– 空間図形情報の分析	
  
•  OGC(Open	
  GeospaIal	
  ConsorIum)準拠	
  
– パフォーマンスの向上	
  
•  Boost.Geometryによる効果	
  
– エキスパートとの交流	
  
– 非常に活発なコミュニティ	
  
•  Boost.Geometryへのコントリビュートも	
  
MySQL	
  5.7:	
  GIS	
  -­‐	
  Boost.Geometryとの統合	
  
35	
  
例)ALTER	
  TABLE	
  テーブル名 add	
  SPATIAL	
  index(列名);
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7.7	
  セキュリティの強化
•  mysql_install_dbコマンド非推奨	
  
– mysqldの-­‐-­‐iniIalizeまたは-­‐-­‐iniIalize-­‐insecureオプションで初期化	
  
•  CREATE	
  USER文とALTER	
  USER文にオプション追加	
  
– SSL,	
  PASSWORD	
  EXPIRE,	
  ACCOUNT	
  [LOCK	
  |	
  UNLOCK]	
  
•  mysql.userテーブルのPassword列がauthenIcaIon_stringに変更に	
  
•  SET	
  PASSWORD文およびPASSWORD()関数が非推奨	
  
– ALTER	
  USER文での設定を推奨	
  
•  ENCRYPT,	
  DES_ENCRYPT,	
  DES_DECRYPT関数非推奨	
  AES推奨
ユーザ管理とセキュリティ
mysqld	
  -­‐-­‐iniIalize	
  -­‐-­‐user=mysql
mysql_install_db	
  -­‐-­‐user=mysql
36
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Security	
  -­‐	
  EncrypPon,	
  Passwords,	
  InstallaPon	
  
•  AES	
  256	
  EncrypIon	
  (Default	
  in	
  MySQL	
  5.7	
  )	
  
•  パスワードローテーションポリシー	
  
–  インスタンス全体、ユーザー単位で設定可能	
  
•  Deployment:	
  デフォルトで安全に無人インストールを行う事が可能	
  
–  インストール時にランダムなパスワードを設定/匿名のアカウントを削除	
  
–  テストアカウント,	
  スキーマ(test),	
  デモファイルは作成されなくなりました	
  
37	
  
 [	
  Global	
  ConfiguraPon	
  ]	
  
SET	
  GLOBAL	
  default_password_lifeIme	
  =	
  180;	
  
 [	
  Individual	
  user	
  accounts	
  ]	
  
ALTER	
  USER	
  joro@localhost	
  PASSWORD	
  EXPIRE	
  INTERVAL	
  90	
  DAY;	
  
ALTER	
  USER	
  joro@localhost	
  PASSWORD	
  EXPIRE	
  DEFAULT;	
  
ALTER	
  USER	
  joro@localhost	
  PASSWORD	
  EXPIRE	
  NEVER;	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7におけるレプリケーションの機能拡張
• MulI-­‐Source	
  ReplicaIon	
  
• Performance	
  enhancement	
  of	
  MulI-­‐Thread	
  Slave	
  
• gId_mode	
  is	
  now	
  dynamic	
  
• Making	
  MySQL	
  Slave	
  ReplicaIon	
  Filters	
  Dynamic	
  
• Preparing	
  implementaIon	
  of	
  Group	
  ReplicaIon	
  [Labs]	
  
38
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  複数のマスターでの変更点を1台 	
  
のスレーブに集約	
  
– 全てのシャードのデータを集約	
  
– より柔軟なレプリケーション構成	
  
– バックアップ処理を集約	
  
•  準同期レプリケーション&改良
版	
  
マルチスレッドスレーブ対応	
  
•  スレーブ側でのフィルタリング
が可能	
  
MySQL	
  5.7:	
  MulI-­‐Source	
  ReplicaIon	
  
Binlog	
  
Master	
  1	
  
Binlog	
  
Master	
  2	
  
…	
  
…	
  
Binlog	
  
Master	
  N	
  
IO	
  1	
  
Relay	
  1	
  
Coordinator	
  
W1	
   W2	
   …	
   WX	
  
IO	
  2	
  
Relay	
  2	
  
Coordinator	
  
W1	
   W2	
   …	
   WX	
  
…	
  
…	
  
Coordinator	
  
W1	
   W2	
   …	
   WX	
  
IO	
  N	
  
Relay	
  N	
  
Coordinator	
  
W1	
   W2	
   …	
   WX	
  
Slave	
  
39	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  シングルスレッドのスレーブと比較し
て 5倍 のスループット	
  
– アプリケーション側での変更不要	
  
– バイナリログのグループコミットでの遅延
を伴う操作不要	
  
•  GTID	
  &	
  クラッシュセーフスレーブ利用	
  
•  Sysbench	
  OLTP	
  test	
  
– 1,000万行	
  
– SSD	
  /	
  48	
  core	
  HT	
  /	
  512	
  GB	
  RAM	
  
	
  
MySQL	
  5.7:	
  スキーマ内マルチスレッドスレーブ	
  
0	
  
500	
  
1000	
  
1500	
  
2000	
  
2500	
  
3000	
  
3500	
  
4000	
  
4500	
  
5000	
  
0	
   4	
   16	
   25	
   50	
   100	
   200	
  
Worker	
  Threads	
  
Slave	
  TransacPons	
  per	
  Second	
  
Baseline	
  
50	
  clients	
  
100	
  clients	
  
150	
  clients	
  
200	
  clients	
  
40	
  
-­‐-­‐slave-­‐parallel-­‐type	
  
	
  
1.	
  DATABASE	
  	
  :	
  (Default)	
  Use	
  the	
  db	
  parIIoned	
  MTS	
  (1	
  worker	
  per	
  database)	
  
2.	
  LOGICAL_CLOCK:	
  	
  Use	
  logical	
  clock	
  based	
  parallelizaIon	
  mode.	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
41	
GTIDモード(gId_mode)レプリケーションへのオンライン移行	
参照:Enabling	
  Global	
  TransacPon	
  IdenPfiers	
  Without	
  DownPme	
  in	
  MySQL	
  5.7.6	
  
1.	
  Disable	
  all	
  write	
  operaIons.	
  
2.	
  Wait	
  for	
  all	
  transacIons	
  to	
  propagate	
  	
  
	
  	
  	
  	
  from	
  the	
  master(s)	
  to	
  all	
  slaves.	
  
3.	
  Stop	
  all	
  servers.	
  
4.	
  On	
  each	
  server,	
  set	
  gId-­‐mode=ON	
  in	
  the	
  configuraIon	
  
file.	
  
5.	
  Start	
  all	
  servers.	
  
6.	
  Enable	
  write	
  operaIons.	
  
It	
  is	
  sIll	
  possible	
  to	
  use	
  the	
  old,	
  offline	
  procedure.	
  	
  
The	
  procedure	
  is	
  as	
  follows:	
Offline	
  procedure	
  	
 Online	
  procedure	
  	
詳細:	
  17.1.5.2	
  Enabling	
  GTID	
  TransacIons	
  Online	
  
	
   17.1.5.4	
  Verifying	
  ReplicaIon	
  of	
  Anonymous	
  TransacIons	
  
1	
   SET	
  @@GLOBAL.ENFORCE_GTID_CONSISTENCY	
  =	
  WARN;	
2	
 SET	
  @@GLOBAL.ENFORCE_GTID_CONSISTENCY	
  =	
  ON;	
3	
 SET	
  @@GLOBAL.GTID_MODE	
  =	
  OFF_PERMISSIVE;	
4	
 SET	
  @@GLOBAL.GTID_MODE	
  =	
  ON_PERMISSIVE;	
5	
 SHOW	
  STATUS	
  LIKE	
  'ONGOING_ANONYMOUS_TRANSACTION_COUNT';	
6	
 SET	
  @@GLOBAL.GTID_MODE	
  =	
  ON;	
7	
 On	
  each	
  server,	
  add	
  gId-­‐mode=ON	
  to	
  my.cnf.	
  	
8	
STOP	
  SLAVE	
  ;	
  
CHANGE	
  MASTER	
  TO	
  MASTER_AUTO_POSITION	
  =	
  1;	
  
START	
  SLAVE;	
各サーバーで以下のコマンドを実行
MySQL	
  ReplicaIonの設定や運用を簡素化する為に、GTIDモードのレプリケーションを利用する方法がありますが、既にGTID
モード以前のレプリケーションで運用されている場合は、稼働中の全てのサーバーを停止してからGTIDモードのレプリケー
ションへ移行する必要がありました。しかし、稼働中のサービスを停止して切り替える事は難しいのが現実です。	
  
MySQL	
  5.7.6	
  以降のMySQLにアップグレードする事で、オンラインのままMySQLのレプリケーションを切り替える事が出来るよ
うになりました。	
  
5.6.x	
  
Standard	
  
ReplicaIon	
5.7.6~	
  
Standard	
  
ReplicaIon	
5.7.6 ~	
  
GTID	
  Mode	
  
ReplicaIon	
① ②
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Fabric	
  1.5:	
  高可用性	
  &	
  シャーディング	
  
•  OpenStack	
  との統合	
  
•  高可用性	
  
–  サーバの監視;	
  スレーブの自動昇格と透過
的なレプリケーション切り替え	
  
•  シャーディングによる拡張性	
  
–  アプリケーションがシャードのキーを提供	
  
•  整数型、日付型、文字列型	
  
–  レンジまたはハッシュ	
  
–  シャード再構成可能	
  
•  Fabric対応コネクタ利用:	
  Python,	
  Java,	
  
PHP,	
  .NET,	
  C	
  (labs)	
  
–  プロキシを使わないので低レイテンシ、	
  
ボトルネック無し	
  
MySQL	
  Fabric	
  
Connector	
  
ApplicaIon	
  
Read-­‐slaves	
  
mappings	
  
SQL	
  
HA	
  group	
  
Read-­‐slaves	
  
HA	
  group	
  
Connector	
  
ApplicaIon	
  
42	
  
GA	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   43	
MySQL	
  Slave	
  ReplicaIon	
  Filters	
  Dynamic	
  
REPLICATE_DO_DB	
  	
  
REPLICATE_IGNORE_DB	
  	
  
REPLICATE_DO_TABLE	
  	
  
REPLICATE_IGNORE_TABLE	
  
REPLICATE_WILD_DO_TABLE	
  
REPLICATE_WILD_IGNORE_TABLE	
  
REPLICATE_REWRITE_DB	
  	
MySQL-­‐5.7.3の新しく導入された “CHANGE	
  REPLICATION	
  FILTER”	
  コマンドを利用する事で、	
  
ユーザーは*slave*	
  側のレプリケーションフィルターを動的に、サーバーの再起動せずに適用
する事が可能です。
MySQL-­‐5.7.3以前は、ユーザーはOpIonファイル(my.cnf)か、コマンドラインパラメータを使用
してフィルタリングルールを設定することが出来ますが、いずれの場合もMySQLサーバはフィ
ルタリングルールの変更を反映する為に再起動する必要があります。
The	
  following	
  slave	
  replicaIon	
  filters	
  can	
  be	
  
changed	
  dynamically	
  using	
  this	
  command.	
mysql>	
  STOP	
  SLAVE	
  SQL_THREAD;	
  
Query	
  OK,	
  0	
  rows	
  affected	
  (0.05	
  sec)	
  
mysql>	
  CHANGE	
  REPLICATION	
  FILTER	
  
REPLICATE_DO_DB=(db1);	
  
Query	
  OK,	
  0	
  rows	
  affected	
  (0.00	
  sec)	
例)	
  フィルター設定手順	
参照:MySQL-­‐5.7.3-­‐	
  Making	
  MySQL	
  Slave	
  ReplicaPon	
  Filters	
  Dynamic	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Labs	
44
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Labs	
•  先進的な機能や実験的な仕様のをいち早く公開	
  
– コミュニティからのフィードバックをいただく	
  
•  将来的にはMySQLサーバやMySQL	
  Cluster本体への統合を期待	
  
– MySQL	
  5.6	
  memcached	
  API	
  
– MySQL	
  Cluster	
  7.2	
  memcached	
  API	
  
– MySQL	
  5.6	
  Performance	
  Schema	
  
– MySQL	
  5.6	
  Intra-­‐schema	
  MulI	
  Thread	
  Slave	
  
– MySQL	
  5.6	
  Online	
  Alter	
  Table	
  
– MySQL	
  5.7	
  MulI	
  Source	
  ReplicaIon	
  
– MySQL	
  5.7	
  New	
  OpImizer	
  Cost	
  Model
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  シェアード・ナッシング型”疑似”同期レプリケーション	
  
•  更新はマルチ・マスタ型でどこでも可能	
  
–  矛盾の検知と解決(トランザクションのロールバック	
  
–  “OpImisIc	
  State	
  Machine”	
  レプリケーション	
  
•  グループメンバーの管理と障害検知を自動化	
  
–  サーバのフェールオーバー不要	
  
–  構成の拡張/縮小の柔軟性	
  
–  単一障害点無し	
  
–  自動再構成	
  
•  既存構成との統合	
  
–  InnoDB	
  
–  GTIDベースのレプリケーション	
  
–  PERFORMANCE_SCHEMA	
  
MySQL	
  5.7:	
  グループレプリケーション	
  
ApplicaIon	
  
MySQL	
  Masters	
   ReplicaIon	
  	
  
Plugin	
  
API	
  
MySQL	
  
Server	
  
Group	
  Comms	
  
(Corosync)	
  
46	
  
labs.mysql.com	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Early	
  Access	
  Feature	
  (EAF):	
  Data	
  DicIonary	
  
Replacing	
  the	
  FRMs	
  
•  A	
  single	
  repository	
  for	
  database	
  object	
  metadata	
  
– InnoDB	
  tables	
  replace	
  .frm,	
  .trg,	
  .trn,	
  .par	
  files	
  
•  Atomic	
  	
  &	
  crash-­‐safe	
  operaIons	
  today	
  
– 	
  TransacIonal	
  in	
  the	
  future	
  
•  Makes	
  adding	
  new	
  features	
  much	
  easier	
  
•  Eliminates	
  complexity,	
  resolves	
  bugs	
  	
  
•  Improves	
  performance	
  	
  
•  Leverages	
  InnoDB	
  strengths	
  
	
  
47	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
HTTP	
  Plugin	
  for	
  MySQL	
The	
  SQL	
  endpoint	
  and	
  JSON	
  	
  
$ curl --user basic_auth_user:basic_auth_passwd
--url "http://127.0.0.1:8080/sql/myhttp/SELECT+name_first,+name_last+FROM
+names"
[
{
"meta":[
{"type":
253,"catalog":"def","database":"myhttp","table":"names","org_table":"names","colu
mn":"name_first","org_column":"name_first","charset":33,"length":120,"flags":
0,"decimals":0},
{"type":
253,"catalog":"def","database":"myhttp","table":"names","org_table":"names","colu
mn":"name_last","org_column":"name_last","charset":33,"length":120,"flags":
0,"decimals":0}
],
"data":[
["Scott","Tiger"],
["Bruce","Wayne"],
],
"status":[{"server_status":34,"warning_count":0}]
}
]	
48
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
HTTP	
  Plugin	
  for	
  MySQL	
  
•  MySQLサーバへのHTTP(S)エンドポイントを提供するプラグイン	
  
•  結果をUTF8でエンコードされたJSONフォーマットにシリアライズ	
  
•  3種類のユーザエンドポイント	
  
– SQL	
  
– CRUD	
  -­‐	
  Key-­‐Value	
  
– JSON	
  -­‐	
  Document	
  
•  For	
  more	
  details;	
  
hbp://www.slideshare.net/nixnutz/hbp-­‐plugin-­‐for-­‐mysql-­‐39598656	
  
49	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
HTTP	
  Plugin	
  for	
  MySQL	
  –	
  エンドポイント	
エンドポイント	
 SQL	
 CRUD	
 JSON	
  ドキュメント	
URLプリフィックス	
 hbp[s]://server:port/sql/	
 hbp[s]://server:port/crud/	
 hbp[s]://server:port/doc/	
データ操作	
 全SQL文利用可能	
 主キーによるCRUD	
 主キーによるCRUD	
データ格納先	
 通常のテーブル	
 通常のテーブル	
 テーブルのJSON列*	
SQL文利用可能	
 Yes	
 No	
 No	
HTTPメソッド	
 GET	
 GET,	
  PUT.	
  DELETE	
 GET,	
  PUT.	
  DELETE	
  
結果セットのメタデータ	
 Yes	
 No	
 Yes	
トランザクション	
 Yes	
 Yes	
 Yes	
文字コード	
 UTF-­‐8	
 UTF-­‐8	
 UTF-­‐8	
ベーシック認証	
 Yes	
 Yes	
 Yes
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Binlog	
  Events	
従来の名称は Binlog	
  API	
•  バイナリログを読むためのC++ライブラリ	
  
•  マスタ上のバイナリログかファイルを直接読み込み	
  
– 2タイプの"transport"	
  
– TCP	
  Transport	
  &	
  File	
  Transport	
  
•  バイナリログの各イベントをデコード	
  
– イベントをデコードするコードを含む	
  
•  イベントドリブンAPI	
  
hbp://mysqlhighavailability.com/author/nehakumari/	
  
51
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
  JSON	
  
•  参照が中心となる処理に最適化	
  
•  ネイティブJSONデータ型	
  
– バイナリフォーマットで格納され、処理や格納効率の向上を図る	
  
•  ビルトインJSON関数群	
  
– ドキュメントを効率的に検索、格納、更新、各種操作	
  
– SQLでドキュメントのデータを簡単に操作	
  
•  Generated	
  Columns(生成列)を使ってドキュメントのインデックスを作成	
  	
  
– InnoDBはSTOREDとVIRTUALの各タイプのGenerated	
  Columnsを利用可能	
  
– 関数インデックスに該当するインデックスを用意	
  
•  hbp://mysqlserverteam.com/json-­‐labs-­‐release-­‐overview/	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
  JSON	
53	
mysql> CREATE TABLE employees (data JSON);
Query OK, 0 rows affected (0,01 sec)
mysql> INSERT INTO employees VALUES ('{"id": 1, "name": "Jane"}');
Query OK, 1 row affected (0,00 sec)
mysql> INSERT INTO employees VALUES ('{"id": 2, "name": "Joe"}');
Query OK, 1 row affected (0,00 sec)
mysql> select * from employees;
+---------------------------+
| data |
+---------------------------+
| {"id": 1, "name": "Jane"} |
| {"id": 2, "name": "Joe"} |
+---------------------------+
2 rows in set (0,00 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
  JSON	
•  Document	
  ValidaIon	
  
– on	
  insert	
  only	
  	
  
•  Efficient	
  Access	
  
mysql> INSERT INTO employees VALUES ('some random text');
ERROR 3130 (22032): Invalid JSON text: "Expect a value here." at position 0 in
value (or column) 'some random text'.	
mysql> select jsn_extract(data, '$.name') from employees;
+-----------------------------+
| jsn_extract(data, '$.name') |
+-----------------------------+
| "Jane" |
| "Joe" |
+-----------------------------+
2 rows in set (0,00 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  jsn_array()
–  Build	
  a	
  JSON	
  array	
  from	
  list	
  of	
  expressions	
  
•  jsn_object()
–  Builds	
  JSON	
  objects	
  from	
  a	
  variable	
  length	
  list	
  
of	
  key/value	
  pairs	
  
•  jsn_insert()
–  Adds	
  'missing'	
  data	
  to	
  JSON	
  documents	
  
•  jsn_remove()
–  Removes	
  abributes	
  from	
  exisIng	
  JSON	
  
documents	
  
•  jsn_set()
–  Sets	
  abributes	
  within	
  JSON	
  documents	
  
•  jsn_replace()
–  Replaces	
  (but	
  doesn't	
  add)	
  abributes	
  within	
  
JSON	
  documents	
  
•  jsn_append()
–  Adds	
  a	
  value	
  to	
  the	
  end	
  of	
  an	
  array	
  
•  jsn_merge()
–  Merges	
  two	
  arrays	
  	
  
•  jsn_extract()
–  Returns	
  a	
  value	
  nested	
  inside	
  of	
  a	
  JSON	
  
document	
  
55	
  
JSON	
  FuncIons	
  for	
  CreaIng	
  &	
  ManipulaIng	
  
	
  JSON	
  Documents	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  jsn_search()
–  Search	
  for	
  values	
  within	
  JSON	
  documents	
  and	
  
return	
  their	
  locaIons	
  
•  jsn_contains()
–  Checks	
  for	
  a	
  specific	
  element	
  and	
  value	
  
•  jsn_contains_path()
–  Determine	
  if	
  a	
  specific	
  element	
  is	
  present	
  in	
  a	
  
document	
  in	
  a	
  specific	
  posiIon	
  
•  jsn_valid()
–  Check	
  if	
  document	
  is	
  a	
  valid	
  JSON	
  document	
  
•  jsn_type()
–  Find	
  the	
  type	
  of	
  a	
  value	
  within	
  a	
  document	
  
•  jsn_keys()
–  Returns	
  arrays	
  of	
  the	
  key	
  names	
  for	
  the	
  JSON	
  
documents	
  
•  jsn_length()
–  Number	
  of	
  elements	
  in	
  JSON	
  document	
  
•  jsn_depth()
–  Level	
  of	
  nesIng	
  in	
  JSON	
  document	
  
•  jsn_unquote()
–  Helps	
  move	
  from	
  JSON	
  to	
  other	
  MySQL	
  types	
  
•  jsn_quote()
–  Helps	
  move	
  from	
  other	
  MySQL	
  types	
  to	
  JSON	
  
56	
  
Query	
  and	
  Search	
  JSON	
  FuncIons	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Generated	
  Columns	
  
•  Virtual	
  Generated	
  Column	
  
– Generated	
  on	
  the	
  fly	
  when	
  the	
  column	
  is	
  read	
  
– Can	
  be	
  indexed	
  
•  Stored	
  Generated	
  Column	
  
– Generated	
  when	
  the	
  referenced	
  column	
  is	
  wriben	
  to	
  
– Can	
  be	
  indexed	
  
mysql> ALTER TABLE employees ADD name VARCHAR(100)
GENERATED ALWAYS AS(jsn_extract(info, '$.name')) STORED;
mysql> ALTER TABLE employees ADD INDEX(name);
hbp://mysqlserverteam.com/	
  
57	
  
Digging	
  into	
  your	
  Documents	
  
labs.mysql.com	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  コストやストレージを削減し、アプリ
ケーション開発を簡単に	
  
– ドキュメント間でのJOIN	
  
– ドキュメント間での外部キー制約	
  
– 同一トランザクション内で複数のドキュ
メントの更新	
  
•  全てのデータを活用可能に	
  
– 単一のクエリ/トランザクションでドキュ
メント内のデータとデーブルのデータを
参照更新	
  
58	
  
また新しいドキュメントデータベースが増える?	
  
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
5.6	
  
MySQL	
  Server	
  –	
  GA	
  
InnoDBの改良やオプティマイザの刷新による性能&拡張性向上	
  
レプリケーションの可用性向上	
  &	
  NoSQLインタフェース追加	
  
MySQL	
  Cluster	
  -­‐	
  GA	
  
秒間2億件のNoSQL処理、秒間200万件のSQL処理	
  
リカバリや再起動時間の短縮	
  
7.4	
  
5.7	
  
MySQL	
  Server	
  –	
  RC	
  
リファクタリング	
  &	
  各機能のプラグイン化による性能と信頼性の向上	
  
JSONやGroup	
  ReplicaPonなどクラウド環境での要件への対応	
  
59
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
The	
  world's	
  most	
  popular	
  open	
  source	
  database	
  
世界で最も普及しているオープンソース データベース	
  
60

Mais conteúdo relacionado

Mais procurados

【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...SolarisJP
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osakaTakashi Ito
 
Oracle Solaris 11.2 新機能概要
Oracle Solaris 11.2 新機能概要Oracle Solaris 11.2 新機能概要
Oracle Solaris 11.2 新機能概要Kazuyuki Sato
 
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0オラクルエンジニア通信
 
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状Ryusuke Kajiyama
 
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントSolarisJP
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会yoyamasaki
 
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)オラクルエンジニア通信
 
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)Shinya Sugiyama
 
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA) ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA) オラクルユニバーシティ
 
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャZero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャオラクルエンジニア通信
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3オラクルエンジニア通信
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1オラクルエンジニア通信
 
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...オラクルエンジニア通信
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama Insight Technology, Inc.
 

Mais procurados (20)

Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要
 
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
【第二回 ゼロからはじめる Oracle Solaris 11】03 ネットワーク環境の複雑性に対処する新しいネットワーク管理の仕組み ~ Oracle ...
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
 
Oracle Solaris 11.2 新機能概要
Oracle Solaris 11.2 新機能概要Oracle Solaris 11.2 新機能概要
Oracle Solaris 11.2 新機能概要
 
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
 
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
 
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会
 
Oracle GoldenGate Monitor 12cR2 セットアップガイド
Oracle GoldenGate Monitor 12cR2 セットアップガイドOracle GoldenGate Monitor 12cR2 セットアップガイド
Oracle GoldenGate Monitor 12cR2 セットアップガイド
 
Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)
 
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
 
Oracle GoldenGate EM Plugin 13c セットアップガイド
Oracle GoldenGate EM Plugin 13c セットアップガイドOracle GoldenGate EM Plugin 13c セットアップガイド
Oracle GoldenGate EM Plugin 13c セットアップガイド
 
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)
 
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA) ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
ORACLE MASTER Bronze Oracle Database 12c 傾向と対策 (SQL および Bronze DBA)
 
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャZero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
 
Oracle GoldenGate入門
Oracle GoldenGate入門Oracle GoldenGate入門
Oracle GoldenGate入門
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
 
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
 

Destaque

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 RCRyusuke Kajiyama
 
[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技術アップデートRyusuke Kajiyama
 
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 UpdatesRyusuke Kajiyama
 
[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.7Ryusuke Kajiyama
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)Ryusuke Kajiyama
 
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"Ryusuke Kajiyama
 
[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 OsakaRyusuke Kajiyama
 
[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!?Ryusuke Kajiyama
 
Art of MySQL Replication.
Art of MySQL Replication.Art of MySQL Replication.
Art of MySQL Replication.Mikiya Okuno
 
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 MySQLRyusuke Kajiyama
 
MySQLチューニング
MySQLチューニングMySQLチューニング
MySQLチューニングyoku0825
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良Shinya Sugiyama
 
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよ
Pi4Jで簡単!   ラズパイでトイレ空室管理システムを つくってみたよPi4Jで簡単!   ラズパイでトイレ空室管理システムを つくってみたよ
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよYoshio Kajikuri
 
Shlideshare
ShlideshareShlideshare
Shlidesharehyun
 

Destaque (14)

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
 
[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技術アップデート
 
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
 
[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
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
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"
 
[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
 
[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!?
 
Art of MySQL Replication.
Art of MySQL Replication.Art of MySQL Replication.
Art of MySQL Replication.
 
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
 
MySQLチューニング
MySQLチューニングMySQLチューニング
MySQLチューニング
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよ
Pi4Jで簡単!   ラズパイでトイレ空室管理システムを つくってみたよPi4Jで簡単!   ラズパイでトイレ空室管理システムを つくってみたよ
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよ
 
Shlideshare
ShlideshareShlideshare
Shlideshare
 

Semelhante a MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20

[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...Insight Technology, Inc.
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクルエンジニア通信
 
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.
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_publicDAISUKE INAGAKI
 
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介Machiko Ikoma
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0Ryusuke Kajiyama
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能Ryusuke Kajiyama
 
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL ShellもあるんですMachiko Ikoma
 
20201023_MySQL開発最新動向
20201023_MySQL開発最新動向20201023_MySQL開発最新動向
20201023_MySQL開発最新動向Machiko Ikoma
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEyoyamasaki
 
MySQL製品概要
MySQL製品概要MySQL製品概要
MySQL製品概要yoyamasaki
 
Oracle Database Appliance X5-2 アップデート内容のご紹介
Oracle Database Appliance X5-2 アップデート内容のご紹介Oracle Database Appliance X5-2 アップデート内容のご紹介
Oracle Database Appliance X5-2 アップデート内容のご紹介オラクルエンジニア通信
 
MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)Shinya Sugiyama
 
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]オラクルエンジニア通信
 
自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報オラクルエンジニア通信
 
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」オラクルエンジニア通信
 
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)オラクルエンジニア通信
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]オラクルエンジニア通信
 
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)オラクルエンジニア通信
 

Semelhante a MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20 (20)

[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...
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
 
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
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_public
 
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
20210305_MySQLベースのクエリ・アクセラレーターHeatWaveのご紹介
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
 
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
 
20201023_MySQL開発最新動向
20201023_MySQL開発最新動向20201023_MySQL開発最新動向
20201023_MySQL開発最新動向
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
 
MySQL製品概要
MySQL製品概要MySQL製品概要
MySQL製品概要
 
Oracle Database Appliance X5-2 アップデート内容のご紹介
Oracle Database Appliance X5-2 アップデート内容のご紹介Oracle Database Appliance X5-2 アップデート内容のご紹介
Oracle Database Appliance X5-2 アップデート内容のご紹介
 
MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)
 
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
 
自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報
 
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
Cloudera World Tokyo 2015 Oracleセッション資料 「ビッグデータ/IoTの最新事例とHadoop活用の勘所」
 
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
 
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
 

Mais de Ryusuke Kajiyama

[OSC 2020 Online/Nagoya] MySQLドキュメントストア
[OSC 2020 Online/Nagoya] MySQLドキュメントストア[OSC 2020 Online/Nagoya] MySQLドキュメントストア
[OSC 2020 Online/Nagoya] MySQLドキュメントストアRyusuke Kajiyama
 
[OSC 2020 Osaka] MySQL"超"入門
[OSC 2020 Osaka] MySQL"超"入門[OSC 2020 Osaka] MySQL"超"入門
[OSC 2020 Osaka] MySQL"超"入門Ryusuke Kajiyama
 
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合Ryusuke Kajiyama
 
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」Ryusuke Kajiyama
 
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーションRyusuke Kajiyama
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014Ryusuke Kajiyama
 
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 2014Ryusuke Kajiyama
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
2012.10.20 OSC 2012 Hiroshima
2012.10.20 OSC 2012 Hiroshima2012.10.20 OSC 2012 Hiroshima
2012.10.20 OSC 2012 HiroshimaRyusuke Kajiyama
 

Mais de Ryusuke Kajiyama (10)

[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"超"入門
 
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
 
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レプリケーション
 
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
 

MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20

  • 1. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MYSQL  5.7  &  最新情報   Ryusuke  Kajiyama  /  梶山隆輔  /  @RKajiyama   MySQL  Sales  ConsulIng  Senior  Manager,  Asia  Pacific  &  Japan   The  State  of  the  Dolphin
  • 2. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   以下の事項は、弊社の⼀一般的な製品の⽅方向性に関する概要を説明するものです。 また、情報提供を唯⼀一の⽬目的とするものであり、いかなる契約にも組み込むことはできません。 以下の事項は、マテリアルやコード、機能を提供することをコミットメントするものではない為 、購買決定を⾏行行う際の判断材料料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量量により決定されます。 SAFE  HARBOR  STATEMENT   2  
  • 3. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   The  world's  most  popular  open  source  database   世界で最も普及しているオープンソース データベース   3
  • 4. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   4 20 15 10 5  A  Year  of  Anniversaries!
  • 5. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   5 20  MySQL公開から20年   15  日本MySQLユーザ会ドメイン登録から15年 10  オラクルによるInnobase買収から10年 5  オラクルによるサン買収から5年  A  Year  of  Anniversaries!
  • 6. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Key  announcements  in  Jan-­‐Apr  2015 MySQL  Cluster  7.4  GA   •  200  Million  NoSQL  Reads/ Sec   •  2.5M  SQL  Ops/Sec   •  50%  Faster  Reads   •  40%  Faster  Mixed   •  5X  Faster  Maintenance   Ops   MySQL  Enterprise   Firewall   •  Real  Time  ProtecIon   •  Blocks  SQL  InjecIon   Abacks   •  Block  Suspicious  Traffic   •  Learns  White  List     •  Transparent   MySQL  5.7  RC     •  2  X  Faster  than  MySQL  5.6   •  New  OpImizer  Cost   Model   •  ReplicaIon   Improvements   •  InnoDB  FTS  CJK  Support   6
  • 7. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   7  
  • 8. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  MySQL製品のシンプルで便利なインス トール&アップグレード方法を提供   •  下記のディストリビューション向け   –  Oracle,  Red  Hat,  CentOS     –  Fedora   –  Ubuntu,  Debian   •  まもなく提供開始予定   –  SUSE   –  構成済みコンテナ   –  利用者の多いDevOpsデプロイツールのサ ポート   •  下記の最新リリースを含む   –  MySQL  Database   –  MySQL  Workbench   –  MySQL  Connector/ODBC   –  MySQL  Connector/Python   –  MySQL  Connector/NET   –  MySQL  UIliIes       8   MySQLコミュニティレポジトリ:  Yum,  APT,  NuGET  
  • 9. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   GitHubへのMySQLソースコードの掲載   •  MySQL開発チームのGit   –  各ディストリビューションにてより迅速、柔軟に   –  優れたツールの利用が可能に   –  幅広くいコミュニティとの交流   •  GitHub  for  MySQL  Community   –  コミュニティや関連プロジェクトへのより簡単かつ高速なソースコードの提供   –  ベータ版のレポジトリ: hbps://github.com/mysql   –  詳細:  hbp://mysqlrelease.com   9  
  • 10. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.6  リファレンスマニュアル日本語版 hCp://dev.mysql.com/doc/refman/5.6/ja/index.html 10
  • 11. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Enterprise  EdiIon 11
  • 12. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Enterprise  Backup   • オンラインバックアップ/リカバリ   • クラウドストレージへバックアップ • 差分バックパック  &  ポイントイン タイムリカバリ   MySQL  Enterprise  Security   • 外部認証との統合 (PAM,   Windows,  LDAP,  etc.)   • MySQL  Enterprise  Monitorで のセキュリティアドバイザ MySQL  Enterprise  EncrypPon   • AES256による対称暗号   • 公開鍵方式 /  非対称暗号   • 暗号学的ハッシュによる電子署 名、照合および妥当性確認   MySQL  Enterprise  Audit   • 接続、ログインおよびSQL実行 の記録   • ポリシーベースのフィルタリン グおよびログ切り替え   • オラクルの監査仕様に準拠し たXMLベースの出力   MySQL  Enterprise  EdiIonによるデータ保護 12
  • 13. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Enterprise  Firewall   •  SQL  InjecIon  ProtecIon  with  PosiIve  Security  Model   •  Out  of  policy  database  transacIons  detected  and  blocked   •  Logging  &  Analysis   Select *.* from employee where id=22! Select *.* from employee where id=22 or 1=1! Block  &  Log  ✖   Allow  &  Log  ✔   White  List  ApplicaPons   13  
  • 14. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Enterprise  Firewall  Details   •  Firewall  operaIon  is  turned  on  at  a  per  user  level   •  Per  User  States  are     – RECORDING   – PROTECTING   – OFF   14  
  • 15. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   What  happens  when  SQL  is  blocked?   •  The  client  applicaIon  gets  an  ERROR   mysql> SELECT first_name, last_name FROM customer WHERE customer_id = 1 OR TRUE; ERROR 1045 (28000): Statement was blocked by Firewall mysql> SHOW DATABASES; ERROR 1045 (28000): Statement was blocked by Firewall mysql> TRUNCATE TABLE mysql.user; ERROR 1045 (28000): Statement was blocked by Firewall   •  Reported  to  the  Error  Log   •  Increment  Counter   15  
  • 16. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL Enterprise Edition & Cluster CGEの評価 30日間トライアル •  Oracle Software Delivery Cloud http://edelivery.oracle.com/ •  製品パックを選択: “MySQL Database” •  製品マニュアル   hbp://dev.mysql.com/doc/index-­‐ enterprise.html    
  • 17. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Cluster  7.4  GA 17
  • 18. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Cluster:  SQL  and  NoSQL  Hybrid  APIs MySQL  Cluster  Data  Nodes   Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps JPA Cluster  JPA PHP Perl Python Ruby JDBC Cluster  J JS Memcached MySQL JNI Node.JS ndb_eng NDB  API  (C++) 18
  • 19. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Cluster  7.4  GA   •  200  Million  NoSQL   Reads/Sec   •  2.5M  SQL  Ops/Sec   •  50%  Faster  Reads   •  40%  Faster  Mixed   Performance   •  AcIve-­‐AcIve   Geographic   Redundancy   •  Conflict  DetecIon/ ResoluIon   AcIve-­‐AcIve   •  5X  Faster   Maintenance  Ops   •  Detailed  ReporIng   Management   19  
  • 20. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  製品ロードマップ      
  • 21. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   21 4.0   全文検索/GIS  (MyISAM)   複数テーブルUPDATE/DELETE   組み込みライブラリ型サーバ Oracle  MySQL   Sun   3.23   MyISAM   InnoDB   レプリケーション   5.1   プラグガブル・    ストレージエンジン・    アーキテクチャ パーティショニング   タスクスケジューラ 5.6   memcached  API   UNDO表領域   Global  TransacIon  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  (InnoDB)   セキュリティ強化   データディクショナリ   NoSQLオプション      
  • 22. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  性能   – ミューテックスの分割   – 参照専用トランザクション   – SSDへの最適化   – UNDO表領域   – サブクエリ高速化   – JSON  EXPLAIN   – Memcached  API   •  可用性 – Global  TransacIon  ID   – 自動フェールオーバー   – マルチスレッド・スレーブ   – Binlog  グループ・コミット   – 行ベース・レプリケーショ ン最適化   – クラッシュセーフ・   スレーブ   – チェックサム 22 •  運用効率   – オンラインALTER  TABLE   – バッファプールのダンプ   およびインポート   – トランスポータブル   表領域   – セキュリティ強化   •  パスワードポリシー   •  SHA256   •  パスワード失効   MySQL5.6での機能拡張
  • 23. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7  RC 23
  • 24. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7  Release  Candidate  Available!   24   InnoDBの機能拡張:     Online&Bulk  load  オペレーション高速化   レプリケーションの改善    (mulI-­‐source,  mulI-­‐threaded  slaves等)   新しいオプティマイザコストモデル:   greater  user  control  &  beber  query  performance   Performance  Schema改善   MySQL  SYS  Schema改善   パフォーマンス  &  拡張性   管理性   MySQL  5.6比2倍の速度   セキュリティの向上:     より安全な初期化,  セットアップ&管理   NEW!  JSONのSupport  (now  in  labs)   RC   And  many  more  new  features  and  enhancements...  hbp://mysqlserverteam.com/the-­‐mysql-­‐5-­‐7-­‐7-­‐release-­‐candidate-­‐is-­‐available/    
  • 25. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   0   100,000   200,000   300,000   400,000   500,000   600,000   700,000   8   16   32   64   128   256   512   1,024   Queries  per  Second   ConnecPons   MySQL  5.7:  Sysbench  Read  Only  (Point  Select)   MySQL  5.7   MySQL  5.6   MySQL  5.5   MySQL  5.7:  Sysbench  Benchmark     Intel(R)  Xeon(R)  CPU  E7-­‐4860  x86_64   4  sockets  x  10  cores-­‐HT  (80  CPU  threads)   2.3  GHz,  512  GB  RAM   Oracle  Linux  6.5                      2x  Faster  than  MySQL  5.6          3x  Faster  than  MySQL  5.5   645,000  QPS   25  
  • 26. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  オプティマイザ  –  新コストモデル       SQL文の実行性能を向上     •  新しいコストモデルによりストレージエンジンでの処理を改善   –   より正確で動的なコスト見積もり   –   キーの参照、テーブルスキャン、レンジスキャン、インデックススキャンなど   •  様々な追加要素にてコストを設定可能   – ディスクI/O処理性能   – メモリ処理性能   •  インデックスからレコードへの参照の見積もり改善   •  コストの値はEXPLAINのJSON出力に含まれる     26   labs.mysql.com  
  • 27. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  OpImizer  -­‐  JSON  EXPLAINへのコスト情報追加     •  JSON  EXPLAINを拡張   – 出力可能なコスト情報を全て表示   – MySQL  WorkbenchのVisual  Explainにも表示   { "query_block": { "select_id": 1, "cost_info": { "query_cost": "200.40" }, "table": { "table_name": "nicer_but_slower_film_list", "access_type": "ALL", "rows_examined_per_scan": 992, "rows_produced_per_join": 992, "filtered": 100, "cost_info": { "read_cost": "2.00", "eval_cost": "198.40", "prefix_cost": "200.40", "data_read_per_join": "852K" }, "used_columns": [ "FID", "title", "description", "category", "price", "length", "rating", "actors" ], ...
  • 28. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   InnoDB  -­‐  General  Tablespace  Support 28 A  general  tablespace  is  a  shared  tablespace,  similar  to  the  system  tablespace.  It  can  hold  mulIple  tables,  and  supports  all   table  row  formats.  General  tablespaces  can  also  be  created  in  a  locaIon  relaIve  to  or  independent  of  the  data  directory.   [USER01]>  CREATE  TABLESPACE  U_TABLESPACE01  ADD  DATAFILE  '/home/mysql/user_tablespace01.ibd'  Engine=InnoDB;   Query  OK,  0  rows  affected  (0.01  sec)   [USER01]>  CREATE  TABLESPACE  U_TABLESPACE02_8K  ADD  DATAFILE  '/home/mysql/user_tablespace02_8k.ibd'  FILE_BLOCK_SIZE  =    8192  Engine=InnoDB;   Query  OK,  0  rows  affected  (0.01  sec)     [USER01]>  CREATE  TABLE  `T_USER01`  (   >    `id`  int(11)  NOT  NULL  AUTO_INCREMENT,  `text`  varchar(100)  DEFAULT  NULL,  PRIMARY  KEY  (`id`)   >    )  TABLESPACE  =  U_TABLESPACE01  ENGINE=InnoDB  AUTO_INCREMENT=1  DEFAULT  CHARSET=u•8mb4;   Query  OK,  0  rows  affected  (0.01  sec)      [USER01]>  CREATE  TABLE  `T_USER02_8K`  (   >  `id`  int(11)  NOT  NULL  AUTO_INCREMENT,  `text`  varchar(100)  DEFAULT  NULL,  PRIMARY  KEY  (`id`)   >)  TABLESPACE  =  U_TABLESPACE02_8K  ENGINE=InnoDB  AUTO_INCREMENT=1  DEFAULT  CHARSET=u•8mb4     >  ROW_FORMAT=COMPRESSED  KEY_BLOCK_SIZE  =8;   Query  OK,  0  rows  affected  (0.00  sec) 参照:13.1.15  CREATE  TABLESPACE  Syntax  
  • 29. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   InnoDB  -­‐    Temporary  Tables   •  一時テーブル専用の表領域を新規追加   – CREATE/DROPのパフォーマンスを改善   – DDLによる変更が短縮され,一部ディスクI/Oも削減   •  DMLオペレーションの最適化   – No  REDO  logging,  no  change  buffering,  less  locking   •  内部的な新たなテンポラリーテーブル   – ACID/MVCCに対応した専用の一時テーブル   – 軽量且つ超高速で、中間のクエリの実行操作に最適   29   参照:14.11  InnoDB  Startup  OpPons  and  System  Variables  
  • 30. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   クエリ・リライト・プラグイン •  クエリの書き換え  (パースの前と後)     •  パースした後での書き換えプラグイン   – アプリケーションを変更することなく問題のあるクエリを書き換 え   – ヒントの追加   – JOIN順の変更   •  ORマッパーやサードパーティ製のアプリなどが発行する   問題となり得るクエリなどに対応   30  
  • 31. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   InnoDB  -­‐  Full  Text  Search  (FTS) 日本語、中国語、韓国語をサポート •  N-­‐gramによる全文検索インデックス   – 日本語、中国語、韓国語に対応   •  mecabによる全文検索インデックス   – 日本語のみ対応 31 CREATE TABLE `N_DEMO`( `FTS_N_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(100) DEFAULT NULL, PRIMARY KEY (`FTS_N_ID`), FULLTEXT KEY `ngram_idx` (`title`) /*!50100 WITH PARSER `ngram` */ ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; CREATE TABLE `M_DEMO` ( `FTS_M_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(100) DEFAULT NULL, PRIMARY KEY (`FTS_M_ID`), FULLTEXT KEY `mecab_idx` (`title`) /*!50100 WITH PARSER `mecab` */ ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
  • 32. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7  RCにおける運用サポート機能   •  Performance  Schema:  性能統計情報のさらなる追加   •  オンライン処理においての機能拡張   •  SYSLOGをLinux/Windows共にネイティブサーポート   •  GIS機能をInnoDBの空間インデックスとBoost.Geometryの統合でサポート   •  Security強化として,簡単で安全な初期設定と管理をサポート   32   •  ReplicaPon  for  beber  scalability  and  availability   •  Fabric  for  high  availability  and  sharding  
  • 33. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  SYS  Schema   DB管理者、開発者や運用担当者を支援   •  DB管理者や運用担当者の作業効率を改善    -­‐  サーバの稼働状況、ユーザやホストの状況、主要な稼働指標        -­‐  性能問題の発見、分析および改善     •  状況をより簡単に把握し理解するための複数のビュ ー    -­‐  IO量の高いファイルや処理、ロック、コストの高いSQL文        -­‐  テーブル、インデックス、スキーマの統計       •  他のデータベースにおけるSYS類似機能:   -­‐  Oracle  V$表          (動的パフォーマンスビュー)   -­‐  Microso•  SQL  Server  DMV (Dynamic  Management  Views)   33  
  • 34. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   オンライン処理の拡張   34   • Resize  the  InnoDB  Buffer  Pool  online     –  オンラインでのバッファーサイズのチューニング   –  データベースの使用パターンの変化にリアルタイムで適応   • Separate  UNDO  tablespace   –  自動オンラインUNDOログ切り捨て(MySQL  5.7.5∼)   –  UNDOログファイルサイズの増加を回避する事が可能   • Dynamic  configuraPon   –  Making  exisIng  se‚ngs  dynamically  configurable   –  As  a  design  principle  for  new  features  &  se‚ngs   –  その他、幾つかのレプリケーションの設定変更等も     オンラインで変更可能になりました。   参照:14.4.8  TruncaIng  Undo  Logs  That  Reside  in  Undo  Tablespaces  
  • 35. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  独自コードの置き換え   – 空間図形情報の計算   – 空間図形情報の分析   •  OGC(Open  GeospaIal  ConsorIum)準拠   – パフォーマンスの向上   •  Boost.Geometryによる効果   – エキスパートとの交流   – 非常に活発なコミュニティ   •  Boost.Geometryへのコントリビュートも   MySQL  5.7:  GIS  -­‐  Boost.Geometryとの統合   35   例)ALTER  TABLE  テーブル名 add  SPATIAL  index(列名);
  • 36. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7.7  セキュリティの強化 •  mysql_install_dbコマンド非推奨   – mysqldの-­‐-­‐iniIalizeまたは-­‐-­‐iniIalize-­‐insecureオプションで初期化   •  CREATE  USER文とALTER  USER文にオプション追加   – SSL,  PASSWORD  EXPIRE,  ACCOUNT  [LOCK  |  UNLOCK]   •  mysql.userテーブルのPassword列がauthenIcaIon_stringに変更に   •  SET  PASSWORD文およびPASSWORD()関数が非推奨   – ALTER  USER文での設定を推奨   •  ENCRYPT,  DES_ENCRYPT,  DES_DECRYPT関数非推奨  AES推奨 ユーザ管理とセキュリティ mysqld  -­‐-­‐iniIalize  -­‐-­‐user=mysql mysql_install_db  -­‐-­‐user=mysql 36
  • 37. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Security  -­‐  EncrypPon,  Passwords,  InstallaPon   •  AES  256  EncrypIon  (Default  in  MySQL  5.7  )   •  パスワードローテーションポリシー   –  インスタンス全体、ユーザー単位で設定可能   •  Deployment:  デフォルトで安全に無人インストールを行う事が可能   –  インストール時にランダムなパスワードを設定/匿名のアカウントを削除   –  テストアカウント,  スキーマ(test),  デモファイルは作成されなくなりました   37    [  Global  ConfiguraPon  ]   SET  GLOBAL  default_password_lifeIme  =  180;    [  Individual  user  accounts  ]   ALTER  USER  joro@localhost  PASSWORD  EXPIRE  INTERVAL  90  DAY;   ALTER  USER  joro@localhost  PASSWORD  EXPIRE  DEFAULT;   ALTER  USER  joro@localhost  PASSWORD  EXPIRE  NEVER;  
  • 38. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7におけるレプリケーションの機能拡張 • MulI-­‐Source  ReplicaIon   • Performance  enhancement  of  MulI-­‐Thread  Slave   • gId_mode  is  now  dynamic   • Making  MySQL  Slave  ReplicaIon  Filters  Dynamic   • Preparing  implementaIon  of  Group  ReplicaIon  [Labs]   38
  • 39. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  複数のマスターでの変更点を1台   のスレーブに集約   – 全てのシャードのデータを集約   – より柔軟なレプリケーション構成   – バックアップ処理を集約   •  準同期レプリケーション&改良 版   マルチスレッドスレーブ対応   •  スレーブ側でのフィルタリング が可能   MySQL  5.7:  MulI-­‐Source  ReplicaIon   Binlog   Master  1   Binlog   Master  2   …   …   Binlog   Master  N   IO  1   Relay  1   Coordinator   W1   W2   …   WX   IO  2   Relay  2   Coordinator   W1   W2   …   WX   …   …   Coordinator   W1   W2   …   WX   IO  N   Relay  N   Coordinator   W1   W2   …   WX   Slave   39  
  • 40. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  シングルスレッドのスレーブと比較し て 5倍 のスループット   – アプリケーション側での変更不要   – バイナリログのグループコミットでの遅延 を伴う操作不要   •  GTID  &  クラッシュセーフスレーブ利用   •  Sysbench  OLTP  test   – 1,000万行   – SSD  /  48  core  HT  /  512  GB  RAM     MySQL  5.7:  スキーマ内マルチスレッドスレーブ   0   500   1000   1500   2000   2500   3000   3500   4000   4500   5000   0   4   16   25   50   100   200   Worker  Threads   Slave  TransacPons  per  Second   Baseline   50  clients   100  clients   150  clients   200  clients   40   -­‐-­‐slave-­‐parallel-­‐type     1.  DATABASE    :  (Default)  Use  the  db  parIIoned  MTS  (1  worker  per  database)   2.  LOGICAL_CLOCK:    Use  logical  clock  based  parallelizaIon  mode.  
  • 41. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   41 GTIDモード(gId_mode)レプリケーションへのオンライン移行 参照:Enabling  Global  TransacPon  IdenPfiers  Without  DownPme  in  MySQL  5.7.6   1.  Disable  all  write  operaIons.   2.  Wait  for  all  transacIons  to  propagate            from  the  master(s)  to  all  slaves.   3.  Stop  all  servers.   4.  On  each  server,  set  gId-­‐mode=ON  in  the  configuraIon   file.   5.  Start  all  servers.   6.  Enable  write  operaIons.   It  is  sIll  possible  to  use  the  old,  offline  procedure.     The  procedure  is  as  follows: Offline  procedure   Online  procedure   詳細:  17.1.5.2  Enabling  GTID  TransacIons  Online     17.1.5.4  Verifying  ReplicaIon  of  Anonymous  TransacIons   1   SET  @@GLOBAL.ENFORCE_GTID_CONSISTENCY  =  WARN; 2 SET  @@GLOBAL.ENFORCE_GTID_CONSISTENCY  =  ON; 3 SET  @@GLOBAL.GTID_MODE  =  OFF_PERMISSIVE; 4 SET  @@GLOBAL.GTID_MODE  =  ON_PERMISSIVE; 5 SHOW  STATUS  LIKE  'ONGOING_ANONYMOUS_TRANSACTION_COUNT'; 6 SET  @@GLOBAL.GTID_MODE  =  ON; 7 On  each  server,  add  gId-­‐mode=ON  to  my.cnf.   8 STOP  SLAVE  ;   CHANGE  MASTER  TO  MASTER_AUTO_POSITION  =  1;   START  SLAVE; 各サーバーで以下のコマンドを実行 MySQL  ReplicaIonの設定や運用を簡素化する為に、GTIDモードのレプリケーションを利用する方法がありますが、既にGTID モード以前のレプリケーションで運用されている場合は、稼働中の全てのサーバーを停止してからGTIDモードのレプリケー ションへ移行する必要がありました。しかし、稼働中のサービスを停止して切り替える事は難しいのが現実です。   MySQL  5.7.6  以降のMySQLにアップグレードする事で、オンラインのままMySQLのレプリケーションを切り替える事が出来るよ うになりました。   5.6.x   Standard   ReplicaIon 5.7.6~   Standard   ReplicaIon 5.7.6 ~   GTID  Mode   ReplicaIon ① ②
  • 42. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Fabric  1.5:  高可用性  &  シャーディング   •  OpenStack  との統合   •  高可用性   –  サーバの監視;  スレーブの自動昇格と透過 的なレプリケーション切り替え   •  シャーディングによる拡張性   –  アプリケーションがシャードのキーを提供   •  整数型、日付型、文字列型   –  レンジまたはハッシュ   –  シャード再構成可能   •  Fabric対応コネクタ利用:  Python,  Java,   PHP,  .NET,  C  (labs)   –  プロキシを使わないので低レイテンシ、   ボトルネック無し   MySQL  Fabric   Connector   ApplicaIon   Read-­‐slaves   mappings   SQL   HA  group   Read-­‐slaves   HA  group   Connector   ApplicaIon   42   GA  
  • 43. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   43 MySQL  Slave  ReplicaIon  Filters  Dynamic   REPLICATE_DO_DB     REPLICATE_IGNORE_DB     REPLICATE_DO_TABLE     REPLICATE_IGNORE_TABLE   REPLICATE_WILD_DO_TABLE   REPLICATE_WILD_IGNORE_TABLE   REPLICATE_REWRITE_DB   MySQL-­‐5.7.3の新しく導入された “CHANGE  REPLICATION  FILTER”  コマンドを利用する事で、   ユーザーは*slave*  側のレプリケーションフィルターを動的に、サーバーの再起動せずに適用 する事が可能です。 MySQL-­‐5.7.3以前は、ユーザーはOpIonファイル(my.cnf)か、コマンドラインパラメータを使用 してフィルタリングルールを設定することが出来ますが、いずれの場合もMySQLサーバはフィ ルタリングルールの変更を反映する為に再起動する必要があります。 The  following  slave  replicaIon  filters  can  be   changed  dynamically  using  this  command. mysql>  STOP  SLAVE  SQL_THREAD;   Query  OK,  0  rows  affected  (0.05  sec)   mysql>  CHANGE  REPLICATION  FILTER   REPLICATE_DO_DB=(db1);   Query  OK,  0  rows  affected  (0.00  sec) 例)  フィルター設定手順 参照:MySQL-­‐5.7.3-­‐  Making  MySQL  Slave  ReplicaPon  Filters  Dynamic  
  • 44. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Labs 44
  • 45. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Labs •  先進的な機能や実験的な仕様のをいち早く公開   – コミュニティからのフィードバックをいただく   •  将来的にはMySQLサーバやMySQL  Cluster本体への統合を期待   – MySQL  5.6  memcached  API   – MySQL  Cluster  7.2  memcached  API   – MySQL  5.6  Performance  Schema   – MySQL  5.6  Intra-­‐schema  MulI  Thread  Slave   – MySQL  5.6  Online  Alter  Table   – MySQL  5.7  MulI  Source  ReplicaIon   – MySQL  5.7  New  OpImizer  Cost  Model
  • 46. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  シェアード・ナッシング型”疑似”同期レプリケーション   •  更新はマルチ・マスタ型でどこでも可能   –  矛盾の検知と解決(トランザクションのロールバック   –  “OpImisIc  State  Machine”  レプリケーション   •  グループメンバーの管理と障害検知を自動化   –  サーバのフェールオーバー不要   –  構成の拡張/縮小の柔軟性   –  単一障害点無し   –  自動再構成   •  既存構成との統合   –  InnoDB   –  GTIDベースのレプリケーション   –  PERFORMANCE_SCHEMA   MySQL  5.7:  グループレプリケーション   ApplicaIon   MySQL  Masters   ReplicaIon     Plugin   API   MySQL   Server   Group  Comms   (Corosync)   46   labs.mysql.com  
  • 47. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Early  Access  Feature  (EAF):  Data  DicIonary   Replacing  the  FRMs   •  A  single  repository  for  database  object  metadata   – InnoDB  tables  replace  .frm,  .trg,  .trn,  .par  files   •  Atomic    &  crash-­‐safe  operaIons  today   –   TransacIonal  in  the  future   •  Makes  adding  new  features  much  easier   •  Eliminates  complexity,  resolves  bugs     •  Improves  performance     •  Leverages  InnoDB  strengths     47  
  • 48. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   HTTP  Plugin  for  MySQL The  SQL  endpoint  and  JSON     $ curl --user basic_auth_user:basic_auth_passwd --url "http://127.0.0.1:8080/sql/myhttp/SELECT+name_first,+name_last+FROM +names" [ { "meta":[ {"type": 253,"catalog":"def","database":"myhttp","table":"names","org_table":"names","colu mn":"name_first","org_column":"name_first","charset":33,"length":120,"flags": 0,"decimals":0}, {"type": 253,"catalog":"def","database":"myhttp","table":"names","org_table":"names","colu mn":"name_last","org_column":"name_last","charset":33,"length":120,"flags": 0,"decimals":0} ], "data":[ ["Scott","Tiger"], ["Bruce","Wayne"], ], "status":[{"server_status":34,"warning_count":0}] } ] 48
  • 49. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   HTTP  Plugin  for  MySQL   •  MySQLサーバへのHTTP(S)エンドポイントを提供するプラグイン   •  結果をUTF8でエンコードされたJSONフォーマットにシリアライズ   •  3種類のユーザエンドポイント   – SQL   – CRUD  -­‐  Key-­‐Value   – JSON  -­‐  Document   •  For  more  details;   hbp://www.slideshare.net/nixnutz/hbp-­‐plugin-­‐for-­‐mysql-­‐39598656   49  
  • 50. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   HTTP  Plugin  for  MySQL  –  エンドポイント エンドポイント SQL CRUD JSON  ドキュメント URLプリフィックス hbp[s]://server:port/sql/ hbp[s]://server:port/crud/ hbp[s]://server:port/doc/ データ操作 全SQL文利用可能 主キーによるCRUD 主キーによるCRUD データ格納先 通常のテーブル 通常のテーブル テーブルのJSON列* SQL文利用可能 Yes No No HTTPメソッド GET GET,  PUT.  DELETE GET,  PUT.  DELETE   結果セットのメタデータ Yes No Yes トランザクション Yes Yes Yes 文字コード UTF-­‐8 UTF-­‐8 UTF-­‐8 ベーシック認証 Yes Yes Yes
  • 51. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Binlog  Events 従来の名称は Binlog  API •  バイナリログを読むためのC++ライブラリ   •  マスタ上のバイナリログかファイルを直接読み込み   – 2タイプの"transport"   – TCP  Transport  &  File  Transport   •  バイナリログの各イベントをデコード   – イベントをデコードするコードを含む   •  イベントドリブンAPI   hbp://mysqlhighavailability.com/author/nehakumari/   51
  • 52. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  JSON   •  参照が中心となる処理に最適化   •  ネイティブJSONデータ型   – バイナリフォーマットで格納され、処理や格納効率の向上を図る   •  ビルトインJSON関数群   – ドキュメントを効率的に検索、格納、更新、各種操作   – SQLでドキュメントのデータを簡単に操作   •  Generated  Columns(生成列)を使ってドキュメントのインデックスを作成     – InnoDBはSTOREDとVIRTUALの各タイプのGenerated  Columnsを利用可能   – 関数インデックスに該当するインデックスを用意   •  hbp://mysqlserverteam.com/json-­‐labs-­‐release-­‐overview/  
  • 53. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  JSON 53 mysql> CREATE TABLE employees (data JSON); Query OK, 0 rows affected (0,01 sec) mysql> INSERT INTO employees VALUES ('{"id": 1, "name": "Jane"}'); Query OK, 1 row affected (0,00 sec) mysql> INSERT INTO employees VALUES ('{"id": 2, "name": "Joe"}'); Query OK, 1 row affected (0,00 sec) mysql> select * from employees; +---------------------------+ | data | +---------------------------+ | {"id": 1, "name": "Jane"} | | {"id": 2, "name": "Joe"} | +---------------------------+ 2 rows in set (0,00 sec)
  • 54. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  JSON •  Document  ValidaIon   – on  insert  only     •  Efficient  Access   mysql> INSERT INTO employees VALUES ('some random text'); ERROR 3130 (22032): Invalid JSON text: "Expect a value here." at position 0 in value (or column) 'some random text'. mysql> select jsn_extract(data, '$.name') from employees; +-----------------------------+ | jsn_extract(data, '$.name') | +-----------------------------+ | "Jane" | | "Joe" | +-----------------------------+ 2 rows in set (0,00 sec)
  • 55. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  jsn_array() –  Build  a  JSON  array  from  list  of  expressions   •  jsn_object() –  Builds  JSON  objects  from  a  variable  length  list   of  key/value  pairs   •  jsn_insert() –  Adds  'missing'  data  to  JSON  documents   •  jsn_remove() –  Removes  abributes  from  exisIng  JSON   documents   •  jsn_set() –  Sets  abributes  within  JSON  documents   •  jsn_replace() –  Replaces  (but  doesn't  add)  abributes  within   JSON  documents   •  jsn_append() –  Adds  a  value  to  the  end  of  an  array   •  jsn_merge() –  Merges  two  arrays     •  jsn_extract() –  Returns  a  value  nested  inside  of  a  JSON   document   55   JSON  FuncIons  for  CreaIng  &  ManipulaIng    JSON  Documents  
  • 56. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  jsn_search() –  Search  for  values  within  JSON  documents  and   return  their  locaIons   •  jsn_contains() –  Checks  for  a  specific  element  and  value   •  jsn_contains_path() –  Determine  if  a  specific  element  is  present  in  a   document  in  a  specific  posiIon   •  jsn_valid() –  Check  if  document  is  a  valid  JSON  document   •  jsn_type() –  Find  the  type  of  a  value  within  a  document   •  jsn_keys() –  Returns  arrays  of  the  key  names  for  the  JSON   documents   •  jsn_length() –  Number  of  elements  in  JSON  document   •  jsn_depth() –  Level  of  nesIng  in  JSON  document   •  jsn_unquote() –  Helps  move  from  JSON  to  other  MySQL  types   •  jsn_quote() –  Helps  move  from  other  MySQL  types  to  JSON   56   Query  and  Search  JSON  FuncIons  
  • 57. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Generated  Columns   •  Virtual  Generated  Column   – Generated  on  the  fly  when  the  column  is  read   – Can  be  indexed   •  Stored  Generated  Column   – Generated  when  the  referenced  column  is  wriben  to   – Can  be  indexed   mysql> ALTER TABLE employees ADD name VARCHAR(100) GENERATED ALWAYS AS(jsn_extract(info, '$.name')) STORED; mysql> ALTER TABLE employees ADD INDEX(name); hbp://mysqlserverteam.com/   57   Digging  into  your  Documents   labs.mysql.com  
  • 58. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  コストやストレージを削減し、アプリ ケーション開発を簡単に   – ドキュメント間でのJOIN   – ドキュメント間での外部キー制約   – 同一トランザクション内で複数のドキュ メントの更新   •  全てのデータを活用可能に   – 単一のクエリ/トランザクションでドキュ メント内のデータとデーブルのデータを 参照更新   58   また新しいドキュメントデータベースが増える?  
  • 59. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   5.6   MySQL  Server  –  GA   InnoDBの改良やオプティマイザの刷新による性能&拡張性向上   レプリケーションの可用性向上  &  NoSQLインタフェース追加   MySQL  Cluster  -­‐  GA   秒間2億件のNoSQL処理、秒間200万件のSQL処理   リカバリや再起動時間の短縮   7.4   5.7   MySQL  Server  –  RC   リファクタリング  &  各機能のプラグイン化による性能と信頼性の向上   JSONやGroup  ReplicaPonなどクラウド環境での要件への対応   59
  • 60. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   The  world's  most  popular  open  source  database   世界で最も普及しているオープンソース データベース   60