MySQL Cluster に関する FAQ



»MySQL Cluster データベース

一般的な質問

  1. MySQL Cluster とは?
  2. MySQL Cluster Carrier Grade Edition とは?
  3. MySQL Clusterの顧客リファレンスはありますか?
  4. MySQL Cluster の現在のバージョンは?
  5. MySQL Cluster では、特殊なハードウェアまたはソフトウェアは必要ですか?
  6. MySQL Cluster のシステム要件は?
  7. MySQL Cluster は、どのような環境に適していますか?
  8. MySQL に最適なアプリケーションは何ですか?
  9. MySQL Clusterは、仮想マシン環境でサポートされていますか?

技術的な質問

  1. MySQL Cluster の通常のパフォーマンス指標は?
  2. 最小の Cluster 設定を作成するためには、どのくらいのサーバーが必要ですか?
  3. データ・ノードを地理的に分割することはできますか?
  4. MySQL Cluster には、どのようなデータアクセス API がありますか?
  5. インタフェースは、32 ビットアプリケーションと 64 ビットアプリケーションで違いはありますか?
  6. MySQL Cluster は、組み込みデータベースに適していますか?
  7. MySQL Cluster の遠隔地レプリケーションとは?
  8. レプリケーションは双方向で行われますか?
  9. インメモリ・データベースとして、MySQL Cluster はデータ損失のリスクがありますか?
  10. MySQL Cluster にはディスクレス・オプションはありますか?

» MySQL Cluster Manager

  1. MySQL Cluster Manager は、オープンソース・ソフトウェアですか?
  2. MySQL Cluster Manager とは何ですか?
  3. MySQL Cluster Managerの利点は何ですか?
  4. MySQL Cluster Manager が生産性を向上し、ダウンタイムのリスクを削減する具体的な例はありませんか?
  5. MySQL Cluster Manager はどのような管理機能を備えていますか ?
  6. MySQL Cluster Manager は、クラスタ全体または個々のノードを管理するのですか ?
  7. MySQL Cluster Manager は、どのような監視機能を備えていますか ?
  8. MySQL Cluster Manager の多くの機能はすでに利用可能、またはスクリプトで作成可能ですが、何か利点はありますか ?
  9. MySQL Cluster Manager は、クラスタ内の障害が発生したノードを復元できますか ?
  10. MySQL Cluster Manager は、クラスタ内の全てのノードを管理、監視、リカバリを行うことができるのですか?
  11. MySQL Cluster Manager エージェントに障害が発生した場合、MySQL Cluster データベースの可用性に影響はありますか?
  12. MySQL Cluster Manager は、どのようにMySQL Cluster データベースに実装されていますか ?
  13. MySQL Cluster Manager は、以前の MySQL Cluster の 管理方法に何か影響を与えますか?
  14. MySQL Cluster 内に管理ノードはまだ必要ですか ?
  15. MySQL Cluster Manager は、障害を生じたエージェントを自動的に再起動しますか?
  16. 復旧した MySQL Cluster Manager エージェントは、自動的に他のエージェントと再同期しますか ?
  17. MySQL Cluster Manager は、再起動の際、構成データを維持しますか?
  18. MySQL Cluster Manager は、クラスタ内の全てのノードについて、どのように構成の統一性を維持しますか ?
  19. MySQL Cluster Manager がサポートしているプラットフォームは ?
  20. MySQL Cluster Manager がサポートしているMySQL Cluster のバージョンは?
  21. MySQL Cluster Manager について、より詳しい情報はりありますか ?

MySQL Cluster Database FAQ - 一般的な質問

1. MySQL Cluster とは?

A: MySQL Clusterは、非常にスケーラブルで、リアルタイムなACID準拠のトランザクション・データベースです。99.999%の高可用性とオープンソース の低総所有コスト(TCO)を兼ね備えています。分散型マルチマスタ・アーキテクチャにより、単一障害点を持ちません。MySQL Cluster はコモディティ・ハードウェアで水平スケールが可能で、読み取りおよび書き込み集中型の負荷に自動シャーディングで対応し、SQLおよびNoSQLインタ フェースによるアクセスが可能です。

応答遅延を一貫して1ミリ秒以下に抑えるリアルタイム設計のため、1秒あたり数万のトランザクション処理が可能です。インメモリおよびディスクベー ス・データのサポート、自動データ・パーティショニング(シャーディング)と負荷分散、実行中のクラスタへのダウンタイムを必要としないノード追加機能な どによって、最も予測困難な負荷にも対応することができる、ほぼ無制限のデータベース・スケーラビリティを提供します。

