Slide 1

Slide 1 text

2年目の MySQL 8.0の薄い本 MySQL Casual Talks Online(beta) Vol.1 2020/03/25 まつひさ(hmatsu47)

Slide 2

Slide 2 text

自己紹介 松久裕保(@hmatsu47) https://qiita.com/hmatsu47 名古屋でWebインフラのお守り係(非DBA) ○ 会社ではAmazon Aurora(MySQL 5.6互換版)を 使ってます MySQL 8.0:趣味・遊び ○ MySQL 8.0の薄い本を作って配っています https://qiita.com/hmatsu47/items/ceb75caf46e3c761095d ○ 現在8.0.19対応版第2刷です ○ GitHubリポジトリのほか、印刷版を勉強会などでタダで配っていました 2

Slide 3

Slide 3 text

最近の活動 2/14のデブサミ(2日目)を最後に東京へは行っていません ○ 近年まれにみる事態(?) その後のオンラインイベント・勉強会参加は… ○ Object-Oriented Conference 2020(2/16) ○ [ぺちオブ]OOCリベンジセッション(概念投影によるオブジェクト指向設計の考え方とその方法)(2/27) ○ [インフラ勉強会]「入門 監視」輪読会#1(2/29) ○ [インフラ勉強会]オンプレ環境にWEB会議サーバを構築した話(2/29) ○ [インフラ勉強会]技術書同人誌について話そう!昼の部(3/1) ○ [インフラ勉強会]元秋葉原PCパーツ店員のパーツ選び方講座~電源ユニット編~(再演)(3/1) ○ [DevLOVE]チーム・ジャーニー・シリーズ「プロダクト作りにおける段階的発展とは何か?」(3/4) ○ ドメイン駆動設計 モデリング/実装入門勉強会(オンライン)(3/8) ○ [IT Search+]第5回 情報セキュリティ事故対応アワード(3/10) ○ DeNA TechCon 2020 Day1(3/11) ○ DeNA TechCon 2020 Day2 -昼の部-(3/12) ○ DeNA TechCon 2020 Day2 -夜の部-(3/12) 3

Slide 4

Slide 4 text

地方民にはありがたい… ○ [インフラ勉強会]エンジニア銭湯トークライブ<再演>(3/14) ○ [インフラ勉強会]「入門 監視」輪読会#2(3/15) ○ DDDオンライン勉強会 「集約」(3/15) ○ Observability Japan Online #1(3/17) ○ JJUGナイトセミナー「Java 14リリース記念!」(3/18) ○ [インフラ勉強会]vscode extensionをみんな共有しよう(3/20) ○ JP-RISSA第4回定例イベント(3/24) 3月に入ってオンライン登壇4回目です ○ [インフラ勉強会]技術書同人誌について話そう!夜の部(3/1) ○ 同・DBスペシャリスト午後2問1で覚えるRDBMSの機能 (1)(3/6) ○ 同・DBスペシャリスト午後2問1で覚えるRDBMSの機能 (2)(3/20) ○ そして今日 4

Slide 5

Slide 5 text

どうでもいいことですが、 わたしがMySQL Casual Talksに参加すると、 アクシデント??が発生して、 yoku0825さんが参加できなくなる、 というジンクスがある とかないとか… (どうでもyokuはなかった…) 5

Slide 6

Slide 6 text

どうでもいいことですが、 わたしがMySQL Casual Talksに参加すると、 アクシデント??が発生して、 yoku0825さんが参加できなくなる、 というジンクスがある とかないとか… (どうでもyokuはなかった…) 6

Slide 7

Slide 7 text

どうでもいいことですが、 わたしがMySQL Casual Talksに参加すると、 アクシデント??が発生して、 yoku0825さんが参加できなくなる、 というジンクスがある とかないとか… (どうでもyokuはなかった…) 7 今回、そのジンクスを (無理やり)破りました! オンラインですが

Slide 8

Slide 8 text

