2年目のMySQL 8.0 の薄い本

B1dca90d4b3ffd2ccd918774e1ba170d?s=47 hmatsu47
March 25, 2020

2年目のMySQL 8.0 の薄い本

2020/03/25 MySQL Casual Talks Online(beta) Vol.1 LT

B1dca90d4b3ffd2ccd918774e1ba170d?s=128

hmatsu47

March 25, 2020
Tweet

Transcript

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

  2. 自己紹介 松久裕保(@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
  3. 最近の活動 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
  4. 地方民にはありがたい… ◦ [インフラ勉強会]エンジニア銭湯トークライブ<再演>(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
  5. どうでもいいことですが、 わたしがMySQL Casual Talksに参加すると、 アクシデント??が発生して、 yoku0825さんが参加できなくなる、 というジンクスがある とかないとか… (どうでもyokuはなかった…) 5

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

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

    今回、そのジンクスを (無理やり)破りました! オンラインですが
  8. 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
  9. 9

  10. 10

  11. 11

  12. 12

  13. とある方のお話 13

  14. MySQL 8.0の薄い本の基本的な使い方(~8.0.19対応版) 電子版PDFをメインに! ◦ MySQL 8.0の薄い本=リンク集&実行例(サンプル)集です ◦ サンプルもコピペしやすいです(途中の改行に注意!) 印刷版を使うときは章末のQRコードを活用してください ◦

    Webリンク集に飛びます ◦ 過去のバージョンもあります 巻末の索引を活用してください ◦ キーワードを眺めていると新たな発見があるかも? 14
  15. 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, …
  16. 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, … メンテナンスリリースとは?
  17. 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の 強化などが予告されています()
  18. 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ページ
  19. 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刷で少し増えました
  20. 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間で移動(アンカーリンク)
  21. 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ページ 全体のページ数が制約に (内容の見直しが必要?)
  22. いまの課題 ページ数増えすぎ問題(薄い本詐欺) ◦ 気楽にラクスルで印刷できる限界が近い(本文の上限120ページ) 実行例(サンプル)追加できない問題 ◦ ページ数増えすぎ問題から派生 ◦ 特に第7章(12ページ→15ページ) ◦

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

    大きな機能追加のネタが書けない… 23
  24. 24

  25. 25 入れるの無理です…

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

    2020/05/中 GitHub公開・配布開始予定 26
  27. 現在の活動 8.0.19対応版第2刷配布開始(2020/03/22~) 来たる8.0.20対応版に向けて、 ◦ QiitaのMySQL 8.0記事を地味に増やしていく(予定) ▪ 薄い本の中で手薄な部分を増強(サンプルの元ネタに使うため) ▪ ある日突然、DMR

    / RC時代の古いネタが現れたら察してください ◦ GitHubリポジトリにSQLの実行例を入れていく(予定) ▪ Issueに書いただけの「やるやる詐欺」からの脱却 でも、ついサボりがちにはなる… ◦ Oracle ACE維持システムのような「尻を叩く仕組み」は持ってない 27
  28. そうだ、これを利用しよう 過去の活動に胡坐をかいているとすぐ点数が下がる安心設計(?) 28 • 先日も技術力スコア が落ちたばかり • 元からちょっとだけ インフレ気味な気は する

    ◦ ビジネス力は除く
  29. というわけで MySQL 8.0の薄い本は続きます ◦ 2種類になります! ▪ 印刷版(抜粋版) ▪ 電子版PDF 今年もタダで配ります

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

    ◦ 新型コロナウイルスの件が落ち着いたら、リアルの勉強会でもお会いし ましょう! …だったのですが。 30
  31. 新型コロナウイルス、2nd Stageへ… ちょっと当分無理そうな気配 ◦ ついに東京で本気を出し始めた ◦ ゴールデンウィークの経過次第で3rd Stageが開幕してしまうかも… オフライン勉強会やイベント、企画即開催できない問題 ◦

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

    仮に終息したとして、どうしてもタイムラグはできる …なので。 32
  33. (こっそり)BOOTHで試験配布を始めました(有償です) https://hmatsu47.booth.pm/items/1920836 ※8.0.19対応版第2刷 33 • 本体100円 ◦ BOOTHの最低料金(物理) • あんしんBOOTHパック送料

    370円が必要です ◦ 送料のが高い問題 • とりあえず10冊 ◦ すでに印刷発注済なので、売れ ないと不良在庫に… • 8.0.20対応版でどうするかは 試験配布の結果次第
  34. というわけで(2回目) MySQL 8.0の薄い本は続きます ◦ 2種類になります! ▪ 印刷版(抜粋版) ▪ 電子版PDF 今年もオフラインイベント・勉強会ではタダで配ります

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

    BOOTHでは(当面)100円(実質470円)で販売します ◦ いまのところ予約実績ゼロです! 予約が入りました! 35