Neo4j

Раздел про Neo4j: модель property graph и обход без индексов, язык запросов Cypher, моделирование графа и эксплуатация — индексы, память, бэкапы.

Зачем для UCP. Neo4j — графовая СУБД для данных, где связи важнее самих сущностей: рекомендации, антифрод по цепочкам, социальные графы, граф знаний и GraphRAG. Пятый тип хранилища после реляционного, документного, поискового и объектного. Входит в программу подготовки.

Реляционная база отвечает на вопрос «какие строки подходят под условие» быстро, а на вопрос «как эти сущности связаны на несколько шагов вглубь» — медленно и многословно: каждый шаг связи — это JOIN по индексу. Когда таких шагов много и глубина заранее неизвестна, удобнее хранилище, где связь — это не строка в таблице, а прямая ссылка от объекта к объекту. Это и есть графовая СУБД, а Neo4j — самая известная из них.

Раздел разбирает Neo4j по слоям: сначала модель (узлы, рёбра, свойства и почему обход дёшев), потом язык Cypher (как выражать шаблоны связей), затем моделирование и эксплуатацию (как проектировать граф, какие нужны индексы и как это живёт в проде). Когда именно граф оправдан против рекурсивного SQL — в статье SQL или графовая СУБД; где Neo4j применяют на практике — в Neo4j: применение.