MySQL 8.0の薄い本とは? MySQL 8.0の新機能とMySQL 5.7からの変更点を記したものです ○ MySQL 5.7までに実装された機能は扱いません ○ そのあたりは通称「おさかな本」をお読みください https://www.shoeisha.co.jp/book/detail/9784798147406 リンク集&実行例(サンプル)集です ○ 自分で書いたQiitaの記事から実行例を抽出・改変したものに加えて、 公式リファレンスマニュアルや各種ブログのURLを集めてまとめました 8.0.15の頃から作り始めて、現在8.0.19に対応しています ○ 現時点で116ページあります(絶賛増殖中) 8

Slide 9

Slide 9 text

9

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

12

Slide 13

Slide 13 text

とある方のお話 13

Slide 14

Slide 14 text

MySQL 8.0の薄い本の基本的な使い方(~8.0.19対応版) 電子版PDFをメインに! ○ MySQL 8.0の薄い本=リンク集&実行例(サンプル)集です ○ サンプルもコピペしやすいです(途中の改行に注意!) 印刷版を使うときは章末のQRコードを活用してください ○ Webリンク集に飛びます ○ 過去のバージョンもあります 巻末の索引を活用してください ○ キーワードを眺めていると新たな発見があるかも? 14

Slide 15

Slide 15 text

MySQL 8.0(と仲間たち)の成長を振り返る(再) 15 バージョン リリース 主な追加機能(2019/02~2020/01) 8.0.15 2019/02 (グループレプリケーションのIPv6関連バグフィックス) 8.0.16 2019/04 CHECK制約, TLSv1.3, The ddl_rewriter Plugin, テンポラリテーブル変更, 非同期C API, … 8.0.17 2019/07 CLONEプラグイン, JSON Validation&検索関数, utf8mb4_0900_bin, Multi-Valuedインデックス, InnoDB Redoログアーカイブ, Lock Order Tool, antijoin, … 8.0.18 2019/10 ランダムパスワード生成, グループレプリケーション圧縮, Hash Join, … 8.0.19 2020/01 ユーザ別のログイン試行回数/タイマー, ALTER TABLE DROP/ALTER CONSTRAINT, CTEでのLIMIT句対応, InnoDB ReplicaSetなどのMySQL Shell AdminAPI新機能, 日時リテラルのtime zone offset, …

Slide 16

Slide 16 text

MySQL 8.0(と仲間たち)の成長を振り返る(再) 16 バージョン リリース 主な追加機能(2019/02~2020/01) 8.0.15 2019/02 (グループレプリケーションのIPv6関連バグフィックス) 8.0.16 2019/04 CHECK制約, TLSv1.3, The ddl_rewriter Plugin, テンポラリテーブル変更, 非同期C API, … 8.0.17 2019/07 CLONEプラグイン, JSON Validation&検索関数, utf8mb4_0900_bin, Multi-Valuedインデックス, InnoDB Redoログアーカイブ, Lock Order Tool, antijoin, … 8.0.18 2019/10 ランダムパスワード生成, グループレプリケーション圧縮, Hash Join, … 8.0.19 2020/01 ユーザ別のログイン試行回数/タイマー, ALTER TABLE DROP/ALTER CONSTRAINT, CTEでのLIMIT句対応, InnoDB ReplicaSetなどのMySQL Shell AdminAPI新機能, 日時リテラルのtime zone offset, … メンテナンスリリースとは?

Slide 17

Slide 17 text

MySQL 8.0(と仲間たち)の成長を振り返る(再) 17 バージョン リリース 主な追加機能(2019/02~2020/01) 8.0.15 2019/02 (グループレプリケーションのIPv6関連バグフィックス) 8.0.16 2019/04 CHECK制約, TLSv1.3, The ddl_rewriter Plugin, テンポラリテーブル変更, 非同期C API, … 8.0.17 2019/07 CLONEプラグイン, JSON Validation&検索関数, utf8mb4_0900_bin, Multi-Valuedインデックス, InnoDB Redoログアーカイブ, Lock Order Tool, antijoin, … 8.0.18 2019/10 ランダムパスワード生成, グループレプリケーション圧縮, Hash Join, … 8.0.19 2020/01 ユーザ別のログイン試行回数/タイマー, ALTER TABLE DROP/ALTER CONSTRAINT, CTEでのLIMIT句対応, InnoDB ReplicaSetなどのMySQL Shell AdminAPI新機能, 日時リテラルのtime zone offset, … なお、8.0.20ではHash Joinの 強化などが予告されています()

