MySQLリリースノートを読む会を開催してみました(8.0.21)

 2回目の「MySQL リリースノートを見てわいわい言う勉強会」を開催しました。今回は MySQL 8.0.21版。

mysql.connpass.com


 過去2回の知見、および今回得た情報の一部をメモとして書いておきます。

MySQL リリースノートのセクション

  • いくつかのカテゴリに分かれて解説されている
  • カテゴリは、一番下のほうに 「Functionality Added or Changed」と「Bugs Fixed」の2つがある。昔はこの2カテゴリしかなかった
  • 上部にあるカテゴリ解説は、上記2つのカテゴリの中から、特に解説したいものがある場合にピックアップして詳細に説明している、という位置づけっぽい
  • ピックアップされたものは「Functionality Added」「Bugs Fixed」からは除外される模様

MySQL リリースノートの見かた

  • 気になる機能等があれば、まずそれで検索(私の場合は "spatial"。人によっては JSON だったり)
  • deplicated なものは一応チェックしておいて損はない。Deprecation セクションがある場合はそこを見たり、そこ以外でも "depreca" とか "remove" とかで検索するとよさげ
  • 正しくない結果を返す系の変更(修正)を知りたければ "incorrect", "wrong" あたりで検索
  • サーバが落ちる系の問題については、"crash"という言葉はあまり使われないようで、"exit", "assert" あたりをキーワードにするとよさげ
  • Bug番号のうち 8桁の番号のものは、オラクル社内のみ閲覧可能なバグ管理システムの番号。オモテで一般人が見ることができるのは、6桁までの番号のもののみ(ついこの前、6桁に突入しました!)。セキュリティ関係や契約ユーザからの報告である関係など色々事情はあるようですが、コミュニティユーザとしては、修正後、あるいは修正後に1つ次のバージョンがリリースされたら、等のタイミングで、チケットを公開してほしいと思うところであります。
  • リリースノートは、公開後に変更(更新)されることがあることが、今回発覚! リリース直後には2項目しかなかった "Security Notes"が、今回のイベント当日時点では3項目に増えていた!(私は、リリース直後にリリースノートをPDFでダウンロード) この増えた項目は、もともと "Functionality Added or Changed" にあったもので、3項目に増えたあとは、"Functionality...." からは項目が消えていました(上部にピックアップ移動した扱い)。

f:id:sakaik:20200816231725p:plain

今回 (8.0.21)の話題から

  • マスター/スレーブ の名前を今後少しずつ変えていくよ!とリリースノートの冒頭でアナウンス
  • MySQL Shell の新機能、Backup/Load が速いやつ、気になる
  • 今回の Deplication は パーティショニング関係にひとつ。もともと あまり使われていない感じ?
  • JSON_VALUE() 関数が追加。シンタックスシュガーだという理解でいいのかな。
  • オプティマイザ・スイッチ subquery_to_derived 追加。良さげなときに、サブクエリをJOINに書き換えて実行してくれるスイッチ。デフォルトはオフ。 速くなるものとそうじゃないものがあるので「テスト用」とのこと。

会の進行方法に、まだ迷っている

 主催者&進行役 として、進め方等について、正直まだかなり迷っています。こういった会合は、単なる雑談会になってしまうと、分かる人だけで話が盛り上がって、何の話か分からない人が置いていかれるという状態になりがちです。なのでなるべく、どの部分の話をしているのか、何の話(前提知識等)をしているのかが共有できるようにと意識をしているのですが、逆にそれが全体の自由な流れを阻害してしまっているなぁとの感覚もあります。 進行役が介入しすぎるのは、この会の目指す方向と照らし合わせても、あまり良い状態ではないので、(前半の発表の部は今まで通りとしても)後半部分は、会の参加者の流れに自由に任せてみるという形式を次回は試してみたいと考えたりしています(開催までにまた考えが変わるかもしれません)。
 昔、私がよく参加していた勉強会(非IT系)では、「それなに?」「どうしてそんなことが?」「背景は?」などと、質問する人が一番偉い人、という事にしていました。もちろん、自分が本当にそれを知りたいから、詳しい人へのリスペクトを以てその解説をお願いする、というスタンスであり、相手を試そうとするものだったり、興味もないのに手間をかけさせたりするようなものではないことは、言うまでもありません。詳しい人は説明したがりであって欲しいし、そういう人に(その分野では)詳しくない人が気軽に教えを請うような、そんな場ができたら良いと思っています。

 また、今回 MySQL Shell のリリースノートを挙げた方がいて気づいた事もありました。本イベントは、MySQL本体のリリースノートでわいわい言うことを念頭に企画していたのですが、周辺ツール群はそれぞれにリリースノートがあるので、そちらも、興味がある人がいれば、当然話題にして良いことにします。MySQL Shell とか Workbench とか。特に誰も話題に取り上げなければ、MySQL本体のリリースノートを中心に話を進めます。


 ということで今回もたくさんの方のご参加、ありがとうございました。「車座」の雰囲気をまだ実現できていないところが一番の改善点でもあるので、今後は全員、自己紹介と気になるリリースノートの項目をひとつ挙げてから始めるなど、工夫をしていきたいと思います。

当日の模様(動画)

www.youtube.com