日本MySQLユーザ会会 in 長野2017に行ってきた話

 ユーザ会代表のお膝元である長野でMySQLのイベントをやろうと言って、ようやく実現された本イベント。いや、2年くらい前だったかに一度やったのだけどタイミングが合わなくて参加できず、今回「ようやく」参加できたのは私の都合というべきか。

 nseg.connpass.com


 こういうイベントには、時間をゆったりと取れるようになるべくお泊まりで参加することにしている私ですが、今回はやや立て込んでいたこともあり、日帰りにて。22:08に長野駅を出る電車に乗れば余裕で帰れるって、新幹線すごい!


 MySQLユーザ会会(MyNA会)は、13:30開始。5人の登壇者が次々に発表しました。
私は、トップバッターで「MySQLとは」というお題にて。
おそらく参加者のほとんどは、このレベルのことは知っているだろう、という中でのこのテーマ。シナリオ設定に随分頭を悩ませましたが、「そもそもデータベースソフト(RDBMS)なんて使わなくてもいいじゃん」というところから話を始めることで、MySQLのようなRDBMSを使う意義を考えてもらうという趣向にたどり着きました。実際お話してみて、なかなか悪くない視点だと感じたので(自画自賛)、今後この視点をもう少し広げてみようかななどと思った次第。

 加えて、デモとして、AWSRed Hat上に(yumリポジトリを使わずに)MySQLが動作する環境を作るお話をさせていただきました。気楽に環境を作って壊すことができると、MySQLをいじくり倒すのが怖くなくなる(=ぐちゃぐちゃになったらまた最初に戻せる)ので、ぜひ、この方法でなくても良いけれども、皆さんそれぞれの「まっさら環境立ち上げノウハウ」を持ってもらえたらな、と思います。

 この2つの発表資料は、slide share に公開しています(本日記末尾に埋め込み)。



 他の方の発表では、最新情報や知らなかったお話などたくさん聞かせていただき、たいへん勉強になりました。
バグ報告No.199 (2003年)が MySQL 8.0でようやく14年越しで修正されたとか*1、 もっと古くはバグ報告No.2(2002年)が最近直った(笑)のに、8.0 でまた動かなくなってしまった問題(笑)とか、面白かったです。

https://bugs.mysql.com/bug.php?id=199
https://bugs.mysql.com/bug.php?id=2


 あとは、MySQL 8.0 でついに Window関数が入るとか(今後 laboで公開、and/or 8.0.3以降に含まれるかも)。予てより「SQLのお勉強をしたいだけなら、postgreSQL」とお勧めしていた根拠のひとつがこの Window関数の未実装だったので、これは大歓迎の大事件です!待ち遠しいです。これで、SQLの勉強をしたい人に胸を張ってMySQLをお勧めできるようになります。


 夜は懇親会にて盛り上がり。この場でもたくさんのお話を聞かせてもらえて、たくさんの経験や価値観を聞かせてもらえて、充実した時間でした。
 朝7時半に家を出て、24時半に帰宅という慌ただしいスケジュールでしたが、早めに現地について少し観光もできたし(これは別日記にて)頭と心を満腹にして、仲間たちと一緒の新幹線に乗って帰宅しました。楽しかった~。




www.slideshare.net

www.slideshare.net


@yoku0825さんの発表資料:「yoku0825を支える技術」
https://www.slideshare.net/yoku0825/ss-75941359


@bizstationcorpさんの発表資料:「Transactd PHP ORM」
https://www.slideshare.net/bizstation/transactd-php-orm


今回の発表資料ではないけどCTEやWindow関数について最新情報が載っている資料(梶山さんより紹介)
https://www.slideshare.net/oysteing/common-table-expressions-cte-window-functions-in-mysql-80


f:id:sakaik:20170513131913j:plain:w400

*1:InnoDB auto_incrementの値が保持されないことがある問題。具体的には、INSERT→DELETE→再起動で、次のauto_increment値が、現在あるデータの最大値+1になる=DELETEされたはずの番号が再利用される=問題。値をメモリ上にしか保持していなかったことに起因する。