Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MySQLの今後に期待

Avatar for kentsu kentsu
July 01, 2026
53

 MySQLの今後に期待

Avatar for kentsu

kentsu

July 01, 2026

Transcript

  1. 自己紹介 - けんつ (@lrf141) - サイボウズ株式会社 DBRE - MySQL のパッチ・怪しい改造を書く

    - MOCO のメンテナ - 最近はまってること - MySQL Component と Optimizer - 最近いやなこと - mysql_native_password 廃止とパスワードローテーション - 溢れかえるスローログ
  2. 最近やってたこと紹介 - Support zstd compression (Bug #117675) - Clone Plugin

    の話題 - zlib では CPU が 100% に張り付いて、無圧縮ではネットワーク帯域が厳しい - zstd なら良いところ取りできるのでは?ということやってみた - メモリリークがあったので修正しました、、、 - Add an option to output slow logs in JSON format (Bug #120341) - k8s 環境で MySQL を運用していてとにかくスローログがパースしにくい - Grafana での検索が特につらい - 複数行で一つの意味を持つログを各行に分割してしまうため - 色々対策はあるが、いっそもう JSON でスローログだしたいでしょ?というモチベーション
  3. 当日スケジュール JST AM 00:00 スタート JST AM 06:30 メインセッション前半終了 JST

    AM 07:30 ブレイクアウトルーム1, 2 とメインセッション後半開始 JST AM 09:30 ブレイクアウトルーム1, 2 とメインセッション後半終了 全部出ようと思うと中々にタフなスケジュールでした。
  4. 当日スケジュール JST AM 00:00 スタート JST AM 06:30 メインセッション前半終了 ↕

    特にここの 1h が徹夜にはきつい!! JST AM 07:30 ブレイクアウトルーム1, 2 とメインセッション後半開始 JST AM 09:30 ブレイクアウトルーム1, 2 とメインセッション後半終了 全部出ようと思うと中々にタフなスケジュールでした。
  5. 当日スケジュール - MySQL Component - Vector 系 - パフォーマンス問題 -

    機能的な不足 (SQL 標準含む) - オプティマイザ - etc…..
  6. これまでの OSS としての MySQL - とにかく閉鎖的で情報が見えないイメージ - 近年は方向性がわからないことが多かった - 本体より

    Heatwave ?? MySQL AI ?? - OSS としては MariaDB の方がよくやってるイメージ - パッチを出す難易度がとにかく高い - パッチを出してもどういう扱いなのかよくわからない - 開発者からのレビューはない - そもそも拡張すら否定的??
  7. パッチを出すまでのハードル - MySQL 自体のコードベースが巨大 - 何かしようと思っても理解するまでが辛い - 他に影響を出さないことの難しさ - 共通化されている部分の難易度が特に高い

    - コネクション、コンポーネント、トリガー、 etc… - テストは魔境 - mysql-test-run というフレームワークの存在 - 特定のコードパスだけを通るパターン - unit test と mysql-test-run の使い分け - パフォーマンス測定 - 初回は例外としても2回目以降はレビューが入れば改善するものばかり
  8. 何故こう思うのか - MOCO のメンテナ経験から - パッチを意欲的に出す人は品質が上がりやすい - MariaDB もメンテナ次第では教えてくれることが多い -

    いらないと思ったものでもあとで救われることがある - 思わぬバグを潰してくれる - 方針が被るとメリットが多かった
  9. MySQL Contributor Summit の所感 - Oracle の人がまず多い - 今まで全く見えなかった部分が急に見えてきた -

    外部の人の提案も多い - 他 DBMS との差異を持ち出すケース - かなりディープな提案から方向性的な話まで様々 - 全体的な変化を感じる回 - 拡張に対しても意欲的? - リアルな MySQL の立場を参加者全員が知る機会 - 非常に良い取り組み
  10. InnoDB B+Tree Performance Optimization - 悲観的挿入が発生した場合のパフォーマンスボトルネックの話 - 中身はごりっごりの実装話 - パッチを出す人は一回見た方が良いレベル

    - B-Link Tree のアイデアを一部導入して Latch のロックレベルを下げる - 既存実装とのパフォーマンス検証 - このレベルが出てくるのかという意外性 - これは今後の展開に期待したい
  11. Performance Improvements and Vector Support - RETURNING 句のサポート - INSERT/UPDATE/DELETE

    後に結果を取得するための追加クエリが必要 - 主要 DBMS ではサポートしている - 思わず笑ってしまった良い提案 - 確かに無駄なロックとクエリを打ってるので是非ともサポートされてほしい - Adaptive Hash Index による性能劣化 - これはまじでそう - 本当にどうにかしてほしい - コミュニティからの再現報告も good
  12. Partition Pruning Visibility in Iterator-Based EXPLAIN Output - シンプルではあるが意外な話 -

    EXPLAIN の経路によってパーティション選択の情報があったりなかったり - こういうところが潰せると嬉しい - 全体的にこの系は多いイメージがある - パーティションに限らず、、、 - MySQL Component とか、、、
  13. Improving Hypergraph Optimizer Performance and Feature Parity - 今回最も面白い話 -

    有償版から降ってきた期待のオプティマイザ - 既存のオプティマイザの仕組みと比較 - パフォーマンス計測 - かなり改善はするが特定のケースで無視できないほど遅い - SELECT が遅い問題が改善してくれると最高 - コミュニティの協力を必要としている - パッチを出す機運が高まっている