Hello everyone!
Admittedly this is a “Before getting started” question.
I don’t have much experience with redis in general, even less so with redis stack and the modules, so I was wondering if the stack might be the right direction or not for my project.
I need to create a project that will have about 30k entities between books
, their translations
and reviews
, and "persons"
and their various relationships.
A person can author many books, a book can be written by many persons.
The same persons can also translate
, curate
, edit
and review
books, they might also be written about
in other books
. Translations of books obviously have a relationship with the original book. Books might also be sequels of books. In my ignorant opinion these many many-to-many relationships kind of scream “graph”.
At the same time I need to be able to search for books by fuzzy matching their title, search for authors by fuzzy / phonetic matching their names, find books via full text search of their reviews, etc. So, I guess I would need redisearch to be able to index the graph?
I also need to list a bunch of books, filtered by a facet search (think genre, language, publishing year, etc), in paginated view of 100 books at a time, where the book titles are shown together with the names of their authors. In my understanding, this kind of search would be best done by redisjson? But still somehow joined with data from the graph (book title + authors name)?
So my question is: is using the redis stack a bad idea and should I just stick to mysql? I’ve googled for “redisearch and redisgraph”, but the only relevant article I’ve found is from 2019, writing about a demo at redisconf that says:
I should point out that the integration between RediSearch and RedisGraph is still early and not ready for production at the time of writing. I encourage you to figure out if this approach could meet your needs, with the understanding that the integration between RediSearch and RedisGraph will mature and expand in the coming months.
It’s just a lot to process for a redis noob