2. MySQL Cluster Carrier Grade Edition とは?

A:MySQL Cluster Carrier Grade Edition(CGE)には、MySQL Clusterデータベースの管理、セキュリティ監視および監査用ツールが含まれています。MySQL Cluster CGE には、通信業界で特に重要な最適化されたデータアクセスメソッド、および遠隔地レプリケーションやデータ・ノードのオンライン追加のオプションが含まれて います。

3. MySQL Clusterの顧客リファレンスはありますか?

A: こちらをご覧ください。 http://www-jp.mysql.com/customers/cluster/

4. MySQL Clusterの現在のバージョンは?

A: 現在のバージョンはMySQL Cluster 7.3です。MySQL 5.6は、MySQL Clusterに統合されバンドルされています。

5. MySQL Cluster では、特殊なハードウェアまたはソフトウェアは必要ですか?

A: 必要ありません。MySQL Cluster は、一般的なハードウェア上で実行するように設計されています。Infinibandネットワーク・インターコネクトなどの特別なハードウェアを使用する ことで、特に多数のノードで構成される大規模なクラスタにおいて、さらに高いレベルのパフォーマンスを実現できます。

6. MySQL Cluster のシステム要件は?

A:

OS:サポートされているプラットフォームの最新リスト 参照してください。
CPU:Intel/AMD x86, UltraSPARC
Memory:Minimum 1GB RAM
HDD:3GB
Network:1+ nodes (Gigabit Ethernet - TCP/IP)

7. MySQL Cluster は、どのような環境に適していますか?

A: 次のいずれかに該当する場合、MySQL Cluster が最適な選択肢となる可能性があります。

  • 増加する書込み(UPDATE、INSERT、DELETE)操作に対応するために、データベースをシャーディングする必要がある
  • どのノードから戻ってきたかにかかわりなく、SELECT操作の結果は常に一貫していることが必要
  • データベースの不具合によって、収益の損失や評判の低下など業務の混乱を引き起こすアプリケーション・ダウンタイムが発生する
  • フェイルオーバーの間の(わずか数秒の)データ損失によって業務の混乱が生じる
  • ユーザー・エクスペリエンスは応答時間に対して敏感である
  • 複数の遠隔地の間でデータベースのレプリケーションを行い、それぞれが読取り および書込み処理を行う必要がある
  • 常にSQLに依存するのではなく、データへの直接アクセス(node.jsを持つ JavaScript、Memcached API、JavaおよびJPAアプリケーション、HTTP/REST Web サービス、C++アプリケーションなど)によってメリットを得られる多種多様な アプリケーションを運用している
  • アプリケーションは主として、パラレルに実行される(トランザクション1件あたりの操作時間が1000秒ではなく10秒であるなど)"短い"トランザクションで構成されている
  • アプリケーションはおもに、以下のいずれかで構成されている
    • JOIN操作を伴うプライマリ・キー・データベース・アクセス
    • または
    • フルテーブルスキャンの定期的実行と、数万行を送り返すJOIN操作

MySQL Cluster 評価ガイド も参照してください。 MySQL Clusterの詳細については、MySQL Cluster関連情報もご覧ください。

8.MySQL Clusterに最適なアプリケーションは?

A: Ideal applications include:

  • 大容量 OLTP
  • リアルタイム分析
  • eコマース および不正検出機能を備えた金融取引
  • モバイルおよびマイクロペイメント
  • セッション管理およびキャッシング
  • フィード・ストリーミング、解析およびレコメンデーション
  • コンテンツ管理および配信
  • 大規模マルチレイヤ・オンライン・ゲーム
  • コミュニケーションおよびプレゼンス・サービス
  • サブスクライバ / ユーザー・プロファイル管理およびエンタイトルメント(権限付与)

全てのMySQL Cluster ユーザー導入事例およびアプリケーションを参照ください。

9. MySQL Clusterは、仮想マシン環境でサポートされていますか?

A: はい。MySQL Clusterは、Oracle VMでテストされ認定されています。

10. MySQL Cluster の一般的なパフォーマンス指標は?

