Okcupid.com (можно найти совпадения без доступа к базе данных !?) - PullRequest
4 голосов
/ 05 февраля 2012

Я занимаюсь исследовательским проектом на популярном сайте знакомств под названием: OkCupid
Я хотел бы поговорить о том, как используется база данных.
Прочитав это объяснение от соучредителя сайта, я очень растерялся.
Заявления:

когда пользователь выполняет поиск совпадений на OkCupid, мы должны сделать следующее:

-Получить (откуда-то, кроме БД) ответы на их вопросы, ответы на их идеальные совпадения и важность их вопросов. В среднем, На каждого пользователя OkCupid ответили 250 вопросов в 3 частях.
- Определите, кто подходит для их поиска, как правило, очень сложный запрос для нескольких миллионов пользователей. В среднем десятки тысячи людей соответствуют требованиям, и нам нужно выяснить, кто они без удара по БД.

Как они все это делают, не обращаясь к базе данных ??
Вот ссылка на пост
Я ценю любые объяснения, как они там что-то делают

1 Ответ

4 голосов
/ 05 февраля 2012

Для этой часто используемой информации она может быть сохранена в базе данных, но также может храниться в распределенном кеше памяти (например, Memcached ).

Когда пользователь обновляет свой ответ или отвечает на новый вопрос, он обновляет кэш и базу данных, поэтому к базе данных никогда не нужно обращаться.

Они могут каким-то образом получать доступ к ответам пользователя или конкретным ответам на основе ключа кэша, а также асинхронно запрашивать множество пользователей и сравнивать ответы.

Просто предположение, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...