На этот простой вопрос дают разные ответы:
- взять графовую базу данных;
- использовать матрицу инцидентности;
- использовать список смежных вершин.
«Графовая база данных!». Стоит озвучить нагрузку в десятки тысяч запросов секунду и требования отвечать за миллисекунды (тысячные доли секунды!), как графовые базы сразу оказываются за бортом: типичное время ответа на простые запросы — единицы секунд.
Экс-разработчик MySQL и SciDB, ныне ведущий разработчик Mail.Ru Target Олег Царёв расскажет, как решалась эта непростая задача в рамках проекта Mail.Ru Target.
Презентация доклада:
Запись выступления: