Memcached をCouchbase クラスターでリプレースしましょう

Memcached のコールド・キャッシュ、RDBシステムの高負荷、簡単にスケールアウトできないといった問題を抱えていませんか? いくつかのお客様ではすでにmemcachedをCouchaseクラスターに変更することに成功しています。NoSQLデータベースであるCouchbase Serverならmemcached と簡単に置き替えることができ、memcachedとRDBが抱える様々な問題に対処することができるのです。

 Whitepaper

Dealing with Memcached Challenges

Reduce complexity, improve
scalability and availability.

  Get the whitepaper

 

Memcache vs.
Memcached

よく聞かれる質問に「memcache とmemcachedの違いは何ですか?」があります。

その答えは次のようなものです。memcacheのプログラムファイルはLinuxのバックグラウンドで(デーモンとして)実行されます。実行されたソフトウェアはデーモンの命名規則に従ってmemcachedとされています。厳密に言えばmemcacheとはソフトウェアのことを指し、memcachedはプログラムファイルのこと指すことになります。しかし現時点でほとんどの人はmemcachedを両方の意味で使っています。

また、次のような質問もよくあります。「memcachedはどう読めばいいのですか?」これは「メムキャッシュド」、もしくは「メムキャッシュディー」との質問ですが、実際には両方共に使われています。ただUNIXの経験がある方は「メムキャッシュディー」と読んでいます。

Memcached の課題

問題 症状 Couchbaseソリューション
コールド・キャッシュ メンテナンスまたは障害でmemcached ノードがダウン。RDBシステムが高負荷となりデータサービス層がスローダウンまたは停止する データを自動的にCouchbase クラスター内に分散、複製し高い可用性を実現
RDBMSの高負荷 キャッシュ内に無いデータへの複数の要求は突発的な負荷となり、リレーショナルデータベースを高負荷状態にする Couchbase Serverはクラスター内にデータを複製することによってRDBMS層に負荷をかけることなく一貫したパフォーマンスを提供
拡張性の欠如 Memcached のノード追加、削除は複雑で予期しないアプリケーションのパフォーマンスダウンを引き起こす Couchbase Serverはオート・シャーディングとオンライン・リバランシングによって無停止のクラスター拡張を提供
複雑な監視 個々のmemcachedノードの監視は運用を複雑にしキャッシュ層の一覧性を損なう

Couchbase Server はクラスター全体を管理・監視するための管理者用コンソールを持つ。また外部アプリケーション用にRESTful APIを提供し外部アプリケーションとの連携を容易にする

 

システム構成

下記の2つの図はCouchbase Serverへ移行前、移行後のmemcached システム構成を表しています。

Couchbase Serverはハイパフォーマンスな分散型、非共有アーキテクチャのドキュメント指向データベースです。Couchbase Server の事例の一つにキャッシュ層として使用するケースがあります。Couchbase Serverの低レイテンシーで一貫性のあるパフォーマンス、リニアにスケールする拡張性はキャッシュ層に大変適しています。Couchbase Serverはデータを自動的に分割し複数のクラスターノードに分散、さらにビルトインされたキャッシュ技術を持っておりmemcachedと同等の数ミリ秒の応答時間を可能にします。Couchbase クライアントはトポロジ情報を保持しているので、リクエストを適切なノードに自動的に送信します。Couchbase Serverクラスターのそれぞれのノードは同じ構成で一つ一つのノードがアクティブなデータと複製されたデータを持つように構成されています。さらにCouchbase Serverに含まれる管理コンソールはシステム管理、運用を容易にするため、データベース技術者はアプリケーションの開発に集中することが可能になります。