A:

  • 可用性
    • 99.999% (年間5分以内のダウンタイム)
  • パフォーマンス
    • 応答時間: 5ミリ秒未満 (同期レプリケーションおよびSQLアクセス)。より高速なアクセスが、NoSQLアクセス・メソッドで達成可能。
    • 64GB RAMを装備したデュアルソケットIntelサーバーでの1秒あたり600,000回以上のレプリケーション済みUPDATE操作のスループット。Intelサーバー30台で構成されるクラスタによる1分あたり10億回のUPDATE操作
      ベンチマークの詳細はこちら。
  • フェイルオーバー
    • 1 秒以内のフェイルオーバーにより、中断せずに継続的にサービスを提供可能
  • スケーラビリティ
    • 動的なスケールアウト、スケールアップ、スケールアウト
    • コスト効率的なスケールアウト:
      • クラスタあたりのアプリケーションおよびデータ・ノードの追加
      • CPUスレッド(16、32、64など)の追加
      • データ・ノードあたりのメモリを増設(32GB、64GB など)

11. 最小の Cluster 設定を作成するためには、どのくらいの物理サーバーが必要ですか?

A: 評価目的では、全てのノードを1つのホストで実行できます。完全な冗長性および耐障害性を構築するには、最低6台のフ物理ホストが必要です。

  • 2 x データ・ノード
  • 2 x SQL/NoSQL アプリケーション・ノード
  • 2 x 管理ノード

多くのユーザーが管理およびアプリケーション・ノードを同じ場所に配置し、ノードの数を4つに減らしています。

12. データ・ノードを地理的に分割することはできますか?

A: はい、ご使用のネットワークがこちらで説明されている特性を満たしている限り可能です。

MySQL Clusterは、これまで遠隔地レプリケーションを提供し、 クラスタをリモートのデータセンターに分散してデータをユーザーの近くへ移動することで地理的レイテンシの影響を低減し、またこれによりディザスタ・リカバリ機能も提供しました。

遠隔地レプリケーションは、非同期でアクティブ/アクティブまたはアクティブ/パッシブ構成で実装可能です。

遠隔地レプリケーションは、データセンター間の運用モデルとしての推奨オプションです。

13. MySQL Cluster にはどのようなデータアクセス API がありますか?

A: アプリケーションは、MySQL Connector を使用して開発できます。さらにMySQL Clusterは、JavaScript、Memcached、C++、Java、JPAおよびHTTP/RESTを介してネイティブNoSQLコネク ティビティを提供します。

14. インタフェースは、32 ビットアプリケーションと 64 ビットアプリケーションで違いはありますか?

A:ありません。これらのインタフェースは同じです。

15. MySQL Cluster は、組み込みデータベースに適していますか?

A: はい。MySQL Cluster は、通常、ISV やネットワーク機器プロバイダ(NEP)により組み込みデータベースとして使用されます。顧客一覧については、 http://www-jp.mysql.com/customers/cluster/ を参照してください。

16. MySQL Cluster の遠隔地レプリケーションとは?

A: 遠隔地レプリケーションによって、地理的に離れたアクティブ/アクティブ・クラスタ間の非同期レプリケーションが可能です。これはグローバル・サービスのスケールアウトやデータ・ローカリティ、および障害時リカバリにしばしば使用されます。

17. レプリケーションは双方向で行われますか?

A: はい。MySQL Cluster では、単方向および双方向のレプリケーションがサポートされています。双方向遠隔地レプリケーションを使用する場合、トランザクション競合の検出および解決機能が提供されます。

18. MySQL Cluster をインメモリ・データベースとして使用する場合、データ損失のリスクはありますか?

A: MySQL Cluster 設定では、通常全てのデータの少なくとも 2 つのコピーが異なるホストに保持されます。総合的なシステム障害に対応するため、トランザクション・ログおよびチェック・ポイント・ファイルがディスクに 保存されます。また、保存が行われる頻度は設定可能です。さらに、データをインデックスなしでディスクに保存することもできます。

19. MySQL Cluster にはディスクレス・オプションはありますか?

A: MySQL Cluster には、ディスクレス・オプション、およびログなしオプションがあります。

ディスクレス・オプションでは、次の制限事項があります。

  1. ディスクにデータが保存されない
  2. 完全な Cluster 障害が発生した場合データが損失する
  3. バックアップがない

ログなしオプションの場合でも、Cluster はログファイルを作成しますが、データのチェックポイントはディスクに保存されません。

MySQL Cluster Manager FAQ

20. MySQL Cluster Manager はオープンソース・ソフトウェアですか?

A: いいえ。 MySQL Cluster Manager は 商用版のMySQL Cluster Carrier Grade Edition(CGE) データベースに含まれるコンポーネントです。MySQL Cluster CGE の購入については、MySQL の営業担当までお問い合わせください。

0120-065-556

【受付時間】
平日 9:00-12:00/13:00-18:00
(祝日及び年末年始休業日を除きます)
mysql-sales_jp_grp@oracle.com

21. MySQL Cluster Manager とは何ですか?

