P
P
P7472020-03-29 01:37:10
Sphinx
P747, 2020-03-29 01:37:10

Redis vs Elasticsearch vs Sphinx for data storage and search?

Good afternoon!

What do you think is best for storing data and searching through it, for example, a product catalog? To satisfy the following conditions:

1. Storage of directory data with quick access
2. Search by information, especially Russian query names
3. Ease of use: query syntax, documentation
4. Least load on hardware
5. Fault tolerance
6. Security
7 .Scaling

Answer the question

In order to leave comments, you need to log in

4 answer(s)
I
Ivan Shumov, 2020-03-29
@P747

Mmmm, what a cool holivar, let me put in my 5 cents. First, a prelude:
Redis:
this is a cache with a couple of features. Not designed for data storage and retrieval like the
Elasticsearch class, Sphinx:
Two fundamentally different search engines. They do their job well, but are not designed to store data, only to store search indexes.

1. Storage directory data with quick access

Since none of these systems is a database, it is worth thinking about another kind of database. Depending on what you choose, you will have to scale differently.
2. Search by information, especially Russian names-requests

Any search engine can do this today.
3. Easy to use: query syntax, documentation

All adequate search engines have documentation, the syntax is quite simple everywhere
4. The least load on the hardware

And this is where we start laughing. If we are talking about search, then the first rule is that all allocated resources that you allocate will be eaten. Even if you have 100 items of 2kb each. The memory will be eaten first, then the processor will receive its portion
5. Resiliency

This is not about search, but about architecture, network, servers, and stuff like that. If that horizontal scaling of search engines is a pain - everything is fine until it breaks and there very often the cluster does not recover
6. Security

Again, not about search engines. There are 3 parts: encryption in transit (ssl), encryption at rest (AES), auth (depends on the engine). In principle, everyone is so supportive today
7. Scaling

And again, not about search, but about architecture. Vertical scaling is easiest in the clouds and expensive, horizontal scaling is painful

X
xmoonlight, 2020-03-29
@xmoonlight

None of the above!
Own development with a competent architecture will be better than any of the existing solutions.
If there is no way to design for your task and create a complete solution from scratch - take solr .

P
Puma Thailand, 2020-03-29
@opium

The radish is clearly in the wrong place
. And so, the sphinx is more suitable for your requests

M
Mikhail Borisov, 2020-09-10
@valickSerjGe

fault tolerance

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question