Postgres Vs Redis, когда у вас есть статические данные - PullRequest
0 голосов
/ 19 ноября 2018

Я уже прошел через множество URL, как показано ниже, пытаясь понять, чего я могу достичь в своем проекте. В моем проекте у меня есть 25 thousand записи, которые являются чисто статическими данными, которые не будут часто изменяться. Около 90% операций будут выполняться GET (извлекать данные, используя различные условия, такие как findByUserIdAndGroupId или findByUserAndGroupId, findAddressByUserId).

Почему я должен использовать Redis, если в качестве базы данных для Django используется PostgreSQL?

https://db -engines.com / ен / система / PostgreSQL% 3BRedis

https://dzone.com/articles/10-traits-of-redis

Моя текущая база данных Postgres (около 12-15 таблиц только), так как данные статические 25K records, мы планируем перейти на Redis (Redis как БД .. т. Е. Магазин устойчивости). Но наша текущая модель Postgres настолько сложна, что имеет @ManyToMany, @OneToMany and @ManyToOne вид отношений друг с другом * (вряд ли какие-либо данные, которые не имеют отношения) * и бизнесу в основном требуется двунаправленное кэширование.

Я обнаружил, что Redis не поддерживает запросы типа ignoreCase, IN, LIKE и т. Д., Которые нам понадобятся, поскольку мы в основном выполняем операции GET.

Итак, учитывая вышеизложенные факты, у меня были следующие запросы. Я знаю, что Redis не SQL, но я надеюсь, что связь может быть установлена ​​в Redis с использованием SET для некоторых экстентов. Мы планируем использовать Spring Data Redis для выполнения CRUD операций вместо традиционных RedisTemplate запросов.

1) Как моделировать данные (классы POJO, используя @RedisHash) для достижения сложных отношений. Так как мне нужны оба способа поиска.

2) Мы используем PCF, поэтому при репликации (Master-Slave) возникнут проблемы с развертыванием Redis в трех центрах обработки данных. Учитывая 1 мастер и 2 бальзама?

Мы не нашли в сети никаких материалов, которые бы подсказывали, как моделировать данные в таких сложных отношениях или в какой степени возможно комплексное моделирование. Мы знаем, что Redis в основном поддерживает денармализацию, но что, если нам нужны отношения?

Как моделировать данные в Redis для значений Сложная структура данных?

Какими будут преимущества Redis над postgres при таких условиях, отличных от Fast-Read ? ..

...