第 25 章 MySQL Enterprise Edition

目次

25.1 MySQL Enterprise Monitor
25.2 MySQL Enterprise Backup
25.3 MySQL Enterprise Security
25.4 MySQL Enterprise Encryption
25.5 MySQL Enterprise Audit
25.6 MySQL Enterprise Thread Pool

MySQL Enterprise Edition は商用製品です。MySQL Community Edition と同様に、MySQL Enterprise Edition には MySQL Server が含まれており、これは、完全なコミット、ロールバック、クラッシュリカバリ、および行レベルのロックの機能を持つ、完全に統合されたトランザクションセーフな ACID 準拠のデータベースです。また、MySQL Enterprise Edition には、モニタリングおよびオンラインバックアップに加えて、改良されたセキュリティーおよびスケーラビリティーを提供するように設計された次のコンポーネントが含まれています。

以降のセクションでは、これらの各コンポーネントについて簡単に説明し、より詳細な情報がある場所を示します。商用製品については、http://www.mysql.com/products/ を参照してください。

25.1 MySQL Enterprise Monitor

MySQL Enterprise Monitor は MySQL のエンタープライズモニタリングシステムであり、MySQL サーバーを監視して、潜在的な問題を通知し、問題を修正する方法をアドバイスします。MySQL Enterprise Monitor は、ビジネスで重要な単一の MySQL サーバーから、アクセスの多い Web サイトをささえる大規模な施設の MySQL サーバーまでのすべての種類の構成をモニターできます。

以降では、MySQL Enterprise Monitor 製品を構成する基本的なコンポーネントについて簡単に概要を示します。詳細は、http://dev.mysql.com/doc/mysql-monitor/en/ で閲覧できる MySQL Enterprise Monitor のマニュアルを参照してください。

MySQL Enterprise Monitor コンポーネントは、データベースおよびネットワークのトポロジに応じてさまざまな構成でインストールでき、データベースサーバーのマシンのオーバーヘッドを最小限にして、信頼できる応答のよいモニタリングデータの最適な組み合わせが提供されます。MySQL Enterprise Monitor の一般的なインストール環境は次のもので構成されています。

  • モニターする 1 つ以上の MySQL サーバー。MySQL Enterprise Monitor は MySQL サーバーの Community リリースおよび Enterprise リリースの両方をモニターできます。

  • モニターされる各ホストの MySQL Enterprise Monitor Agent。

  • エージェントからの情報を照合して、収集されたデータへのユーザーインタフェースを提供する単一の MySQL Enterprise Service Manager。

MySQL Enterprise Monitor は 1 つ以上の MySQL サーバーをモニターするように設計されています。モニタリング情報は、エージェント MySQL Enterprise Monitor Agent を使用して収集されます。このエージェントは、モニターするホストおよび MySQL サーバーとやり取りして、変数、ステータス、およびヘルス情報を収集し、この情報を MySQL Enterprise Service Manager に送信します。

エージェントによって収集されたモニタリングしている各 MySQL サーバーおよびホストの情報は、MySQL Enterprise Service Manager に送信されます。このサーバーは、エージェントからのすべての情報を照合します。エージェントによって送信された情報を照合するときに、MySQL Enterprise Service Manager はサーバーのステータスを適切な値と比較して、収集されたデータを頻繁にテストします。しきい値に達すると、サーバーはイベント (アラームおよび通知を含む) をトリガーして潜在的な問題 (メモリー不足、高い CPU 使用率、より複雑な状況 (バッファーサイズの不足、ステータス情報など) など) を強調できます。各テストは、それに関連付けられているしきい値と合わせて、ルールと呼ばれます。

これらのルール、アラーム、および通知は、それぞれ MySQL Enterprise Advisor と呼ばれます。Advisors は MySQL Enterprise Service Manager の重要な部分を形成しており、警告情報および潜在的な問題に関するトラブルシューティングの推奨事項を提供します。

MySQL Enterprise Service Manager には Web サーバーが含まれており、ユーザーは Web ブラウザを使用してやり取りします。このインタフェース (MySQL Enterprise Monitor User Interface) には、エージェントによって収集されたすべての情報が表示され、すべてのサーバーおよびそれらの現在のステータスをグループで表示したり、個別に表示したりできます。サービスのすべての特性を MySQL Enterprise Monitor User Interface を使用して制御および構成します。

MySQL Enterprise Monitor Agent の処理によって提供される情報には、グラフ形式で表示できる統計およびクエリーの情報も含まれています。たとえば、サーバーの負荷、クエリーの数、インデックスの使用状況の情報などの特性をグラフとして時間の経過に従って表示できます。このグラフを使用すると、サーバー上での問題や潜在的な問題が正確に特定され、特定の期間のデータを検査することによって、データベースの問題または外部の問題 (外部システムまたはネットワーク障害など) からの影響を診断するために役立ちます。

MySQL Enterprise Monitor Agent は、サーバーで実行されたクエリーに関する詳細な情報 (行数および各クエリーを実行するためにかかった実行時間を含む) を収集するように構成することもできます。詳細なクエリーデータをグラフィカルな情報に関連付けることによって、著しく高い負荷やインデックスなどの問題が発生したときに実行されていたクエリーを識別できます。クエリーデータはクエリーアナライザと呼ばれるシステムによってサポートされており、ニーズに応じて異なる方法でデータを表示できます。

25.2 MySQL Enterprise Backup