A: MySQL Cluster Manager は、基本的な管理タスクを自動化するソフトウェアで、MySQL Cluster CGE データベースの作成と管理を簡略化します。

22. MySQL Cluster Managerの利点は何ですか?

A: MySQL Cluster Managerによって、データベース管理者 (DBA) とシステム・アドミニストレータの生産性が上がり、戦略的なIT構想に注力でき、ユーザーの変化する要求により迅速に対応することができます。さらに、こ れまで手動による構成エラーを原因として発生していたデータベースのダウンタイムが大幅に削減されます。

23. MySQL Cluster Manager が生産性を向上し、ダウンタイムのリスクを削減する具体的な例はありませんか?

A: 例として、以前は46の手動のコマンド1 とDBAによる2.5時間の作業2が必要だった管理処理の一つ、MySQL Clusterデータベースのローリング再起動が、たった1つのコマンドで実行可能で、MySQL Cluster Managerで完全に自動化されています。これにより以下が削減されます。

  • 管理の複雑性と負荷
  • 構成の自動化と管理プロセスの変更によるダウンタイムのリスク
  • 管理コマンドのカスタム・スクリプト作成または独自の管理ツールの作成とメンテナンス

24. MySQL Cluster Manager はどのような管理機能を備えていますか ?

A: 管理者は、1つのコマンドで、クラスタ全体の作成と削除、停止と再起動を行うことができます。管理者は、各ノードを1つずつ手動で再起動する必要がなく、自動化のためのスクリプトを作成する必要もありません。

MySQL Cluster Manager は、実行しているクラスタのアップグレード、ダウングレードのオンライン管理作業を自動化し、データベースにアクセスするアプリケーションまたはクライア ントに影響を及ぼしません。管理者は構成ファイルを編集してその他のすべてのクラスタに分配する、またはローリング・スタートする必要がありません。 MySQL Cluster Manager がこれらすべてのタスクを処理し、ベストプラクティスを実施し、オンライン作業を大幅に簡略化、高速化し、エラーも少なくなります。

25. MySQL Cluster Manager はクラスタ全体または個々のノードを管理するのですか ?

A: 両方できます。 MySQL Cluster Manager は、クラスタ全体を、1つの実体として管理することができます。クラスタ内の個々のプロセスの細かい管理を行うこともできます。

26. MySQL Cluster Manager はどのような監視機能を備えていますか ?

A: MySQL Cluster Manager は、クラスタ内の各ノードを自動的にポーリングすることによってオペレーティング・システムとプロセスレベルの両方で、クラスタの状態を監視することがで きます。プロセスまたはサーバー・ホストが アクティブか、停止しているか、ハングアップしているかを検出し、迅速な問題検出、ソリューションそしてリカバリへと導きます。

27. MySQL Cluster Manager の多くの機能はすでに利用可能、またはスクリプトで作成可能ですが、何か利点はありますか ?

A: MySQL Cluster Manager は、これまで管理者による手動で行われてきた管理機能を統合して拡張しました。上の例で示したように、46 の手動によるコマンド・プロセスが自動化され1つのコマンドで実行できます。

カスタム管理システムを作成することは、手動で作成、テスト、維持することによって時間がかかる、コストが高い、エラーを発生するなどのデメリッ トがあります。多くのメンテナンス作業において、MySQL Cluster Managerはこれらのタイプの作業の必要性を削除してくれます。

自動化によって、コスト、リスク、負荷を軽減し、クラス管理を簡易化します。

28. MySQL Cluster Manager はクラスタ内の障害が発生したノードをリカバリできますか ?

A: はい。MySQL Cluster 自体、手動による操作を必要とせずに、自動的にデータノートを再起動して復旧する機能を備えています。 MySQL Cluster Manager は、SQLと管理ノードを監視して復旧することによって、この機能を拡張します。これによって、より完璧な自己復旧機能をサポートし、完全に稼働状態とア プリケーションに対するキャパシティを復旧することができます。

29. MySQL Cluster Manager は、クラスタ内の全てのノードの管理、監視、リカバリを行うことができるのですか?

A: はい。ネイティブ NDB API を使用している場合を除いて(C++, Cluster Connector for Java, OpenLDAP, などのダイレクトインタフェースを使用してノードにアクセスしている場合)すべてできます。データ・ノード、管理ノード、SQLノード(MySQL サーバー・ノード)の管理、監視、リカバリを行うことができます。

30. MySQL Cluster Manager エージェントに障害が発生した場合、MySQL Cluster データベースの可用性に影響はありますか?