Slide 18

Slide 18 text

MySQL 8.0の薄い本の成長を振り返る(再) 18 バージョン 発行(初刷) URL(Manual) うち変更分 URL全体 実行例 ページ数 8.0.15 2019/04/13 206個 435個 17本 108ページ 8.0.16 2019/05/02 219個 1個 457個 18本 112ページ 8.0.17 2019/08/08 253個 4個 522個 18本 114ページ 8.0.18 2019/10/27 275個 7個 564個 18本 114ページ 8.0.19 2020/01/19 280個 4個 588個 18本 116ページ

Slide 19

Slide 19 text

MySQL 8.0の薄い本の成長を振り返る(再) 19 バージョン 発行(初刷) URL(Manual) うち変更分 URL全体 実行例 ページ数 8.0.15 2019/04/13 206個 435個 17本 108ページ 8.0.16 2019/05/02 219個 1個 457個 18本 112ページ 8.0.17 2019/08/08 253個 4個 522個 18本 114ページ 8.0.18 2019/10/27 275個 7個 564個 18本 114ページ 8.0.19 2020/01/19 280個 4個 601個 18本 116ページ 第2刷で少し増えました

Slide 20

Slide 20 text

MySQL 8.0の薄い本の成長を振り返る(再) 20 バージョン 発行(初刷) URL(Manual) うち変更分 URL全体 実行例 ページ数 8.0.15 2019/04/13 206個 435個 17本 108ページ 8.0.16 2019/05/02 219個 1個 457個 18本 112ページ 8.0.17 2019/08/08 253個 4個 522個 18本 114ページ 8.0.18 2019/10/27 275個 7個 564個 18本 114ページ 8.0.19 2020/01/19 280個 4個 601個 18本 116ページ 意外と変わる ・最近出た機能のページが移動(Dynamic Privileges, TDE, InnoDB ClusterのClone) ・細かい項目がServer Options~System Variables間で移動(アンカーリンク)

Slide 21

Slide 21 text

MySQL 8.0の薄い本の成長を振り返る(再) 21 バージョン 発行(初刷) URL(Manual) うち変更分 URL全体 実行例 ページ数 8.0.15 2019/04/13 206個 435個 17本 108ページ 8.0.16 2019/05/02 219個 1個 457個 18本 112ページ 8.0.17 2019/08/08 253個 4個 522個 18本 114ページ 8.0.18 2019/10/27 275個 7個 564個 18本 114ページ 8.0.19 2020/01/19 280個 4個 601個 18本 116ページ 全体のページ数が制約に (内容の見直しが必要?)

Slide 22

Slide 22 text

いまの課題 ページ数増えすぎ問題(薄い本詐欺) ○ 気楽にラクスルで印刷できる限界が近い(本文の上限120ページ) 実行例(サンプル)追加できない問題 ○ ページ数増えすぎ問題から派生 ○ 特に第7章(12ページ→15ページ) ○ 大きな機能追加のネタが書けない… 22

Slide 23

Slide 23 text

いまの課題 ページ数増えすぎ問題(薄い本詐欺) ○ 気楽にラクスルで印刷できる限界が近い(本文の上限120ページ) 実行例(サンプル)追加できない問題 ○ ページ数増えすぎ問題から派生 ○ 特に第7章(12ページ→15ページ) ○ 大きな機能追加のネタが書けない… 23

Slide 24

Slide 24 text

24

Slide 25

Slide 25 text

25 入れるの無理です…

Slide 26

Slide 26 text

