MySQL NDB Cluster 機能と特徴
パフォーマンスとスケーラビリティ | |
自動シャーディング | 自動的および透過的にデータをノード間で分割することにより、アプリケーションを変更せずに、読み取りおよび書き込みのクエリーのスケールアウトが可能です。 |
マルチマスター・レプリケーション | 各データ・ノードは書き込み処理を受け付けますが、自動シャーディングと組み合わせることで、非常に高いスケーラビリティを提供します。 |
分散型クロス・シャードJOIN | アダプティブ・クエリー・ローカライゼーション(AQL) により、JOIN処理をデータ・ノードに分散し、ローカルのデータ・コピーに対して並列にJOINを処理します。 |
リアルタイム応答 | インメモリーのテーブルおよびインデックス、ディスクへの非同期チェック・ポインティングおよびCPUへのスレッドのバインディングによって、低レイテンシを実現します。 |
開発用APIおよびデータ・モデル | |
SQL API | MySQLサーバーは、標準SQLインタフェースをクラスタに提供し、Web開発言語、フレームワーク、JDBC、ODBC、.NET向けの標準 MySQLコネクタ介した接続が可能です。 |
NoSQL API: Memcached | ネイティブ・キー・バリュー型アクセスにより、SQL層を介さずにWebサービスを提供でき、またスキーマ及びスキーマレス・データストレージが可能です。 |
NoSQL using JavaScript & node.js | ネイティブJavaScriptアクセスにより、高並列なソーシャル、モバイルサービスにおい て、 SQL層を迂回します。 |
NoSQL API: C++ | ネイティブ C++ アクセスにより、SQL層を介さず低レイテンシを実現します。 |
NoSQL API: Java and JPA | ネイティブJava & JPA アクセスにより、エンタープライズ、Web、通信アプリケーションにおいて、SQL層を迂回します。 |
NoSQL API: HTTP/REST | ネイティブHTTP/RESTアクセスは、Apache mod_ndbsを使用してSQL層を迂回します。 |
スキーマおよびスキーマレス・データモデル | デフォルトは、完全に構造化されたリレーショナル・モデルで す。Memcached APIを使用した場合、デフォルトでは、すべてのキー・バリューは同じテーブルに書き込まれ、各キー・バリューのペアは1行に格納されます。または、既存 の複数のテーブルに書き込むように設定可能です。 |
99.999%の可用性とデータの完全性 | |
ACID準拠トランザクション | MySQL NDB Cluster は完全なACID (atomic, consistent, isolated, durable)トランザクションをサポートします。 |
外部キー制約 | MySQL NDB Clusterにより、テーブル間の参照整合性が自動的に適用されます。 |
分散型シェアードナッシング・アーキテクチャ | クラスタ内の各ノードは冗長性があり、別々のホストに配置できるため、プロセス、ハードウェアおよびネットワーク障害に対して継続的な可用性を確保できます。 |
単一障害点なし | 各ノードは専用のディスクおよびメモリー領域を持っているため、ストレージなど共有コンポーネントが原因となる障害の危険性が排除されます。 |
同期データ・レプリケーション | 各データ・ノード内のデータは同期的に少なくとも1つの他のデータ・ノードにレプリケートされます。1つのデータ・ノードが停止した場合でも、常に少なくとも他の1つのノードが同じ情報を格納しています。 |
自動1秒未満フェイルオーバー | MySQL NDB Clusterのハートビート・メカニズムはいかなる障害も瞬時に検出し、自動的に通常1秒以内にクラスタ内の他のノードにフェイルオーバーし、クライアントへのサービスは中断されません。 |
自己修正リカバリ | 停止したノードは自動的に再起動し、クラスタに再び加わる前に他のノードと同期を行います。全てアプリケーションからは完全に透過的に実行されます。 |
遠隔地レプリケーション | データセンターからデータセンターへクラスタをレプリケートし、ディザスタ・リカバリ構成を構築し、ネットワーク・レイテンシの影響を低減します。各クラスタは、書き込み処理を内部の競合解決処理を使用して受け取り、クラスタ間の一貫性を維持します。 |
マルチサイト・クラスタリング | データ・ノードをデータセンター間で分割し、サイト間の同期レプリケーションが行えます。ノードが停止した場合は、自動フェイルオーバーを実行します。 |
オンライン・ノード作業 | |
オンライン・スキーマ・アップデート | オンラインによる、列およびテーブルの追加およびインデックスの追加または削除が可能です。 |
オンライン・スケーリング | ノードを実行中のクラスタに追加し、容量とパフォーマンスをスケールできます。アプリケーション・ノードをクラスタにダイナミックに追加および削除可能です。 |
オンライン・メンテナンス | 基盤のハードウェア、オペレーティング・システム、およびMySQL NDB Clusterプロセスのアップグレードまたはパッチの適用がオンラインで可能です。 |
オンライン・バックアップ | クラスタ全体の一貫したデータベースのスナップショットをバックアップし、安全な遠隔地にアーカイブおよびコピーが可能です。 |
運用の柔軟性 | |
仮想マシン(VM:Virtual Machine)環境での運用 | オンプレミスおよびクラウド・プラットフォームにおいて仮想マシン環境で運用可能です。 |
インメモリーおよびディスクベース・テーブル | テーブルを完全にメモリー内で管理する(永続性のためのフル・ロギングおよびチェッキングポインティングにより)、またはディスクへ格納するか設定可能です。 |
コモディティ・ハードウェア環境での最適化 | MySQL NDB Cluster は、コモディティ・ハードウェアとローカルのストレージを利用したスケールアウトに最適化されています。共有ディスクは不要です。 |
セキュリティおよび監査 | |
MySQL Enterprise Security* | クラスタに接続するMySQLサーバーに既存の外部認証サーバーが提供されるため、既存のセキュリティ・インフラと容易に統合できます。 |
MySQL Enterprise Audit* | 組織がより強力なセキュリティ制御を実装し、法規制の遵守を実現するのを支援する、使いやすいポリシー・ベースの監査ソリューションです。 |
データベース監視、管理 | |
MySQL NDB Cluster Manager* | MySQL NDB Cluster Managerは、基本的な管理タスクを自動化することにより、MySQL NDB Clusterデータベースの設定と管理を簡素化します。 |
* MySQL NDB Cluster Carrier Grade Edition にのみ含まれる機能です。