Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  InnoDB と memcached の組み合わせの利点

14.18.1 InnoDB と memcached の組み合わせの利点

このセクションでは、セクション14.18「InnoDB と memcached の統合」で導入された InnoDB テーブルへの memcached インタフェースの利点について説明します。InnoDB テーブルと memcached を組み合わせることで、いずれかを単独で使用した場合を上回る利点が得られます。

  • InnoDB ストレージエンジンに直接アクセスすることによって、SQL の構文解析およびプランニングのオーバーヘッドを回避できます。

  • memcached を MySQL Server と同じプロセス空間で実行することにより、リクエストを受け渡すことによるネットワークオーバーヘッドが回避されます。

  • memcached プロトコルを使用して書き込まれるデータは透過的に InnoDB テーブルに書き込まれ、MySQL SQL レイヤーを経由しません。書き込みの頻度を制御することで、重要ではないデータを更新するときに本来のパフォーマンスを高めることができます。

  • memcached プロトコルを介してリクエストされるデータは透過的に InnoDB テーブルから照会され、MySQL SQL レイヤーを経由しません。

  • 同じデータに対する後続のリクエストは InnoDB バッファープールから提供されます。バッファープールはインメモリーキャッシュを処理します。使い慣れた InnoDB 構成オプションを使用して、大量のデータを処理する操作のパフォーマンスをチューニングできます。

  • アプリケーションのタイプに応じて、非構造化データまたは構造化データを使用できます。データ用にまったく新しいテーブルを作るか、1 つ以上の既存のテーブルに NoSQL スタイルの処理をマップできます。

  • InnoDB は複数カラムの値を単一の memcached 項目値に連結したり分解したりできるため、アプリケーションで必要な文字列の構文解釈および連結の量が削減されます。たとえば、文字列値 2|4|6|8memcached キャッシュに格納されている場合、InnoDB はその値を区切り文字に基づいて分割し、結果を 4 つの数値カラムに格納します。

  • メモリーとディスク間の転送は自動的に処理されるため、アプリケーションロジックが簡素化されます。

  • データは MySQL データベースに格納されることで、クラッシュ、機能停止、および破損から保護されます。

  • レポート作成、分析、アドホッククエリー、一括ロード、マルチステップのトランザクション計算、論理和や論理積などの set 操作、および SQL の表現性と柔軟性に適したその他の操作のために、引き続き SQL を介して基礎テーブルにアクセスできます。

  • この機能を MySQL レプリケーションと組み合わせてマスターサーバー上で使用すると、NoSQL データの高可用性を保証できます。

  • memcached と MySQL を統合することにより、手間をかけずにインメモリーデータを永続的なものにでき、これを非常に多くの種類のデータに使用できます。データがすぐに消去される心配がなく、より多くの addincr、および類似の書き込み操作をアプリケーションに配置できます。キャッシュされたデータへの更新を失わずに memcached サーバーを停止および起動できます。予期しない機能停止を防ぐために、InnoDB のクラッシュリカバリ手順、レプリケーション手順、およびバックアップ手順を利用できます。

  • InnoDB が高速な主キー検索を実行する方法では、通常 memcached の単一項目クエリーに適合します。memcached プラグインによって使用される、低レベルの直接的なデータベースアクセスパスは、キー/値の検索では同等の SQL クエリーよりもはるかに効率的です。

  • 複雑なデータ構造、バイナリファイル、またはコードブロックも格納可能な文字列に変換できる memcached のシリアライズ機能によって、このようなオブジェクトをデータベースに格納する簡単な方法が提供されます。

  • 基礎データに SQL 経由でアクセスできるため、memcached データについてレポートを生成したり、複数のキーで検索または更新したり、AVG()MAX() などの関数を呼び出したりできます。これらすべての操作は、スタンドアロンの memcached ではコストがかかったり複雑になったりします。

  • 起動時に memcached にデータを手動でロードする必要はありません。アプリケーションによって特定のキーがリクエストされると、値はデータベースから自動的に取得され、InnoDB バッファープールを使用してメモリーにキャッシュされます。

  • memcached は CPU の消費が比較的少なく、メモリーフットプリントを管理しやすいため、同じシステム上で MySQL インスタンスとともに快適に実行できます。

  • 通常の InnoDB テーブルで使用されるメカニズムによってデータ完全性が強制されるため、古くなった memcached データや、キーが見つからない場合にデータベースにクエリーを実行するフォールバックロジックについて懸念する必要はありません。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.