X

An Oracle blog about Oracle Coherence

Memcached Adaptor

Coherence 12.1.3 より利用可能な memcached アダプタ。これは、PHP などで広く利用されている memcached のインターフェースのままで Coherence にアクセスできるようになる仕組みです。こうしたニーズは昔からあり、その仕組みを実現しようとしていたパートナーもいました。いまや、それは正式な製品機能として提供されています。

どうやって使うの?

使い方は、公式ドキュメントを見ていただくのが良いですが、もう少しとっつきやすい情報として、江草ロジ子さんが翻訳情報を公開してくれました。これは最初のステップとして非常に良いものです。

何が良いの?

これが利用できると何が良くなるのでしょう? memcached はシンプルなキャッシュですが、利用する側は利用範囲や信頼性などにおいて、ある程度の割り切りが必要でした。Coherence を利用することで、そうした、エンタープライズ用途としてはちょっと足りない部分を補完することができます。

  • 信頼性/耐障害性
    この部分が弱い memcached が Coherence になることで、実績ある信頼性/耐障害性を手に入れることができます。障害時の作業は大きく簡易化されるでしょう。
  • アプリケーション・コードの簡素化
    memcached 利用アプリケーションでは、典型的に次のような処理フローを記述します。 1) 該当データの有無についてキャッシュに確認、 2) キャッシュにない場合 DBに問い合わせ、 3) DBからデータを取得してキャッシュに格納。 これをアプリケーション開発者がぞれぞれに記述していると、品質にむらが出たり、DB変更時の作業が膨れ上がるなどのリスクが出てしまいます。エンタープライズシステムとしては考え物です。Coherence memcached アダプタを用いると、Coherence の裏側で CacheStore read-through を利用できるようになります。すると、「キャッシュになかったらDBに問い合わせ」 という処理は勝手にやってくれます。
    • 既存 memcached アプリは、そのままでもかまいません。ただし、「DBへ問い合わせ」という処理はもはやコールされないでしょう。
    • 新規アプリケーションは、「DBへ問い合わせ」の処理記述が不要になります。これは Coherence の背後で自動で実施されるので、「キャッシュにある」 こと前提でアプリケーションを記述できるようになります。
  • 更新処理としての利用
    信頼性/耐障害性とCacheStore機能を組み合わせると、Coherence memcachedアダプタは、読み取りだけでなく、更新ルートとしても利用できることに気づきます。これにより、memcachedアプリケーションはさらに簡素化します。一方で、DBアクセス処理が集約され、専門のDB技術者に処理コードを保守してもらえば、品質も向上するでしょう。
  • 他アプリケーションとの連携
    Coherence memcached アダプタを介して、より高度な Coherence アプリケーションと同一の共有メモリを通して会話できるようになります。それぞれのアプリケーションで起きた最新の変化(ステート)を即座に他アプリケーションが共有できるため、特に、複数ある顧客向けフロントシステム間の情報共有に有効です。この共有メモリ領域上に、memcached アプリケーションも加われるようになります。
何はともあれ、Coherence memcached アダプタは、既存のmemcachedアプリケーションを大きく変えることなくメモリグリッド環境に加えることができるのが最大の利点です。既存memcachedアプリケーションをお持ちのかたは、ぜひお試しください。

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.