Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
db	
  tech	
  s...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
以下の事項は、弊社の⼀一般的な製...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
The	
  world's	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   4	
20	
 15	
10	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  MySQL製品のシンプルで...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
GitHubへのMySQLソース...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.6	
  ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Enterpr...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Enterpr...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Enterpr...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Cluster...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Cluster...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Cluster...
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  製品ロードマ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   16	
4.0	
  
全文検索...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  性能	
  
– ミューテ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7	
  ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
InnoDB	
  -­‐	
 ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
InnoDB	
  -­‐	
 ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Labs	
2...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Labs	
•...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  シェアード・ナッシング型”...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Early	
  Access	...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
InnoDB	
  
New	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
EAF:	
  InnoDB	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
HTTP	
  Plugin	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
HTTP	
  Plugin	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
HTTP	
  Plugin	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
HTTP	
  Plugin	
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Binlog	...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  Binlog	...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
 ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
 ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MySQL	
  5.7:	
 ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  jsn_array()
–...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  jsn_search()
...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Generated	
  Col...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  コストやストレージを削減し...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
5.6	
  
MySQL	
 ...
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
The	
  world's	
...
Upcoming SlideShare
Loading in …5
×

[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Labs by 日本オラクル株式会社 MySQL GBU 梶山隆輔

7,490 views

Published on

MySQLの開発チームでは次世代版のMySQLサーバ MySQL 5.7を開発中です。このセミナーではMySQL 5.7の最新の開発動向概要に加えて、様々な実験的な機能をお試しいただいている実験室「MySQL Labs」で公開しているプロジェクトを解説します。MySQL JSONではMySQLがトランザクション対応のドキュメントデータベースとして動作し、HTTPプラグインはMySQLサーバにHTTPにて通信可能となります。

Published in: Technology
  • Be the first to comment

[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Labs by 日本オラクル株式会社 MySQL GBU 梶山隆輔

  1. 1. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   db  tech  showcase  Tokyo  2015   #dbts2015  #D23   Ryusuke  Kajiyama  /  梶山隆輔  /  @RKajiyama   MySQL  Sales  ConsulIng  Senior  Manager,  Asia  Pacific  &  Japan   D:23  MySQL  Labs
  2. 2. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   以下の事項は、弊社の⼀一般的な製品の⽅方向性に関する概要を説明するものです。 また、情報提供を唯⼀一の⽬目的とするものであり、いかなる契約にも組み込むことはできません。 以下の事項は、マテリアルやコード、機能を提供することをコミットメントするものではない為 、購買決定を⾏行行う際の判断材料料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量量により決定されます。 SAFE  HARBOR  STATEMENT   2  
  3. 3. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   The  world's  most  popular  open  source  database   世界で最も普及しているオープンソース データベース  
  4. 4. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   4 20 15 10 5  A  Year  of  Anniversaries!
  5. 5. 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       6   MySQLコミュニティレポジトリ:  Yum,  APT,  NuGET  
  6. 6. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   GitHubへのMySQLソースコードの掲載   •  MySQL開発チームのGit   –  各ディストリビューションにてより迅速、柔軟に   –  優れたツールの利用が可能に   –  幅広くいコミュニティとの交流   •  GitHub  for  MySQL  Community   –  コミュニティや関連プロジェクトへのより簡単かつ高速なソースコードの提供   –  ベータ版のレポジトリ: haps://github.com/mysql   –  詳細:  hap://mysqlrelease.com   7  
  7. 7. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.6  リファレンスマニュアル日本語版 h;p://dev.mysql.com/doc/refman/5.6/ja/index.html 8
  8. 8. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Enterprise  EdiIon 9
  9. 9. 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  EncrypMon   • AES256による対称暗号   • 公開鍵方式 /  非対称暗号   • 暗号学的ハッシュによる電子署 名、照合および妥当性確認   MySQL  Enterprise  Audit   • 接続、ログインおよびSQL実行 の記録   • ポリシーベースのフィルタリン グおよびログ切り替え   • オラクルの監査仕様に準拠し たXMLベースの出力   MySQL  Enterprise  EdiIonによるデータ保護
  10. 10. 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  ApplicaMons  
  11. 11. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Cluster  7.4  GA 12
  12. 12. 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 Apps JPA Cluster  JPA PHP Perl Python Ruby JDBC Cluster  J JS Apache Memcached MySQL JNI Node.JS mod_nd b ndb_eng NDB  API  (C++)
  13. 13. 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   9th  April  2015   Copyright  2015,  oracle  and/or  its  affiliates.  All  rights  reserved   14  
  14. 14. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  製品ロードマップ      
  15. 15. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   16 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オプション      
  16. 16. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  性能   – ミューテックスの分割   – 参照専用トランザクション   – SSDへの最適化   – UNDO表領域   – サブクエリ高速化   – JSON  EXPLAIN   – Memcached  API   •  可用性 – Global  TransacIon  ID   – 自動フェールオーバー   – マルチスレッド・スレーブ   – Binlog  グループ・コミット   – 行ベース・レプリケーショ ン最適化   – クラッシュセーフ・   スレーブ   – チェックサム 17 •  運用効率   – オンラインALTER  TABLE   – バッファプールのダンプ   およびインポート   – トランスポータブル   表領域   – セキュリティ強化   •  パスワードポリシー   •  SHA256   •  パスワード失効   MySQL5.6での機能拡張
  17. 17. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7  Release  Candidate  Available!   18   InnoDBの機能拡張:     Online&Bulk  load  オペレーション高速化   レプリケーションの改善    (mulI-­‐source,  mulI-­‐threaded  slaves等)   新しいオプティマイザコストモデル:   greater  user  control  &  beaer  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...  hap://mysqlserverteam.com/the-­‐mysql-­‐5-­‐7-­‐7-­‐release-­‐candidate-­‐is-­‐available/    
  18. 18. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   InnoDB  -­‐  Full  Text  Search  (FTS)  -­‐  ngram 19 InnoDB  Full  Text  Search  (FTS)  にて 中国語,  韓国語,日本語をサポート   N-­‐gram  support  for  Chinese  and  Korean,  addiIonal  MeCab  support  for  Japanese   CREATE  TABLE  `N_DEMO`  (  `FTS_N_ID`  bigint(20)  unsigned  NOT  NULL  AUTO_INCREMENT,  `Itle`  varchar(100)  DEFAULT  NULL,       PRIMARY  KEY  (`FTS_N_ID`),  FULLTEXT  KEY  `ngram_idx`  (`Itle`)  /*!50100  WITH  PARSER  `ngram`  */     )  ENGINE=InnoDB  AUTO_INCREMENT=1  DEFAULT  CHARSET=uv8mb4;  
  19. 19. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   InnoDB  -­‐  Full  Text  Search  (FTS)  -­‐  mecab 20 InnoDB  Full  Text  Search  (FTS)  にて 中国語,  韓国語,日本語をサポート   N-­‐gram  support  for  Chinese  and  Korean,  addiIonal  MeCab  support  for  Japanese   CREATE  TABLE  `M_DEMO`  (  `FTS_M_ID`  bigint(20)  unsigned  NOT  NULL  AUTO_INCREMENT,  `Itle`  varchar(100)  DEFAULT  NULL,       PRIMARY  KEY  (`FTS_M_ID`),    FULLTEXT  KEY  `mecab_idx`  (`Itle`)  /*!50100  WITH  PARSER  `mecab`  */     )  ENGINE=InnoDB  AUTO_INCREMENT=1  DEFAULT  CHARSET=uv8mb4;  
  20. 20. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Labs 21
  21. 21. 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 22
  22. 22. 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)   23   labs.mysql.com  
  23. 23. 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     24  
  24. 24. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   InnoDB   New  Data  DicIonary:  Architecture   Query  ExecuIoner   Parser   OpImizer   Data   DicIonary   Tablespace   Data  DicIonary  Internal  API   Internal  SE   Data  DicIonary  External  API   Plugin   Storage   Engine   Plugin   Storage   Engine   Plugin   Plugin   Plugin   User  Table  Tablespace  
  25. 25. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   EAF:  InnoDB  Compression   Thank  you,  SanDisk  Fusion-­‐io   •  ページレベルでの透過的圧縮   – バックグラウンドスレッドにより自動的に圧縮   – IOレイヤにて管理   – スパースファイルを使用。サポート済みOSカーネルおよびファイルシステムが必要   •  IO削減     – MySQLの性能向上   – ストレージ利用効率向上   – 書き込みサイクル削減、SSDのライフサイクルを維持   •  全てのInnoDBのデータ、システム表領域、UNDOログが対象   26   labs.mysql.com  
  26. 26. 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;   hap://www.slideshare.net/nixnutz/hap-­‐plugin-­‐for-­‐mysql-­‐39598656   27  
  27. 27. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   HTTP  Plugin  for  MySQL The  SQL  endpoint  and  JSON   28 shell> curl --user basic_auth_user:basic_auth_passwd --url "http://127.0.0.1:8080/sql/db/SELECT+1” [ { "meta":[ {"type":8,"catalog":"def","database":"","table":"”, "org_table":"","column":"1","org_column":"","charset":63, "length":1,"flags":129,"decimals":0} ], "data":[ ["1"] ], "status":[{"server_status":2,"warning_count":0}] } ]
  28. 28. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   HTTP  Plugin  for  MySQL  -­‐  IniIal  version   •  HTTP  Basic  AuthenIcaIon  for  SSL  and  Non-­‐SSL     •  No  query  cache  support     •  No  commercial  thread  pool  plugin  support     •  Not  all  MySQL  pluggable  auth  methods  supported     •  Unlimited:  all  SQL  statements     •  Unlimited:  everything  the  server  returns     29   shell> curl --user basic_auth_user:basic_auth_passwd --url "http://.../sql/db/SELECT+col_float+FROM+sql_types"
  29. 29. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   HTTP  Plugin  for  MySQL GET  =  SELECT   30 shell> curl ... --url "http://../crud/db/sql_types/1" { "id" : "1", "col_char" : "CHAR(127)" , "col_null" : null, "col_date" : "2014-12-23", "col_decimal" : "123.45", "col_float" : "0.9999", "col_bigint" : "9223372036854775807" } shell> curl ... --url 'http://../crud/db/simple/' { "errno" : 2000, "error" : "The request URL must include a primary key value” }
  30. 30. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Binlog  Events Formerly  known  as  Binlog  API •  C++  library  for  reading  Binary  log   •  Can  read  binary  log  from  server  or  from  file   – One  transport  for  each  kind  of  source   – Currently  have  file  and  mysql  transport   •  Decode  binary  log  events   – Contain  code  to  decode  the  events   •  Event  Driven  API   31
  31. 31. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  Binlog  Events 従来の名称は Binlog  API •  バイナリログを読むためのC++ライブラリ   •  マスタ上のバイナリログかファイルを直接読み込み   – 2タイプの"transport"   – TCP  Transport  &  File  Transport   •  バイナリログの各イベントをデコード   – イベントをデコードするコードを含む   •  イベントドリブンAPI   hap://mysqlhighavailability.com/author/nehakumari/   32
  32. 32. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  JSON   •  OpImized  for  read  intensive  workload     •  NaIve  JSON  data  types   – NaIve  internal  binary  format  for  efficient  processing  &  storage   •  Built-­‐in  JSON  funcIons   – Allowing  you  to  efficiently  store,  search,  update,  and  manipulate  Documents   •  JSON  Comparator   – Allows  for  easy  integraIon  of  Document  data  within  your  SQL  queries   •  Indexing  of  Documents  using  Generated  Columns     – InnoDB  supports  indexes  on  both  stored  and  virtual  Generated  Columns   – New  expression  analyzer  automaIcally  uses  the  best  “funcIonal”  index  available   6/19/15   Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved     33  
  33. 33. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  JSON 34 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)
  34. 34. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MySQL  5.7:  JSON •  Document  ValidaIon   – on  insert  only     •  Efficient  Access   35 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)
  35. 35. 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  aaributes  from  exisIng  JSON   documents   •  jsn_set() –  Sets  aaributes  within  JSON  documents   •  jsn_replace() –  Replaces  (but  doesn't  add)  aaributes  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   6/19/15   36   JSON  FuncIons  for  CreaIng  &  ManipulaIng    JSON  Documents   Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved    
  36. 36. 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   6/19/15   37   Query  and  Search  JSON  FuncIons   Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved    
  37. 37. 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  wriaen  to   – Can  be  indexed   mysql> ALTER TABLE employees ADD name VARCHAR(100) GENERATED ALWAYS AS(jsn_extract(info, '$.name')) VIRTUAL; mysql> ALTER TABLE employees ADD INDEX(name); hap://mysqlserverteam.com/   38   Digging  into  your  Documents   labs.mysql.com   6/19/15   Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved    
  38. 38. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  コストやストレージを削減し、アプリ ケーション開発を簡単に   – ドキュメント間でのJOIN   – ドキュメント間での外部キー制約   – 同一トランザクション内で複数のドキュ メントの更新   •  全てのデータを活用可能に   – 単一のクエリ/トランザクションでドキュ メント内のデータとデーブルのデータを 参照更新   6/19/15   39   また新しいドキュメントデータベースが増える?   Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved    
  39. 39. 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  ReplicaMonなどクラウド環境での要件への対応  
  40. 40. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   The  world's  most  popular  open  source  database   世界で最も普及しているオープンソース データベース  

×