E
E
egorsmkv2016-01-05 09:43:46
NoSQL
egorsmkv, 2016-01-05 09:43:46

What key/value database to choose for the dictionary?

Hello.
I want to make a large dictionary where the md5 hash will be the key, and the value will be its decoded value. Which database should I choose for this task?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
L
leventov, 2016-01-06
@leventov

When describing the task of choosing a database (in the general case), key-value in particular, what exactly is stored is the _last_ most important factor. And the following factors should be taken into account:
1. The level of distribution/parallelism: do you need a distributed database, or is everything on the same server? Within one (or each) server, do you need concurrent access, or all in one thread? Do you need simultaneous access from different processes?
2. What _guarantees_ do you want from the base. Durable, persistent or volatile (in-memory)? What guarantees are needed for transaction isolation? Are transactions with multiple key updates necessary?
3. Is a base license right for you? If the base is proprietary, are you willing to pay for it, and how much?
4. Technology maturity, how stable is the latest branch.
5. Presence of monitoring, integration with analytical and SQl-like add-ons like presto, etc.
6. Popularity of the base, community size, how many answers to Stack overflow, etc.
And only now
7. Speed/efficiency by memory, which may (and may not necessarily be affected) by a particular type of keys and values.
Items can change in priority depending on the task.
Bottom line: according to your introductory it is impossible _even approximately_ to advise anything.

W
Walt Disney, 2016-01-05
@ruFelix

In general, REDIS is just what the doctor ordered.
If the task and the language allows, then you can play around with judy array

K
Konstantin   , 2016-01-05
@SynCap

Of the most popular, for which there are tons of documentation, including in Russian: MongoDB and CouchDB .
Mongo is more popular, there are a bunch of drivers for any environment, and Couch is, in my opinion, simpler and friendlier.
All other diversity is either for more complex tasks, or highly specialized solutions, or another attempt to achieve perfection in experiments.
For quick mastering, I recommend "Litle Mongo Book" for MongoDB (there is a Russian version on the Web, look on GitHub), and CouchDB has its own primer and web interface with which you can play around.
Both systems are available for both Windows and LINUX. Both have socket and web gateways. Both can work as independent HTTP servers, ie. easy to create a web application and a lot of interesting things. A special feature of both is the ability to create stored procedures in Javascript .
Cassandra is a redundant solution for your task, which can be justified only if the development is done in Java and for the Java environment, and everything except Java is not "it's not Java" :).

K
Kirill, 2016-01-06
@kshvakov

hashmap https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%...

S
spotifi, 2016-05-19
@spotifi

Yandex Elliptics (if you install from source, it is easy to do only on Ubuntu 14 and the corresponding generation of Debian) is a distributed DHT storage. It self replicates, regenerates, expands. Your business will only connect new computers.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question