MySQL Enterprise Backup は、MySQL データベースに対してホットバックアップ操作を実行します。この製品は、InnoDB ストレージエンジンによって作成されたテーブルの信頼できる効率的なバックアップが行われるように設計されています。補完するために、MyISAM およびほかのストレージエンジンのテーブルをバックアップすることもできます。

以降では、MySQL Enterprise Backup の概要を簡単に示します。詳細は、http://dev.mysql.com/doc/mysql-enterprise-backup/en/ で閲覧できる MySQL Enterprise Backup のマニュアルを参照してください。

ホットバックアップは、データベースが実行されていて、アプリケーションがそれに対して読み取りおよび書き込みを行なっている間に実行します。このタイプのバックアップは、通常のデータベースの操作をブロックせず、バックアップが行われているときに発生したすべての変更を取得します。これらの理由で、ホットバックアップが望ましいのは、データベースが拡張され、データが大きくなってバックアップ処理に長い時間がかかるようになったとき、およびデータがビジネスにとって重要になって、アプリケーション、Web サイト、または Web サービスをオフラインにすることなく、最後に行われたすべての変更を取得する必要があるようになったときです。

MySQL Enterprise Backup は、InnoDB ストレージエンジンを使用するすべてのテーブルのホットバックアップを実行します。MyISAM またはその他の InnoDB 以外のストレージエンジンを使用しているテーブルの場合、データベースの実行は継続されるがバックアップされている間はテーブルを変更できないウォームバックアップが行われます。バックアップ操作を効率的にするために、InnoDB を新しいテーブルのデフォルトのストレージエンジンに指定するか、InnoDB ストレージエンジンを使用するように既存のテーブルを変更できます。

25.3 MySQL Enterprise Security

MySQL Enterprise Edition は、外部サービスを使用した認証を実装するプラグインを提供しています。

  • MySQL Enterprise Edition には、MySQL サーバーが PAM (Pluggable Authentication Modules) を使用して MySQL ユーザーを認証できる認証プラグインが含まれています。PAM を使用すると、システムは標準インタフェースを使用して、さまざまな種類の認証方式 (Unix パスワードや LDAP ディレクトリなど) にアクセスできます。

  • MySQL Enterprise Edition には、Windows で外部認証を実行する認証プラグインが含まれており、MySQL サーバーが Windows のネイティブサービスを使用してクライアントの接続を認証できます。Windows にログインしたユーザーは、追加のパスワードを指定せずに、自分の環境内の情報に基づいて MySQL クライアントプログラムからサーバーに接続できます。

詳細は、セクション6.3.8.5「PAM 認証プラグイン」およびセクション6.3.8.6「Windows ネイティブ認証プラグイン」を参照してください。

ほかの関連するエンタープライズセキュリティー機能については、セクション25.4「MySQL Enterprise Encryption」を参照してください。

25.4 MySQL Enterprise Encryption

MySQL 5.6 では、MySQL Enterprise Edition には SQL レベルで OpenSSL 機能を提供する OpenSSL ライブラリに基づく一連の暗号化関数が含まれています。これらの関数を使用することによって、エンタープライズアプリケーションが次の操作を実行できるようになります。

  • 公開鍵非対称暗号方式を使用した、追加のデータ保護の実装

  • 公開鍵、秘密鍵、およびデジタル署名の作成

  • 非対称暗号化および非対称復号化の実行

  • デジタル署名およびデータの検証や妥当性検査に対する暗号化ハッシュの使用

詳細は、セクション12.17「MySQL Enterprise Encryption の関数」を参照してください。

25.5 MySQL Enterprise Audit

MySQL Enterprise Edition には、サーバープラグインを使用して実装される MySQL Enterprise Audit が含まれています。MySQL Enterprise Audit はオープンな MySQL Audit API を使用し、特定の MySQL サーバーに対して実行された接続およびクエリーのアクティビティーについて、標準のポリシーベースのモニタリングおよびロギングを行うことができます。MySQL Enterprise Audit は、オラクルの監査仕様を満たすように設計されており、内部および外部の規制ガイドラインの両方に管理されているアプリケーションに対して、そのままで簡単に使用できる監査およびコンプライアンスのソリューションを提供しています。

インストール時に監査プラグインを使用すると、MySQL サーバーはサーバーアクティビティーの監査レコードを含むログファイルを生成できます。ログの内容には、クライアントが接続および切断した時間、接続中に実行したアクション (アクセスしたデータベースおよびテーブルなど) が含まれます。

詳細は、セクション6.3.12「MySQL Enterprise Audit ログプラグイン」を参照してください。

25.6 MySQL Enterprise Thread Pool

MySQL Enterprise Edition には、サーバープラグインを使用して実装される MySQL Thread Pool が含まれています。MySQL サーバーのデフォルトのスレッド処理モデルでは、クライアント接続ごとに 1 つのスレッドを使用してステートメントが実行されます。より多くのクライアントがサーバーに接続してステートメントを実行すると、全体的なパフォーマンスが低下します。MySQL Enterprise Edition では、オーバーヘッドを減らしてパフォーマンスを向上させる代替のスレッド処理モデルが、スレッドプールプラグインによって提供されています。このプラグインは、多数のクライアント接続に対してステートメント実行スレッドを効率的に管理することによってサーバーのパフォーマンスを向上させるスレッドプールを実装します。

詳細は、セクション8.11.6「スレッドプールプラグイン」を参照してください。

関連キーワード:  サーバー,Monitor,バックアップ,データベース,および,データ,テーブル,Audit,エージェント,nbsp