タグ

databaseとcacheに関するstarsky5のブックマーク (3)

  • 永続化対応のオンメモリKey-Valueデータベース·Redis MOONGIFT

    以前に読んだGoogleに関するにも同じような技術に関する記述があった(タブレット辺りだろうか)。Googleで使われている技術Googleだからこそ(圧倒的台数のコンピュータ、ネットワーク、その需要など)できることだが、その論文を元に同様の技術を一般のサービスでも利用できるレベルに落とし込んでくれる人たちがいる。 サーバを起動した所 オンメモリのKey-Valueデータベースと言えばmemcachedが有名だ。だがmemcachedは再起動すればその内容が消えてしまう。逆に常にHDDに書き込めば内容は保持されるが、ディスクアクセスが多くなってしまい利点が活かせなくなる。その中間を担うのがRedisだ。 今回紹介するオープンソース・ソフトウェアはRedis、永続化にも対応したオンメモリKey-Valueデータベースシステムだ。 RedisはKey-Valueのデータベースではあるが、一

    永続化対応のオンメモリKey-Valueデータベース·Redis MOONGIFT
  • memcached活用は、格納オブジェクトの”粒度”がキモ

    最近じゃmemcachedを活用してデータベース(RDB)の負荷を下げるって話、そこらじゅうから聞こえてくるけれど、memcachedの活用は、格納オブジェクトの”粒度”(granularity)がキモだと思ってます。 memcachedは、KeyとDataをペアで格納して、Keyが与えられると、関連付けられたDataを返すだけのシンプルなシステム。PerlPHPの連想配列と同じ。このmemcachedをRDBのキャッシュとして活用してやる場合、memcachedに格納するキャッシュデータの単位、”粒度”をどう設計するかが重要になってくる。 RDBの場合、格納されるデータはRow(レコード)単位。じゃぁキャッシュもRow単位で作ってやればいいのかといえば、それではうまくいかないケースもたくさんある。RDBでは専用の問い合わせ言語であるSQLを使って、 SELECT * FROM hoge

    memcached活用は、格納オブジェクトの”粒度”がキモ
  • Repcached

    repcachedについて repcachedとは、memcachedにデータのレプリケーション機能を追加実装したものです。 memcachedは、以下のようなところによく使われると思います。 一時的なデータの保存場所として キャッシュを保存する場所として RDBMSのデータのキャッシュ 生成したページデータのキャッシュ いずれの場合も消えていいデータなので、万が一memcachedがダウンしても問題はないはずです。 しかし、影響が全くないわけではありません。 例えば、MySQLのデータをmemcachedでキャッシュしている場合、memcachedがダウンしている間は直接MySQLにアクセスがいくことになりDBサーバの負荷が上がります。また、memcachedを再起動してキャッシュが失われた場合は、再びキャッシュが溜まるまではDBサーバに負荷がかかることになってしまいます。 このように

  • 1