MySQLアンカンファレンス#008を開催しました

 
メディア統括本部 サービスリライアビリティグループ(SRG)の鬼海雄太(@fat47)です。
#SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。
本記事は、先日開催したMySQLアンカンファレンス#008について紹介しています。
 

MySQLアンカンファレンスとは?


MySQLアンカンファレンスは2024年2月に@tom__boさんによって立ち上げられ、「会社の枠を超えて気軽にMySQLについて語り合える場」のような緩めのイベントとして運営されています。
開催に対する思いはこちらのtom__boさんのブログを御覧ください。
 
今回から、共同開催者として私@fat47@mconfjpさんが加わり、イベントの開催を継続的におこなっていけるような体制にしました。

MySQLアンカンファレンス#008の内容紹介


今回のMySQLアンカンファレンス#008では主催メンバー3人がそれぞれセッションをおこない、そこから派生した雑談などをメインに進行していきました。

発表1: 「大規模Aurora MySQLクラスタの無停止アップグレードを支えたAurora Blue/Green Deployment機能」

1つ目の発表は私@fat47がおこないました。
Amebaブログの大規模Aurora MySQLクラスタのアップグレードを、Aurora Blue/Green Deployment機能をつかっておこなった話や、その機能の概要について説明しています。
資料はこちら
 
B/G機能の説明では切り替えの流れを図解で説明しました。
遭遇したトラブルについても紹介していて、
Blue/Green間のレプリケーションステータスはコンソール上からはパッと見確認しづらい点や、SELECT COUNTの低速化への対応を例に紹介しています。

発表2: 「Claudeの助力を得てMySQL OnlineDDL(INPLACE)のコードを読む」

2つ目はもりたさん( @mconfjp )の発表で、Claudeを活用してMySQLのOnlineDDL部分のソースコードを読んでみるという内容でした。
資料はこちら
 
過去にオンラインDDLの仕組みを調べてブログにまとめてられていましたが、実際のMySQLのソースコードを読むことでさらに理解を深めることに挑戦されていました。
MySQLのソースコードは巨大で一から読むのはしんどいので、生成AIのClaudeをつかって読み進めたことで、ざっくりの構造を掴むことはできたそうです。

発表3: 安全なDDLの実行を目指して 〜(その1)取得するMDLの把握〜

最後は、@tom__boさんによる、メタデータロック(MDL)の理解を深める発表です。
資料はこちら
 
MDLとはテーブル構造変更時などデータベースオブジェクトへの同時アクセス管理・一貫性確保目的で取得されるロックです。
MDLの理解を深めることで、より安全にDDLを実行できるようになるので調査されていました。
 
MDLはperformance_schema.metadata_locksテーブル経由確認することができますが、それでは取得中または待機中ロックしか確認できません。
 
そのため@tom__boさんは、MySQLソースコードを改修し、プリントデバッグ方式による詳細ログ出力を追加して調査をしていたそうです。

次回開催予定と登壇者の募集


今後もMySQLアンカンファレンスは3ヶ月ごとの頻度で開催予定です。
次回#009は2025年7月頃開催予定となっていますので、ご興味ある方々ぜひお気軽にご参加ください!
Xのコミュニティ機能で「#MySQLアンカンファレンス」がありますので、そちらに入っていただけると開催日決まり次第お知らせできるかとおもいます。
 
お話してくれるかたも絶賛募集中です。
MySQL単体だけに限らず、各パブリッククラウドのMySQL互換製品、MariaDB、Percona for MySQLに関連した運用や困りごとの発表など、なんでもOKです。
5分程度のLTや長い発表でも大歓迎ですので、お気軽に開催者(@tom__bo , @mconfjp , @fat47)に声をかけていただけると嬉しいです。
資料をつくった発表じゃなくても、テーマだけ決めて参加者同士で意見交換してみたいとかもOKです。