Percona Live 2019 in Texas Austin 現地レポ
今シーズンもPercona Liveがテキサス州オースティンで開催されました。
本イベントはMySQLのリーディングカンパニーであるPercona社が主催するイベントで、
MySQLやその他注目されているデータベースについての数多くの発表が行われます。
5/28-30の三日間でものすごい数のセッションが行われており、どれも見たい・・聞きたい・・という内容ばかりですが、弊社はPercona Liveスポンサーということもあり2名参加しましたので、随時レポートしていこうと思います。
5/28 Tutorial Day
5/28のイベントはTutorial Dayというタイトルどおり、一日中ハンズオン形式のセッションを行います。
私たちは以下の4セッションに参加しました。
- Expert MariaDB: Harness the Strengths of MariaDB Server
- Orchestrator Hands-On Tutorial
- InnoDB Architecture and Optimization for MySQL 8.0
- Percona XtraDB Cluster Break/Fix Lab
Expert MariaDB: Harness the Strengths of MariaDB Server
セッションの内容としては盛りだくさんでしたが、MariaDBの基本からMySQLと何が異なるのか、MariaDBにのみ存在する機能はなにか、という説明が行われました。
基本的には、すでにドキュメントでも説明された内容でしたが、MariaDBのQuery Cacheにはサブクエリキャッシュがあることや、スレッドプールが利用可能なことMySQLには無いSELECT .. ROWS EXAMINE句、KILLコマンドの拡張等便利そうな機能が多々ある事を再認識しました。
なお今後MariaDB 10.4ではoptimizer traceが実装されたりGalera v4が実装されたりしますので、個人的には非常に楽しみです。
Orchestrator Hands-On Tutorial
Orchestratorを実際にセットアップしてハンズオンを行うという実践的な内容となっていました。
https://github.com/github/orchestrator
https://github.com/github/orchestrator/tree/master/docs
まだ国内での導入事例は少ないですが、講義中にすでに使用している人という質問に対してちらほら手を挙げられていたので、海外では使用している会社も少なからずあるようです(50名程度の参加者中5,6人でした)
講義は満員で、注目度の高さも伺えました。
OrchestratorはMySQLのHAソリューションで、Orchestratorをセットアップすることで数十台のMySQLクラスタを管理できたり、etcd、consulとの連携機能が実装されていたりとモダンな作りになっています。
GUIでスイッチオーバ、スイッチバック等をGUIから行いましたが、上手く動作しており、非エンジニアにも利用しやすいインタフェースが備わっている事を実感しました。
※ もちろんCUIの操作に慣れている人向けにCLIクライアント、REST APIでの操作も可能です。
興味深いと感じたものとしては、Orchestratorは独自のGTID(Pseudo GTID)を実装していて、ポジションベースのレプリケーション環境でも、自由にマスタを入れ替えたり、多段レプリケーションで一貫したGTIDが使用できるようで、レガシーな環境にも導入しやすいように思いました。
InnoDB Architecture and Optimization for MySQL 8.0
Percona社のCEOである Peter が、”Performance Optimization”に着目してMySQL(InnoDB)を解説するセッションでした。
Beginner向けなため、基本的な内容が中心となっていましたが所々にPercona社が持つMySQLの経験(ノウハウ)が垣間見られて、とても有意義な時間でした。
いくつかセッションの中で印象に残った事項をメモしたいと思います。
- セッションの冒頭で「参加者の中でMySQLを利用中の方?」という即席アンケートがあり、過半数がMySQL5.7でしたが5.6を使用中の人も1/3程度いました。なお、ソースからビルドしたことがある人は殆どいませんでした…
- クラウド(特にAWS)を推奨する場面が多くみられ、事例としてLookout社が「$500K/year のデータベース費用の削減」に成功したことが紹介されていました
- 大半の場合、CPUの1コアが1つのクエリを処理する(Mostry Single Threaded handling of a single query)
- 並列処理を実現したいなら、マルチコア環境を用意する必要がある(Multi-core for highly concurrent workload)
- 並列性能は Thread_running ステータス変数のピーク値を確認するとよい
- CPU使用率の中でも、”steal”の値には特に注意すべき
- メモリについては、キャッシュのヒット率を常に意識すること
- AWS環境におけるPXCのベストプラクティス(出典:Perconaブログ)
- ネットワークを考慮する時は常にトレードオフになる(例: AWS multi regionを採用すると可用性は上がるが、レイテンシは悪化する)
- MySQLはバージョンアップの度にシングルスレッドの性能は下がることがある(5.0 > 5.1 > 5.5 = 5.6 > 5.7 = 8.0)
ちなみに、弊社でもこのセッションのようにMySQLに関するトレーニングを行うサービスを提供しておりますので興味がございましたら是非ご覧いただければ幸いです!
Percona XtraDB Cluster Break/Fix Lab
なんと講師が3人体制に加え、参加者1人につき1セットのPXC環境(app + node1~3)が用意される豪華なセッションでした。内容としては、PXCの特徴である Flow Control や SST などを実際のデモや参加者のハンズオンを織り交ぜつつ解説するというものでした。
ただ、参加者からの質問がかなり活発で中々本題が進まなかった結果、当初予定された内容を全て通すことができませんでした。しかしながら、セッションの資料はGitHubでPublicに公開されており、各自で適宜学習してくれという案内がありました(リンクはこちら)。
セッション参加者の熱気と、突発の質問にも的確に応える講師陣の知識量、そして手厚いアフターケアなど多くの点に驚かされました。
Welcome Reception
午後のセッションが終わった後は、スポンサーブースを中心に Welcome Reception が開かれました。
ドリンクを片手に皆さん様々な話に花を咲かせていました。MySQL界隈は比較的狭い世界なので、同窓会のような雰囲気でとても楽しかったです!
まとめ
1日目から非常に濃い内容となっていましたが、更に2日目、3日めはセッション数も多く、できる限り本ブログでお伝えしていこうと思います。
おまけ
会場の目の前にある公園から見た風景です。立ち並ぶビルの中に見慣れたロゴが・・・?