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.

MySQLドキュメントストアとCTE

504 views

Published on

2018年10月13日に開催された「第9回 関西DB勉強会」での発表資料です。

「第9回 関西DB勉強会」
https://kansaidbstudy.connpass.com/event/95803/

このセッションの後で、ここで紹介している機能を活用した
「MySQL8.0を使ってブロックチェーンを実装する」という発表がありました。
https://speakerdeck.com/masayuki14/mysql8-dot-0woshi-tuteburotukutienwoshi-zhuang-suru

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MySQLドキュメントストアとCTE

  1. 1. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | MySQLドキュメントストアとCTE 2018/10/13 Yoshiaki Yamasaki / 山﨑 由章 MySQL Global Business Unit MySQL Senior Sales Consultant
  2. 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするも のではない為、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量により決定されます。 2
  3. 3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL ドキュメントストアとは? MySQLでJSONドキュメントを扱う簡単な方法 3 #1 New Feature
  4. 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 4 リレーショナル データベース ハイブリッド データベース ドキュメント データベース SQL リレーショナルテーブル 外部キー NoSQL JSONドキュメント スキーマレスJSONコレクション
  5. 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQLドキュメントストア: コンポーネント • MySQL X プラグイン • リレーショナルおよびドキュメント操作の ためにXプロトコルを導入 • CRUD操作を標準SQL(リレーショナル表、 JSONデータ型および関数)にマップする • X プロトコル • 業界標準(Protobuf)に基づく新しいMySQL クライアントプロトコル • CRUD と SQL の両方で動作 • X DevAPI • Xプロトコルの上でCRUDおよびSQL操作を行う ための、非同期処理も可能な先進的なAPI • 新しいスキーマオブジェクトとしてコレクション を導入 • MySQL Shell • アプリプロトタイピングのためのインタラクティブ なX DevAPIモードを提供 • MySQL コネクタ • X DevAPI をサポートする豊富なコネクタ • JavaScript, Python, PHP, Java, C#, C++ 5
  6. 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL Connectors include X Dev API • Use SQL, CRUD APIs スキーマレスドキュメントおよびリレーショナルテーブルに対応 - Classic APIsに加えて、これらの全てが追加されます 6 Operation Document Relational Create Collection.add() Table.insert() Read Collection.find() Table.select() Update Collection.modify() Table.update() Delete Collection.remove() Table.delete() 参照) http://dev.mysql.com/doc/x-devapi-userguide/en/crud-operations-overview.html
  7. 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. ドキュメントストアがどのように動作するか? Architecture from the Application’s POV 7 フロントエンド CRUD リクエスト + JSON バックエンド MySQL JSON アプリケーション ドキュメントストア
  8. 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. ドキュメントストアがどのように動作するか? Architecture & Components 8 アプリ ケーション コネクタ MySQL X プラグ イン DevAPI Protobuf / X Protocol / TCP/IP SQL InnoDB
  9. 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL Shell • Javascript, Python, SQL でスクリプト利用可能 • MySQLスタンダードプロトコル と Xプロトコル の両方をサポート • ドキュメント&リレーショナルモデル • CRUDドキュメント&リレーショナルAPI • テーブル、JSON、タブ区切りの出力フォーマット • インタラクティブ操作&バッチ操作 MySQLの開発と管理のためのインターフェース 9
  10. 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 10 CTE(Common Table Expressions) • サブクエリの導出表 (derived table) の代替 • WITH句と呼ばれることも • 利点 – 複雑なSQLの簡素化(可読性向上) – パフォーマンス向上 – 再帰的なクエリの記述(階層構造のデータ参照、など) Feature Request from Developers WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’) SELECT * FROM t1;
  11. 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 11 再帰的CTEのシンプルな例 Print 1 to 10 : WITH RECURSIVE qn AS ( SELECT 1 AS a UNION ALL SELECT 1+a FROM qn WHERE a<10 ) SELECT * FROM qn; 1 2 3 4 5 6 7 8 9 10
  12. 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 次のセッションでは、これらの機能を利用しています • MySQL8.0を使ってブロックチェーンを実装する https://speakerdeck.com/masayuki14/mysql8-dot-0woshi-tuteburotukutienwoshi-zhuang-suru 12
  13. 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. お知らせ 13
  14. 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL Innovation Day 2018 秋 を開催します!! • Oracle Open World 2018で発表された最新情報をフィードバック!! – MySQL開発チームのVice PresidentであるTomas Ulinによる基調講演も予定しています (同時通訳有り) • 日時:2018年11月21日(水) 13:30~20:00 • 場所:AP新橋 • 参加費:無料 • 詳細、申込: – 申込ページ完成次第、以下に掲載されます https://www.oracle.com/search/events/_/N-2bu 14
  15. 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15

×