Help us understand the problem. What is going on with this article?

Memcached, MongoDB, Redis, DynamoDB 簡易比較

More than 1 year has passed since last update.

NoSQLの特徴

一般に”Not only SQL”と解釈される。SQLを否定するノーSQLの意味ではない。
固定されたスキーマに縛られない。
水平スケーラビリティが確保しやすい事が多いこと、トランザクションを利用できないものが多い。

NoSQL比較表

単純比較している情報が見つからなかったため情報を集めて作成。
(そのため、謝りがあればご指摘いただければ幸いです)

Memcached MongoDB Redis Amazon DynamoDB
データモデル Key Value ドキュメント指向 Key Value Key Value
種別 揮発性 永続性 揮発性&永続性 ※1 永続性
レプリケーション なし 対応 対応 自動対応
シャーディング なし 対応 対応 自動対応
マルチコア 対応 MongoDB 2系:非対応/3系:対応 非対応 ※1 -

揮発性&永続性 ※1
ディスクに書き込み,永続化させる機能も持ち合わせている。

非対応 ※1
1スレッドでループ処理を行うので、マルチコアのサーバの場合に全てのCPUリソースを使い切らない。

主な特徴

Memcached

キャッシュストレージとしての用途からGETやSET等のシンプルな操作が可能。
LRU(Least Recently Used)順に古いデータを自動削除する。
ディスクI/Oは一切行わない。
データベースやOSの再起動でデータが消去される。

MongoDB

32bitでは2.5GBの制限がある。
(もろもろ情報を追記予定)

Redis

コマンドで削除するか,timeoutを設定しない限りは削除されない。(古いデータを自動削除されない。)
ノードを追加してデータを再配置し、スケールアウトすることができる

Amazon DynamoDB

テーブル作成後のインデックスの変更が行えない。
トランザクションは無いが、代替で対応している人もいる。
http://www.slideshare.net/itoyusaku/dynamodb

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away