Эта новая графовая БД в 496 раз быстрее Neo4j!Давайте разберем почему:
Классическая графовая БД хранит две вещи: узлы (entities) и ребра (relationships между ними).
Когда вы делаете запрос в классическую графовую БД, она делает обход через pointer chasing:
→ стартуем с узла
→ переходим по указателю к связанному узлу
→ еще один указатель
→ и так далее
Это по своей природе последовательный процесс. Один hop за раз. И по мере роста графа это становится болезненно медленным.
FalkorDB задает другой вопрос:
А что если представить весь граф как матрицу?
Как это работает:
Представьте обычную таблицу. Строки — source nodes, колонки — destination nodes.
Если Mary подписана на Bob, ставим в позицию [Mary, Bob] = 1.
Все. Весь граф теперь это матрица из 1 и 0.
Назовем ее матрицей Follows (F).
Дальше интереснее:
Хотите узнать на кого подписаны друзья Mary? В классической графовой БД вам нужно сделать два перехода: Mary → друзья → друзья друзей.
Но с матрицами вы просто умножаете матрицу Follows саму на себя: F × F = F².
Это одна операция — и готово!
А более сложный паттерн вида “A follows B, B likes C” превращается в: Follows × Likes.
То есть traversal можно выразить через математику.
Почему это важно:
- матричные операции оптимизируются уже больше 50 лет
- современное железо (CPU/GPU) заточено под матрицы
- операции выполняются параллельно (pointer chasing не может)
Плюс есть еще несколько оптимизаций (например sparse matrices, реализация на C и т.д.), и все это делает FalkorDB в 496 раз быстрее Neo4j.
График на фото это хорошо показывает.
Классические графовые БД идут через Cypher QL → Pointer-Based Traversal, а FalkorDB использует Matrix-Aware Planner, который превращает запросы в матричные операции.
FalkorDB полностью строится на этом принципе:
- нативный модуль Redis (in-memory и очень быстрый)
- использует GraphBLAS для sparse matrix вычислений
- автоматически транслирует Cypher-запросы в матрическую алгебру
Это важная тема для AI-приложений, потому что…
Современным AI-агентам и RAG-системам нужно обходить сложные связи в реальном времени. Когда агент делает reasoning через knowledge graph, связывая пользователей, действия и результаты — каждая миллисекунда задержки складывается.
Vector DBs ловят семантическую близость. Но они не держат явных связей.
Knowledge graphs закрывают эту дыру.
И когда вашему агенту нужно делать multi-hop reasoning по тысячам связанных сущностей, матричный traversal упрощает масштабирование AI-приложения без проблем с задержками.
FalkorDB полностью open-source, вы можете посмотреть реализацию на GitHub и попробовать сами.
Ссылка на GitHub-репозиторий👉
@PythonPortal