自分が今使用している、またはこれから使うNoSQLサーバーをまとめてました。
memocached
レスポンスを早くする
基本webアプリケーションはRDBにデータを保存し、
その中から必要なデータを取り出して、ブラウザに表示しています。
データが増えたり、データが複雑化したデータ(join等)を返すとレスポンスが遅くなってしまいます。
例
googleではレスポンスが0.5秒遅くなると、検索数が20%減り、
Amazonではレスポンスが0.1秒遅くなると売り上げが1%減少する
Aberdeen Group社調べ
ユーザーはなかなか厳しいんですよ...
特徴
すべてメモリ上でデータが保持され、
keyに対してvalueを保持するだけなのでいたって単純。
なのでkeyを同じにするのは危険です。
そしてスピードが凄い。
メモリ上のデータにアクセスするので
ディスクIOが発生するRDBと比べて、
10万倍〜100万倍速い。
Redis
redisもmemocachedと同じでkey-value型インメモリdbです。
特徴
memocachedはRDBに対するキャッシュとして、RDBと組み合わせての
用途を想定しているのでシンプルな操作に特化しています。
それに対してRedisはデータストアとして利用可能であるように設計されているので多くのコマンドでアトミックに処理することができる。
スナップショット
メモリ上のデータをディスクに書き出す機能で、データを永続化します。
データ形式とアトミック処理
valueとして
文字列、リスト型、セット型、ソート済みセット型、ハッシュ型と様々な文字列を操れる。
アトミックなどそのうち追加します。
MongoDB
そのうち書きます