A: いいえ。高可用稼働を保証するために、MySQL Cluster Manager は実際のデータベース・プロセスからは切り離されています。そのため、管理エージェントが停止またはアップグレードされた場合、稼働しているデータベース には影響がありません。MySQL Cluster Manager は、いずれかのエージェントまたは関連するホストが利用不可の状態に場合でも、稼働を続けているノードについて継続して作業を行います。

31. MySQL Cluster Manager はどのようにMySQL Cluster データベースに実装されていますか ?

A: MySQL Cluster Manager はエージェントのセットとして実装されています。1つのエージェントが、 管理される MySQL Cluster ノード(プロセス)を含む各物理ホストで実行します。アドミニストレータが通常のmysql クライアントのいずれかのエージェントに接続し、エージェントがお互いに通信し共同作業し、Clusterを構成するノード全体について動作します。

32. MySQL Cluster Manager は、以前の MySQL Cluster の 管理方法に何か影響を与えますか?

A: MySQL Clusterの運用に MySQL Cluster Manager を使用する場合、管理者は構成ファイル(例えばconfig.ini や my.cnfなど) の編集をしません。代わりに、これらのファイルは、エージェントによって生成されメンテナンスされます。これらのファイルが手動で編集されると、それらの 変更はエージェント内に保持されている構成情報によって上書きされます。

全ての MySQL Cluster の運用を構成しているプロセスは、MySQL Cluster Manager によって起動、再起動、停止が行われます。これにはデータ・ノード、管理ノード、MySQL サーバー・ノードが含まれます。

同様に、MySQL Cluster Managerを使用する場合、管理者は、ndb_mgm コマンドを使用して管理アクションを行ってはいけません(管理ノードに直接接続するため、エージェントにその操作が行われたことが認識できません)。

33. MySQL Cluster 内に管理ノードはまだ必要ですか ?

A: MySQL Cluster Manager を導入しても、管理ノードの必要性はなくなりません。特に以下のような重要な役割があります。

  • データ・ノードが開始/再起動すると管理ノードに接続し、それらの構成データを取得します(管理ノードはエージェントによって作成された構成ファイルからそのデータを取得します)。
  • MySQL Cluster Manager を介してデータ・ノードを停止または再起動すると、ステートの変更は管理ノードによって行われます。
  • 管理ノードは引き続きアービトレータとして動作できます (split-brain を避けるため)。この理由で、それらのプロセスを、データ・ノードとは別のホスト上で実行することは重要です。
  • レポート情報には、MySQL Cluster Manager で得られず、 依然として ndb_mgm ツールによって取得できるものがあります(例:メモリー使用状況)。

34. MySQL Cluster Manager は障害を生じたエージェントを自動的に再起動しますか?

A: エージェント自体を監視するプロセスは存在しません。エージェントの可用性を高めるために、管理者が、例えばetc/init.d内にスクリプトを作成して、プロセス・モニタを使用してエージェントの障害を検出して、自動的に再起動するという選択肢があります。

35. 復旧した MySQL Cluster Manager エージェントは、自動的に他のエージェントと再同期しますか ?

A: はい。管理エージェントが再起動する際、自動的に実行している他のエージェントと同期し、クラスタ全体の構成の統一を保ちます。管理者の作業は必要ありません。

36. MySQL Cluster Manager は、再起動の際、構成データを維持しますか?

A: はい。すべての MySQL Cluster 構成情報とプロセス識別子は、システム障害またはMySQL Cluster Managerの再起動においてもディスクに残り変化しません。

37. MySQL Cluster Manager はクラスタ内の全てのノードについて、どのように構成の統一性を維持しますか ?

A: MySQL Cluster Manager は、確実に構成リクエストを伝えるために、各管理エージェント間の非同期通信をサポートしています。そのため、クラスタ内の全てのノードで構成が統一されます。

いずれの変更も、全てのノードが再構成リクエストを受け取ったことを確認してから確定されます。1つまたは複数のノードがリクエストの受付に失敗 すると、クライアントにエラーがレポートされます。再構成リクエストの通信と同期を自動化することによって、構成ファイルを手動で分配することを起因とす るエラーが発生する可能性がなくなります。

38. MySQL Cluster Manager がサポートしているプラットフォームは ?

A: サポートプラットフォーム・ページをご覧ください。 サポートプラットフォーム

39. MySQL Cluster Manager がサポートしているMySQL Cluster のバージョンは?

A: MySQL Cluster 6.3 以上です。

40. MySQL Cluster Manager についてより詳しい情報はりありますか ?

A: こちらのホワイトペーパーをご覧ください。