Oracle Open World 2018に参加してきました

こんにちわ。せじまです。
「MySQLの開発者とコミュニケーション取るとき、なんかの役に立つかもな」と思い、渡米前に斬新な充電スタイルの前世代 Apple Pencil 買っていったので、こないだ発表された新しい iPad Pro、見なかったことにしました。

はじめに

先日開催された Oracle Open World 2018 (以下OOW)に参加してきました。(基本MySQLの人なので、MySQLのセッションしか回ってないのですが)

筆不精なんでblogめいたものはあんまり書かなかったのですが、今年は軽く触れてみます。

OOWって、 MySQL 関係の人ってわりと見た目で分かるんですよね。
MySQL以外の方はビジネスカジュアルあるいはスーツの方が多いんですが、MySQLの人は登壇者含めて、Tシャツだったりジーンズだったりする人が少なくないです。
空き時間は、会場の Moscone West などの床に座ってノートPC叩いてたりするんで、「ああエンジニアの集まりだな」ってホッとするイベントです。

振り返り

The State of Dolphin

毎年恒例の MySQL の keynote セッションです。

Senior Vice President & MySQL の General Manager である Rich Mason さんの話に始まり、Vice President MySQL Engineering の Tomas Ulinさんによる MySQL8.0.13 などで追加&改善された機能についての説明、 MySQL Enterprise Edition で追加されたセキュリティ関連の機能、 Oracle Cloud における MySQL、 MySQL Analytics Service、そして、今回のOOWで登壇されるFacebook/Twitter/Booking.com の方々のセッション頭出しと、盛り沢山な内容でした。

今年は珍しく初日朝イチなので、(登壇者含めて)みんな時差ボケ大丈夫かと思っていたら、Tomasさんめっちゃノリノリでした。話したいことありすぎたらしく、会場で係のお姉さんが苦笑しながら「まいてまいて!」と壇上にサイン送り続けてたのが印象的でした。

実際、 MySQL 8.0 で追加&改善された要素は多岐にわたるので、その開発を統括されてるのってすごい方だと思いますし、MySQL8.0ってちょっとやそっとでは語り尽くせないんだろうなぁとも思います。

話したいことが多すぎて(たぶん)困ってる Tomas Ulin ですが、 2018-11-21 に都内で開催される Oracle MySQL Innovation Day 2018 秋 で基調講演して下さることになったようです。これは期待できますね!

Vision for Automating Oracle MySQL Cloud Service

今年5月、Oracle MySQL Innovation Dayの際、Oracle LabsのNipun AgarwalさんがMySQLをベースとした大規模データ分析サービスについて解説されていましたが、それの最新アップデートなどです。

ざっくりいいますと

  • MySQL Analytics Service は、インメモリの分析エンジン(RAPID)で大量データの分析を高速に実現可能。 Oracle Cloud 上のサービスとして展開する予定。
  • RAPIDのnodeはnodeを追加してスケールしまくるらしいけど、 Oracle Labs の Machine Learning などの技術を活かして、Auto Scaling 的な node の追加などが自動でできるように研究中
  • node の追加だけではなく、 MySQL の対する parameter tuning なども、人力ではなく自動でできるようにするように研究中
  • オンプレミス環境の MySQL と、 Oracle Cloud のMySQL Analytics Serviceとで replication できるようになるとのこと

といった発表がされてました。

私、春のOracle MySQL Innovation DayでもRAPIDの話は聞いてたのですが。そのときから追加されたものを踏まえると、「Common Table Expression、 Window関数、JSON_TABLE()などのOLAP向け機能拡張が多数なされた MySQL8.0のmasterと、様々な最適化を自動でやってくれるMySQL Analytics Serviceが replication できるとなると、OLAP用途ではかなり強いのでは? MySQL Analytics ServiceにCommon Table ExpressionやWindow関数を利用したSQL投げたとき、人力でやるよりも優れた最適化してくれるというなら、それものすごい便利だし、MySQL8.0でのOLAP向け拡張が最大限活かせるのでは?」と、かなり期待が持てる内容だなぁと感じました。

オンプレミス環境の MySQL と Oracle Cloud で replication して OLAP できるとなると、日本よりも電気代等安い(結果、instanceが安い)リージョンにあるOracle Cloudと replicaiton して、そのリージョンに対して SQL 投げてもいいと思えるのです。OLAP用途であれば、極論、太平洋を挟んで replication しても、その遅延は許容できる可能性があるわけです。

MySQLとreplicaitonできて、(きっと)MySQL8.0のsyntaxをサポートしてて、スケールアウトしてほしいとき勝手にスケールアウトしてくれて、 parameter tuning なども自動でやってくれるインメモリの分析用サービス、とても夢があると思うんですよね。日本ではまだあんまり話題に上ってない気がしますけど、 今後も注目していきたいと思っています。

ちなみに、OOWでMySQLのセッション聞いてるDBAの方々の多くは、私よりはるかに年季の入ったガチのDBAの方々なので、自動でMySQLがtuningできるよう研究中という件について、非常に活発な議論がされていました。

MySQL at Square Enix: The Seeds of MySQL Evolution

今年は珍しく、MySQLのセッションで日本からも登壇された方がいらっしゃいました。海外のゲーム業界の方がけっこう聞きに来られていて、質疑応答が盛り上がっていました。素晴らしいですね!

InnoDBなどについて

Tencent Gamesから寄贈されたInstant ADD COLUMNが、FacebookやBooking.comを始めとする各社のDBAから絶賛されてました。私もこれは非常に重要な機能だと思います。MySQLが進化していくにつれて、一台のDBサーバで扱えるデータベースのサイズがどんどん大きくなっていってるので、そのテーブルに対するカラム追加が簡単にできるというのは、非常に有意義ではないかと思います。

あと、私がOOWに行く主な理由なんですが、InnoDB開発マネージャの Sunny Bains と、MySQL Performance Architect の Dimitri KRAVTCHUK の二人と同時に会える機会が、(Percona Live を除くと)OOWくらいしか思いつかないからです。今回も彼らに有意義なフィードバックができたので、個人的には大満足でした。今後も、何らかの形で貢献していけるといいなぁと思うなどしています。

その他オススメのセッションなど

Oracle OpenWorld 2018ならびにOracle Code One 2018での資料、以下のURLで公開が始まっています。

https://oracle.rainfocus.com/widget/oracle/oow18/catalogoow18?search.oraclecloudplatform=1519161685660011EsCW

個人的にオススメなのは、

  • MySQL 8.0: What Is New in Optimizer and Executor

というセッションの資料です。Common table expressions の解説が、簡潔にして明瞭だなと感じました。

おわりに

今回、時代の流れを感じたことの一つは、 Twitterさんが自社でMySQL5.6に patch あてて使ってたのを、 MySQL5.7 Community Editionに移行していったという話をされたときです。5.7に移行した理由の一つは8.0へ移行するための備えとのことなんですが、そもそも、もうMySQL5.6にpatchを当てて使わなくても、5.7が機能や性能面で充分改善されているので、5.7の Community Edition に移行しても良いという判断がなされたとか。

かつて、2013年にOracle Open Worldと同時開催されていたMySQL ConnectというMySQL単独イベントに参加したとき、Facebook, Twitter, LinkedinといったMySQL界の大御所の方々が「おたくはどんな patch 書いて使ってますか?」みたいなノリで話をされていたんですが、そういえばあれから5年も経ったんだなぁ。そりゃMySQLも進化してるわなぁと、しみじみ思うなどしたりしました。