K
K
kazmiruk2012-07-12 06:50:28
NoSQL
kazmiruk, 2012-07-12 06:50:28

What is the best key-value storage?

Since I did not receive a single answer to my previous specific question, I will try to ask more generally (and a little holily). I hope this will generate more interest and among the answers I will be able to find a clue.
What is the best key-value store for storing session data?
Which key-value store is best for data cache?
Is it worth using two different key-value stores in one project for different data types?
Only if you say that key-value %name% is the coolest, then please justify it.

Answer the question

In order to leave comments, you need to log in

12 answer(s)
D
denver, 2012-07-12
@denver

There is no better NoSQL storage in general, there are sub-tasks, each has its pros and cons. Redis is super fast when there is more RAM than data, otherwise it often loads from disk and nullifies the speed (if it has not been redone yet), good for message queues, lists (sorting is built in), any small information. memcache (not memcached) is the fastest but does not flash anything to the disk (that's why). memcached is the simplest key-value with flush (good for message queues and all sorts of counters). The last two have a multiget feature - taking many keys at a time works as much as one, so it's good for storing “previews” of data by their id when sorted lists are stored somewhere else (in a radish). MongoDBnot just a key-value, you can store entire documents in it (a post with all the comments), a kind of compromise between nosql and RDBMS. Hbase is already quite a replacement for RDBMS, one of the fastest when it comes to disk IO, so this NoSQL is for permanent storage of hundreds of billions of data. Cassandra seems to be a competitor to Hbase, but an outsider, because facebook / twitter refuse it;) Pro CouchDB and Riak (maybe someone will add - I’m interested)

M
Mikhail Osher, 2012-07-12
@miraage

Rumor has it that Redis is pretty good. At least for sessions.

M
Malerok, 2012-07-12
@Malerok

Sessions - SessionStorage;
Data - LocalStorage;
Of course, it makes sense if there are specific differences in the types of data stored.

D
Disasm, 2012-07-12
@Disasm

Kyoto Cabinet allows you to do about 1 million write operations per second, even more read operations.

E
EugeneOZ, 2012-07-12
@EugeneOZ

1) Redis
2) Redis or MongoDB
what is there to justify - every sandpiper praises his swamp, everything is subjective :)

B
Beholder, 2012-07-12
@Beholder

About BrekeleyDB (including Java edition) why no one mentions?

D
denver, 2012-07-12
@denver

Is it worth using two different key-value stores in one project for different data types?
Mandatory, if the data type does not mean pictures vs text :) but the lifetime of the data, their quantity, their relevance, the need for sorting, filtering, searching, etc. Won for except MySQL + Sphinx like and there is nothing better (ready).
And in general, NOSQL is not only SQL, which hints;)

X
xSkyFoXx, 2012-07-12
@xSkyFoXx

If you are not worried about vendor lock, I would recommend google datastore.

S
Sergey Lerg, 2012-07-12
@Lerg

Look in the direction of LevelDB, it has high performance, but does not have its own server. Embeds directly into the application.

A
Alexey Akulovich, 2012-07-12
@AterCattus

Follow up question :)
What about the choice of storage for master-master sessions located in different European countries? MongoDB was failing.

M
motl, 2012-07-12
@motl

see also Tokyo Cabinet as an alternative to memcache.

N
Nail, 2012-07-12
@Nail

In fact, 2 real alternatives:
1. When the data fits into memory: Redis (memcache is yesterday, inferior in functionality)
2. When it doesn’t fit: a wrapper over the handlersocket (it does not have an automatic expire, but if the data is on disk, it does not need). Wrapper, because in mysql 5.6 there will probably be better options.
Everything else is either exotic, or slow, or even from a different opera.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question