GNU/Linux >> Linux の 問題 >  >> Linux

MySQL対MariaDB対Perconaとは何ですか

ウォーカー・カホールによるイラスト

ターゲットオーディエンス

この記事は、データベースとその機能に関するいくつかの用語について、少なくともある程度の知識があることを前提としています。

はじめに

データベースはすべてのアプリケーションをバックアップし、多くの選択肢があります。 MySQLは長い間人気のあるオープンソースの選択肢でした。ただし、MariaDBとPerconaは、MySQLを拡張機能に置き換えることができる2つの主要なコードフォークです。この記事では、3つの比較を幅広く紹介します。

MySQL

画像:MySQL / CCBY-SA3.0でライセンス供与

MySQLは、広く知られている、非常に人気のあるオープンソースのリレーショナルデータベース管理システム(RDBMSと略されることが多い)です。 1990年代に、Webベースのアプリケーション向けの高可用性で信頼性の高いデータベースとして開発されました。オープンソースですが、Oracleが所有しており、GPL(GNU General Public License)に基づく無料のコミュニティエディションおよび商用ライセンスバージョンとして提供しています。 MySQLのOracleバージョンは、多くのホストで一般的にインストールされており、従来のLAMPおよびWAMPスタックの一部であり、WordPressのデフォルトデータベースです。

その強みはその寿命にあります。コードベースは非常に安定しており、サポートするように設計された種類のWebアプリケーションに対して信頼性があります。 MySQLユーザーと管理者の大規模なコミュニティがあり、その結果、Webと印刷物の両方でMySQL用に公開された情報の大規模なコレクションがあります。

他の2つのデータベースと比較した場合の弱点は、ガバナンスにあります。オープンソースコミュニティの多くは、Oracleが元のプロジェクトのオープンソースの性質を妨げる力であると考えています。また、デュアルライセンスモデルのため、特定のアプリケーションには商用ライセンスが必要です。

MySQL vs MariaDB / Percona

MySQLがSun、次にOracleに買収されたとき、グループはMySQLコードの独自のフォークを開始するために去りました。それがMariaDBとPerconaにつながります。どちらもMySQLのドロップイン置換として構築されています。 MySQLで動作するアプリケーションは、これらのフォークのいずれでも動作するはずです。競合他社であるにもかかわらず、各フォークは他のフォークのオープンソースコードを利用しています。たとえば、MariaDBはPerconaのXtraDBエンジンを提供しています。 Perconaは、MariaDBからいくつかの最適化とスレッドプールの改善を取り入れました。どちらも、サブクエリの修正など、ベースのMySQLよりも改善されています。

MariaDB

画像:MariaDB / CCBY-SA3.0でライセンス供与

MariaDBフォークは、MySQLの機能の幅を広げることに傾倒しており、Perconaよりも新しい機能の追加について保守的ではありません。 MariaDBは、クエリオプティマイザの進歩を推進しています。プロジェクトで定期的に必要なクエリの種類を判断できない場合は、より適切な選択となる可能性があります。 MariaDBを区別するその他の機能には、次のものがあります。

  • MariaDBには、MySQLベースまたはPerconaよりも多くのストレージエンジンの配列が含まれています。これには、CassandraのNoSQLオプションが含まれます。オプションとしてPerconaのXtraDBも含まれています。
  • バージョン10.1以降、MariaDBはディスク上のデータベース暗号化を提供します。
  • MariaDBは、マルチソースレプリケーションを含むスケーラビリティ機能を提供し、単一のサーバーが複数のソースからレプリケーションできるようにします。
  • MySQLフレーバーをブリッジする複雑なレプリケーションスキーマを計画している場合、MariaDBとMySQL間のグローバルトランザクションIDの相互作用には注意深い実装が必要になる場合があります。たとえば、MySQL5.6からMariaDB10.Xに複製することは可能ですが、その逆はできません。

全体として、MariaDBはMySQLの成熟した将来を見据えたブランチであり、データベースに新しい機能と進歩を提供することを目的としています。大規模なマルチサーバーVPSホスティングアプリケーション、特にMariaDBのオプティマイザーを利用できるクエリパターンが変更されているアプリケーションに適しています。