そして、決めました! 2種類に分けます! ○ 印刷版  :機能説明+公式マニュアル等へのリンク+実行例のみ (抜粋版) 各種リンクを省いた分、実行例を増やします! ○ 電子版PDF:印刷版の内容+各種リンク(ブログなど)       今まで通りの構成で、さらにページ数が増えます! 8.0.20対応版から! ○ 2020/05/中 GitHub公開・配布開始予定 26

Slide 27

Slide 27 text

現在の活動 8.0.19対応版第2刷配布開始(2020/03/22~) 来たる8.0.20対応版に向けて、 ○ QiitaのMySQL 8.0記事を地味に増やしていく(予定) ■ 薄い本の中で手薄な部分を増強(サンプルの元ネタに使うため) ■ ある日突然、DMR / RC時代の古いネタが現れたら察してください ○ GitHubリポジトリにSQLの実行例を入れていく(予定) ■ Issueに書いただけの「やるやる詐欺」からの脱却 でも、ついサボりがちにはなる… ○ Oracle ACE維持システムのような「尻を叩く仕組み」は持ってない 27

Slide 28

Slide 28 text

そうだ、これを利用しよう 過去の活動に胡坐をかいているとすぐ点数が下がる安心設計(?) 28 ● 先日も技術力スコア が落ちたばかり ● 元からちょっとだけ インフレ気味な気は する ○ ビジネス力は除く

Slide 29

Slide 29 text

というわけで MySQL 8.0の薄い本は続きます ○ 2種類になります! ■ 印刷版(抜粋版) ■ 電子版PDF 今年もタダで配ります ○ 新型コロナウイルスの件が落ち着いたら、リアルの勉強会でもお会いし ましょう! 29

Slide 30

Slide 30 text

というわけで MySQL 8.0の薄い本は続きます ○ 2種類になります! ■ 印刷版(抜粋版) ■ 電子版PDF 今年もタダで配ります ○ 新型コロナウイルスの件が落ち着いたら、リアルの勉強会でもお会いし ましょう! …だったのですが。 30

Slide 31

Slide 31 text

新型コロナウイルス、2nd Stageへ… ちょっと当分無理そうな気配 ○ ついに東京で本気を出し始めた ○ ゴールデンウィークの経過次第で3rd Stageが開幕してしまうかも… オフライン勉強会やイベント、企画即開催できない問題 ○ 仮に終息したとして、どうしてもタイムラグはできる 31

Slide 32

Slide 32 text

新型コロナウイルス、2nd Stageへ… ちょっと当分無理そうな気配 ○ ついに東京で本気を出し始めた ○ ゴールデンウィークの経過次第で3rd Stageが開幕してしまうかも… オフライン勉強会やイベント、企画即開催できない問題 ○ 仮に終息したとして、どうしてもタイムラグはできる …なので。 32

Slide 33

Slide 33 text

(こっそり)BOOTHで試験配布を始めました(有償です) https://hmatsu47.booth.pm/items/1920836 ※8.0.19対応版第2刷 33 ● 本体100円 ○ BOOTHの最低料金(物理) ● あんしんBOOTHパック送料 370円が必要です ○ 送料のが高い問題 ● とりあえず10冊 ○ すでに印刷発注済なので、売れ ないと不良在庫に… ● 8.0.20対応版でどうするかは 試験配布の結果次第

Slide 34

Slide 34 text

というわけで(2回目) MySQL 8.0の薄い本は続きます ○ 2種類になります! ■ 印刷版(抜粋版) ■ 電子版PDF 今年もオフラインイベント・勉強会ではタダで配ります BOOTHでは(当面)100円(実質470円)で販売します ○ いまのところ予約実績ゼロです! 34

Slide 35

Slide 35 text

というわけで(2回目) MySQL 8.0の薄い本は続きます ○ 2種類になります! ■ 印刷版(抜粋版) ■ 電子版PDF 今年もオフラインイベント・勉強会ではタダで配ります BOOTHでは(当面)100円(実質470円)で販売します ○ いまのところ予約実績ゼロです! 予約が入りました! 35