タグ

memcachedとhashに関するkistame228のブックマーク (2)

  • Consistent Hashingな拡張モジュール - Do You PHP はてブロ

    Consistent Hashingについては以下を参照。要は「キャッシュを分散させた場合で分散させる数が変わったときに、「orz」とならないようにするための仕組みの1つ」な感じです(多分)。 http://www.hyuki.com/yukiwiki/wiki.cgi?ConsistentHashing mixi engineer blog で、それを実現するためのCライブラリとしてlibketamaがあります。 API – Last.fm このlibketamaのソースにはPythonJavaPHPの各バインディングが含まれているようなので、ちょっと使ってみました。 まずは、ソースをcheckout。使用リビジョンは398です。 $ svn co svn://svn.audioscrobbler.net/misc/ketama $ build手順は以下の通り。Makefileを置換

    Consistent Hashingな拡張モジュール - Do You PHP はてブロ
  • オトコのイメトレ2008

    エンジニアたるもの想像力が必要だ。 複数のmemcachedサーバーを起動させてキャッシュを分散させるような運用では、各データをそれぞれどのサーバーにキャッシュするかを自動的に選択する必要がある。そのアルゴリズムとして、コンシステントハッシュ法というものがあるのだが、これがなんとも見事なアルゴリズムなのである。 コンシステントハッシュ法はハッシュの一種(注意!!オヤジギャグ!!突っ込むべし!!)なので、特定のキーに対して特定のmemcachedサーバーをつねに選択するためのアルゴリズムである。コンシステントハッシュ法ではない最も単純なハッシュ法としては、MD5などでキーからハッシュ値を算出し、memcachedサーバー台数で割り算をしてその余りを用いるというものがある。実際、このアルゴリズムは非常にシンプルであるし、うまく機能するだろう。ただしサーバー台数が一定であるという条件の下では。

    オトコのイメトレ2008
    kistame228
    kistame228 2009/09/15
    熱い
  • 1