Perconaサーバー

Perconaは、XtraDBと呼ばれるInnoDBストレージエンジンに代わる独自の高性能な代替手段を備えた非常に要求の厳しいアプリケーションに集中してきました。これには、それを調整するためのインストルメンテーションツールが含まれます。それらの機能は、最高のスループットを備えた最大のデータベースのパフォーマンス、可用性、およびスケーラビリティの向上につながる傾向があります。彼らのウェブサイトでは、Perconaは互換性の観点からベースのMySQLコードに近く、MariaDBよりも保守的であると主張しています。 Perconaを支持するその他の機能には、次のものがあります。

  • パフォーマンスを追求する中で、Perconaは、パフォーマンスを測定し、データベースを調整するために、より多くのカウンターと診断を提供します。
  • Perconaには、MySQLのエンタープライズレベルでのみ利用可能な無料のサーバー製品の一部の機能を含む、大規模なデータベースのスケーラビリティが強化されています。
  • Perconaには、XtraDBクラスターやXtraBackupユーティリティなど、DBエンジン以外の追加ツールもあります。

MariaDBと同様に、PerconaはMySQLの成熟したオープンソースブランチです。彼らの焦点は、そのパフォーマンスを達成および維持するためのツールを備えた、最大かつ最も要求の厳しいデータベースのパフォーマンスに重点を置いています。

では、実際にはどちらが優れているのでしょうか?

テクノロジーのほとんどの場合と同様に、答えは「状況によって異なります」です。議論の多くは、三者間の戦いではなく、二段階の議論のようです。最初の段階は、MySQLとその代替の1つです。変更が必要かどうかを判断する必要があります。フォークは、パフォーマンスの向上と追加の機能とツールでベースMySQLを強化します。データベースが大きくなるほど、パフォーマンスは大きくなります。そのため、小さなデータベースでは、フォークでそのメリットの多くが見られる可能性は低くなります。ただし、ライセンスやデータの柔軟性など、代替品を探す理由は他にもある可能性があります。ドロップインを決定した場合、議論はどちらに向けられます。

上記の比較でさえ見て、MariaDBがパフォーマンスを気にしない、またはPerconaのオプティマイザーが標準以下であると言うのは簡単すぎるでしょう。それはまったく真実ではありません。どちらのフォークも、基本的なデータベースレベルで優れています。封筒の端に達すると、それらはより差別化されます。

では、もっと重要なことは何ですか?さまざまなソースに柔軟なタイプのデータを保存できる場合は、最初にMariaDBを確認してください。それでもスナッピーなパフォーマンスを必要とする大規模なデータベースがある場合は、Perconaで検索を開始してください。それでも、他のブランチを完全に無視しないでください。一部のツールは、共通のMySQLルートがあるため、どちらのブランチでも機能し、必要なソリューションにすぎない可能性があります。

MySQLを超えて、フォークの1つに到達したいが、サイズや柔軟性の最先端にいない場合、決定は好みの1つであるように思われます。とにかく使用するサービスやツールを提供しているのはどの会社ですか?

まだわからない、またはより詳細な読書をしたいですか? MariaDBとPerconaの人々がまとめた以下の比較のいくつかを見てください。

  • Percona機能の比較
  • MariaDBとMySQLの機能
  • MariaDB10の機能

Linux
  1. LinuxにMariaDBまたはMySQLをインストールする

  2. CentOS7にPerconaサーバーをインストールする方法

  3. MYSQL MariaDB でエクスポート データベースをインポートする方法

  1. MySQLとMariaDB:それらの主な違いは何ですか

  2. MySQL の予約済みユーザー アカウントとは

  3. 「mysql.sys@localhost」ユーザーの目的は何ですか

  1. MySQL/MariaDBクエリログを有効にする方法

  2. MySQLまたはMariaDBのルートパスワードをリセットする方法

  3. 新しいデータベースを作成し、MySQL/MariaDBで使用します