Pull to refresh

Comments 5

Привет! А не рассматривали в качестве решения использовать пересечение множеств на Redis? :)

По описанию похоже на то, что вам нужно: https://redis.io/commands/sinter/

Добрый вечер :)

Нет, пока не пробовали. Спасибо за ссылку - действительно, потенциально может подойти.

На самом деле в бэклоге лежит эпик на "поэкспериментировать" с существующими стореджами (в том числе и с Redis'ом). Наше решение в текущем виде плохо скейлится горизонтально (хоть и имеет приличный запас по capacity, исходя из обозримых планов на каталоги) - все данные хранятся в памяти пода. Так что, с ростом объема данных нам придется либо перейти на какое-то готовое решение, либо "переизобрести" шардирование :)

Нет возможности заплюсовать в карму, увы. Спасибо за хорошее описание алгоритма и как Вы дошли до такой жизни. :) Когда-то (2006-2011) пробовал решать задачу универсальной каталогизации товаров для сайта товарного агрегатора. Пришел несколько к иному решению, но в силу слабости железа Заказчика работы были брошены.

Идея была в следующем: "не существует никаких каталогизаторов". Каталог - это упорядоченный набор свойств товаров. Разные каталоги - просто ставят во главу угла разные свойства. Товар (услуга, понятие) - это "имя существительное" с набором свойств.. фсё.

Далее начинается ваша песня о главном .. как по набору свойств запроса найти нужный комплект товаров.. ;)

Ещё раз спасибо.

Sign up to leave a comment.