3

MySQL 5.6 が memcache を使用して導入しているものを明確に理解するのに苦労しています。

私が理解しているように、 memcache 自体は本質的に、サーバーmemcachedによって管理される巨大な共有メモリ常駐ハッシュテーブルです。特に、永続的なデータ ストアについては何も認識しておらず、その点に関するサービスも提供していません。キー(Perl ハッシュなど)を認識しているだけです。

mySQL 5.6 で導入されたのはNoSQL APIだと思います。これにより、mySQL クライアントはSELECT ステートメントではなく、キーによってmySQL サーバーからデータを要求できます。(同様に、キー=値のペアで更新を実行できます)。MySQL はmemcachedを使用してこれらをメモリにキャッシュし、パフォーマンスを向上させますが、更新がキャッシュから期限切れになる前にデータベースに書き戻すなどの処理も​​行います。

つまり、memcachedの使用は、mySQL 5.6 NoSQL 機能の実装の詳細であり、アプリケーション プログラマーが認識する必要があるものではありません。

私の理解に修正や拡大を歓迎します。

ありがとう、チャップ

4

2 に答える 2

2

私はそれが非常に簡単だと思います(公式ドキュメントから):

私はあなたの最後の文に同意しません。アプリケーションプログラマーはmemcacheプラグインを本当に知っている必要があります。これは、MySQLサーバーにプラグインを搭載することで、memcached言語インターフェイスまたはSQLインターフェース

このプラグインがアプリの設計に与える影響をよりよく理解するには、MySQLが適切なmemcached管理に使用する3つの構成テーブルがあることを知っておく必要があります。「cache_policies」がどのように機能するかを理解することで、疑問のいくつかに光を当てることができます。

テーブルcache_policiesは、InnoDBをmemcachedのデータストアとして使用するか(innodb_only)、従来のmemcachedエンジンをバックストアとして使用するか(キャッシュのみ)、またはその両方を使用するか(キャッシュ)を指定します。最後のケースでは、memcachedがメモリ内でキーを見つけることができない場合、InnoDBテーブルで値を検索します。

ここにリンクがあります:innodb-memcached-internals

上記のこの引用は、特定のKey-Valueに対して何を決定したかに応じて、さまざまなアプリケーションシナリオが存在することを意味します。

  1. innodb_only->は、SQLインターフェースまたはmemcachedインターフェースを介してデータをクエリできることを意味します。ここにいくつかのmemcached言語インターフェースの例へのリンクがありますmemcached-interfaces
    1. cache-only->は、memchachedインターフェースのみを介してデータをクエリする必要があることを意味します
    2. キャッシング->は、両方のインターフェイスを使用できることを意味します(ストレージメカニズムがわずかに変更されることに注意してください)

もちろん、この後者の構成の決定は、特定のニーズに厳密に関連しています

于 2013-01-26T00:27:12.910 に答える
1

私も、いじる前に必要な詳細を見つけるのに苦労しているので、残念ながら完全な答えはありません.

つまり、新しいプラグインを介して InnoDB ストレージ エンジンにアクセスすることで、実際には SQL を完全にバイパスし、それに伴うすべてのオーバーヘッドを回避しているということです。

もちろん、これにより、基本的に、関連するすべての欠点を備えたほとんどの NoSQL データベースに似たキー/値ストアになります。つまり、結合などはありません...

しかし、最近の多くのアプリケーションの裏側では、これはまさに私たちが望んでいることです. 私が遭遇した実世界のパフォーマンスに関する言及はほんの一握りしかありませんが、すべてがこの実装が MongoDB や他の同様の NoSQL ソリューションよりも大幅に優れていることを示しているようです (どれだけの真実が含まれているかはわかりません)。 depth) の比較では、コモディティ サーバーで 700k qps という高さを主張しています (よく調整された MySQL セットアップでの約 100k と比較して)。これが本当なら信じられないことです。

リソースはこちら:

http://yoshinorimatsunobu.blogspot.co.uk/search/label/handlersocket

とにかく、申し訳ありませんが、私はこれ以上助けることはできませんが、少なくとも考える材料です!

于 2012-10-09T00:55:40.903 に答える