раздел 39

Neo4j и графовые базы

Графовые базы с нуля: когда таблицы перестают справляться со связями и какие задачи рождены для графа. Модель property graph, Neo4j и язык Cypher, где запрос рисует кусок графа. Создание данных через CREATE и MERGE, чтение через MATCH, обходы и пути переменной длины, агрегации, изменение и удаление, индексы и ограничения. Дальше моделирование, рекомендации и кратчайшие пути, алгоритмы на графах, сравнение с SQL, импорт CSV, драйверы, транзакции, кластеры и честный разговор о том, когда граф не нужен.

27 уроков27 тем · 8 кластеров

Начать раздел
Хочу пройти

Раздел открыт для всех. Войди, чтобы отмечать пройденные уроки, вести заметки и решать задачи в редакторе. войти

Уроки раздела

  1. Когда таблицы перестают справлятьсяJ~20 мин
  2. Задачи, рождённые для графаJ~15 мин
  3. Граф как модель данных: property graphJ~15 мин
  4. Что такое Neo4j и как его поставитьJ~15 мин
  5. Neo4j Browser: первая графовая консольJ~15 мин
  6. Модель данных Neo4j: метки, типы, направлениеJ~20 мин
  7. Паттерны Cypher: запрос как рисунок графаJ~15 мин
  8. CREATE: создаём узлы и связиJ~20 мин
  9. MERGE: идемпотентность и «создать, если нет»J~20 мин
  10. MATCH и RETURN: находим и возвращаемJ~20 мин
  11. WHERE: фильтрация совпаденийJ~25 мин
  12. OPTIONAL MATCH и работа с отсутствиемJ~20 мин
  13. Многошаговые обходы по связямJ~20 мин
  14. Пути переменной длины: *1..3J~20 мин
  15. Агрегации: count, collect и неявная группировкаJ~25 мин
  16. SET и REMOVE: меняем свойства и меткиJ~20 мин
  17. DELETE и DETACH DELETE: удаляем безопасноJ~20 мин
  18. Индексы и ограниченияJ~20 мин
  19. Проектирование графовой схемыJ~15 мин
  20. Типовые задачи: рекомендации, путь, сообществаJ~20 мин
  21. Алгоритмы на графах: обзор Graph Data ScienceJ~20 мин
  22. Cypher против SQL: те же задачи, разный путьJ~25 мин
  23. Импорт данных через LOAD CSVJ~20 мин
  24. Работа из приложения: драйверы Python и JSJ~20 мин
  25. Транзакции и ACID в Neo4jJ~20 мин
  26. Масштабирование, кластеры и примененияJ~15 мин
  27. Другие графовые БД и когда граф не нуженJ~15 мин

Понятия курса

Понятия разобраны внутри уроков. Нажми на понятие, чтобы открыть урок, где оно объясняется.

Зачем нужна графовая база данных

Знакомство с Neo4j и Cypher

Cypher: паттерны и создание данных

Чтение данных: MATCH, WHERE, RETURN

Обходы, пути и агрегации

Изменение данных, индексы и ограничения

Моделирование, типовые задачи и алгоритмы

Интеграция, эксплуатация и границы