Как мы храним и анализируем большой социальный граф Базы данных, системы хранения
Тезисы
Сейчас наша компания занимается разработкой решения, позволяющего анализировать большой социальный граф: такой, в котором >100 млн. вершин и >1 млрд. ребер. На нем могут ставиться различные задачи: от простого обхода всех ближайших соседей вершины до поиска всех подграфов, удовлетворяющих определенным условиям. Кроме того, дополнительная сложность заключается в том, что все время добавляются новые данные, а потому их прогрузка должна идти параллельно с анализом.
Я расскажу о том, как мы решали эту задачу с помощью графовых баз данных DEX и Neo4j, о том, как в каждой из них можно настроить быстрый импорт графа и как ускорить обходы с помощью кэширования. Также я объясню, почему в конечном итоге мы перешли к созданию собственного хранилища, "заточенного" непосредственно под решение наших задач.