Вопрос.
Допустим, вы работаете в поисковой компании и хотели бы увидеть ТОП-50 самых популярных ключевых слов вчерашнего дня. Если журналы доступа распределены по тысячам серверов, каков будет наилучший способ достижения вашей цели?
1) Redis показывает отличную производительность в этом случае. Создание программы, которая проверяет число поисков по ключевому слову поиска, позволяет ему читать все распределенные журналы и найти лучшие 50 с помощью команды Redis.
2) RDS является лучшим в этом случае. Создайте программу, которая проверяет количество поисков по ключевому слову поиска и находит топ-50 по команде SQL.
3) Поисковая система (ElsaticSearch, Solr) имеет внутренний процесс, который сохраняет количество поисков для каждого ключевого слова. Использование этого индекса было бы способом.
4) MapReduce является лучшим в этом случае. Распределите процесс по MapReduce и агрегируйте результат.
КОНЕЦ
Я относительно новичок в мире разработчиков. Это была анкета от компании, в которую я подал заявку, и это заставляет меня задуматься, что является лучшим. Процесс подачи заявок уже завершен, поэтому я не пользуюсь им, а просто задаюсь вопросом, что было бы лучшим способом и в какой области мне следует изучить, чтобы легко найти ответы на такие вопросы. Надеюсь, это также положительный вызов для вас.
Спасибо.