なぜMySQL8.4はLTSになったのか

MySQL8.4がLTSになったのは「技術」ではなく「運用」のため

MySQL8.4がLTS(Long Term Support)になった理由は、性能向上でも新機能でもありません。
一言で言うと、企業が安心して使えるMySQLが必要だったからです。

MySQL8.0は優秀なデータベースです。
しかし企業にとっては「優秀」よりも「変わらない」ことの方が重要になります。

実際、MySQL8.0は次のような問題を抱えていました。

  • マイナーアップデートで挙動が変わる
  • 実行計画が変わる
  • パフォーマンスが上下する
  • 設定の意味が変わる

これは開発者には進化ですが、運用者にはリスクです。
つまりMySQLは「開発者向けのデータベース」になりすぎていたのです。

MySQLのリリース方式が変わった背景

8.0までのMySQLは“止まらないリリース”

MySQL8.0は継続的にアップデートされる設計でした。
いわば「常に改善され続けるデータベース」です。

これはクラウド時代には理想的です。
GoogleやAmazonの内部システムではむしろ歓迎されます。

しかし、一般企業のシステムは違います。

企業システムでは次が求められます。

  • 5年以上動く
  • 動作が変わらない
  • テスト回数を減らしたい
  • 認証や監査が通る

ここで問題が起きます。
MySQL8.0はアップデートのたびに再検証が必要でした。

つまり「最新を保つほどコストが増える」という状態です。

企業が嫌う“静かな仕様変更”

特に困るのが実行計画です。

SELECT * FROM orders WHERE user_id = 10;

同じSQLでも、インデックス選択が変わると応答時間は激変します。
これはバグではありません。最適化の結果です。

しかし運用ではこうなります。

  • 月末処理だけ遅くなる
  • 一部の画面だけ固まる
  • 原因が特定できない

そして多くの場合、きっかけは「マイナーアップデート」です。

企業が最も嫌うのは障害そのものではなく、原因が追えない変化です。

OracleがLTSを導入した理由

MySQLの開発元であるOracleは、この問題を認識していました。
MySQLは世界中の業務システムで使われています。

ここで競合が登場します。

  • PostgreSQL(長期安定志向)
  • 商用DB(保守契約あり)

企業は次第にMySQLを避け始めました。
理由は単純です。「長く使うには不安」だったからです。

つまりMySQLの問題は性能ではなく、信頼性の認識でした。

そこで導入されたのが新しいリリースモデルです。

Innovation Release と LTS

MySQLは次の2種類のリリースに分かれました。

Innovation Release

  • 新機能を追加する
  • 挙動が変わる可能性がある
  • 開発者向け

LTS(8.4)

  • 挙動を固定する
  • 長期サポート
  • 運用者向け

ここが重要です。
MySQL8.4は「次のMySQL」ではありません。

MySQL8.0の到達点を固定したものです。

新機能を入れないのは停滞ではなく、戦略です。

なぜ8.4という番号なのか

通常なら「9.0」になりそうです。
しかし9.0にすると利用者はこう考えます。

  • 大きく変わる
  • 互換性が壊れる
  • 移行が必要

Oracleはそれを避けました。
8.4は「8.0系の延長」であることを示す番号です。

つまりメッセージは明確です。
8.0が動くなら8.4も動く

移行コストの心理的障壁を下げるためのバージョン番号です。

LTSが企業にもたらすメリット

企業システムにとって最大のコストは開発ではなく検証です。

例えば金融・公共系では、DB更新のたびに次が必要になります。

  • 再テスト
  • 性能検証
  • セキュリティ審査
  • 承認手続き

これが年数回発生すると運用が破綻します。

LTSでは次が保証されます。

  • 挙動が変わらない
  • 実行計画が安定する
  • 更新頻度が低い

結果として「アップデートできるようになる」のです。
皮肉ですが、安定しないと更新は止まります。

8.0を使い続けるリスク

8.0は今すぐ問題になるわけではありません。
しかし将来の課題があります。

  • サポート期限
  • セキュリティ対応
  • パッケージ提供停止

特にLinuxディストリビューションはLTSを優先します。
OSの更新に合わせてMySQLも8.4が標準になります。

つまり、8.0に留まるほど移行は難しくなります。

こんな誤解が多い

「LTSは機能が少ないから古い」

これは逆です。
LTSは“完成した機能を固定した版”です。

開発者は最新を使いたがりますが、
サービス運営者にとって重要なのは次です。

5年後も同じ動きをすること

MySQL8.4はその要求に対する回答です。

最後に

MySQLは長い間「無料で使える高性能DB」という立ち位置でした。
しかし現在は違います。

クラウド・SaaS・基幹系で使われる「インフラ」になりました。
インフラに必要なのは速さより予測可能性です。

MySQL8.4のLTS化は、機能進化の宣言ではありません。
MySQLが“ソフトウェア”から“社会基盤”へ役割を変えたサインと見ると理解しやすいでしょう。