私はMySQLの世界に不慣れで、2人に混乱していました。どちらも高可用性とシャーディングを提供していませんか?
また、WebScaleSQLはどのように比較されますか?
これら3つの事柄は、互いに関連し合うことはありません。私はあなたに紹介をし、あなたは個別に検索したり、より詳細な情報を求めることができます:
MySQL Cluster は、多くの人が呼ぶマーケティング名です。現在苦しんでいるような混乱を避けるために、「NDB Cluster」または「MySQL NDB Cluster」です。 MySQLのシェアードナッシングアーキテクチャを可能にする、ほぼメモリのみの同期キー値ストア(NDBエンジンへのバックエンドを提供)。 自動シャーディング(したがって、読み取りおよび書き込みスループットが向上します)および高可用性を提供します。高スループットのKey-Valueの小データシステムではうまく機能しますが、セットアップが比較的複雑であり(正しく構成されていない場合、または意図しない方法で使用されている場合に問題が発生します)、レイテンシは最適ではありません。賢い(生の速度)。これは簡略化されたバージョンです(メモリのみとKey-Value以外にも使用できますが、それを中心に設計されています)。私の意見では、非常に優れたエンジニアリングですが、ダウンロードが個別に行われる通常のMySQLサーバーとは異なる製品であり、特定のエンジンを使用する必要があるため、使用例は限られています。
MySQLファブリック はpythonで記述されたツール/ミドルウェアのセットにより、レプリケートされたGTID環境で一連の通常のMySQLサーバーの管理を可能にします =。これはクラスタ自体ではありませんが、クラスタの管理を容易にします。(現時点では)Java and = Pythonコネクタ。サーバーのシャーディングと高可用性を自動的に処理できますが、通常のMySQLサーバーと通常のレプリケーション(InnoDBなどの通常のストレージエンジンを使用できます)の上にあるレイヤーです。レプリケーション、これまでは非同期(または準同期)であるため、それ自体では最高の一貫性とセキュリティを提供できない可能性があります。これは、将来の5.7バージョンで変更される可能性があります。ただし、このアプローチでは、レイテンシのオーバーヘッドが少なく、MySQL DBAの使い慣れたレプリケーションを使用しますMySQLファブリックは、この地域では比較的新しい子供なので、まだそれほど拡張されていませんが、競合他社のGaに対するOracleの反応(発表された同期レプリケーションと合わせて)のようですレラベースのクラスター。
シャーディングとHAが必要な場合は、前の2つの製品のいずれかを使用できますが、おそらくまったく異なるシナリオに使用できます。
WebScaleSQL は前のソリューションのようなHAソリューションではありません。これは、いくつかの企業が付けた名前ですMySQLのフォーク/バージョン必要な特定のパッチを共有しますそして多分Oracleは適用していません。私が知る限り、それはFacebook、Twitter、LinkedIn、Googleによって作成されており、彼らはその共通のベースの上に独自のMySQLバージョンをリベースしています。サポートやバイナリリリースは提供していません。エンドユーザーの場合、おそらくそれを使用する必要はありませんが、プロジェクトから何が発展するか、または他のベンダーからの応答を確認する必要があります。
MySQL HA /スケーリングで学習/開始しようとしている場合は、基本的な MySQLレプリケーション から始めます(これは最善ではないかもしれませんが、始めるのが最も簡単です)。他のソリューション:DRBD [sic]、GTIDレプリケーション、NDB、Galera、Tungsten。
MySQLファブリックは、MySQLファブリックノード/プロセス(管理機能を実行する)およびクエリとトランザクションを最も適切なMySQLサーバーに直接ルーティングできるファブリック対応コネクタとして実装されます。 MySQLファブリックノードは、状態およびルーティング情報をその状態ストア(MySQLデータベース)に格納します。
MySQL Clusterは、シェアードナッシングシステムでのメモリ内データベースのクラスタリングを可能にするテクノロジーです。シェアードナッシングアーキテクチャにより、システムは非常に安価なハードウェアで動作し、ハードウェアまたはソフトウェアの特定の要件を最小限に抑えることができます。