Skip to content
Latchkey

MySQL vs MariaDB: どちらのMySQL系統を選ぶ?

MySQLはOracleが管理する元祖データベースであり、MariaDBはMySQLの創設者によって作られたコミュニティ主導のforkで、ほぼドロップイン互換です。

MariaDBはMySQLからforkし、共通のクライアントプロトコルとSQLを持ちながら近い関係を保ってきましたが、プロジェクトは時間とともに分岐しました。MariaDBはstorage engine(Aria、ColumnStore)、いくつかの独自機能、完全にオープンなガバナンスを追加しています。MySQLはOracleの投資と幅広いエンタープライズサポートの恩恵を受けています。ほとんどのアプリでは両者は交換可能ですが、新しい機能や特定のengineは異なります。

MySQLMariaDB
起源元祖(Oracle)コミュニティのfork
互換性リファレンスほぼドロップイン
Storage engineInnoDB中心InnoDB + Aria/ColumnStore
ガバナンスOracle主導オープンな財団
最適な用途Oracleエコシステム、同等性オープンなガバナンス、追加engine

互換性と機能

標準的なCRUDや一般的なWebアプリでは、多くの場合一方を他方に置き換えられます。分岐が現れるのは、新しいJSON関数、システムバージョン管理されたテーブル、特定のレプリケーション機能、storage engineです。完全な同等性を前提とする前に、アプリが依存している正確な機能を確認してください。

CIにおいて

どちらもほぼ同一のセットアップでservice containerとして動作します。デフォルトが異なるため、バージョンを明示的に固定してください。どちらもマネージドrunnerで動作し、より高速なrunnerは起動とmigrationのテストステップを短縮します。

結論

Oracleの後ろ盾と最も広い互換性の期待を持つリファレンス実装が欲しいなら、MySQLです。完全にオープンなガバナンスに加えて追加のstorage engineや機能が欲しいなら、MariaDBです。両者は十分に近いままなので、多くのチームは生のパフォーマンスではなく、ホスティング、ライセンスの安心感、特定の機能ニーズに基づいて選びます。

関連ガイド