Что, черт возьми, такое PuppyGraph?

Что, черт возьми, такое PuppyGraph?

27 февраля 2024 г.

Что такое PuppyGraph? Это было первое, о чем я спросил себя, когда наткнулся на него летом 2023 года. Это было мое участие в Apache Iceberg. это привлекло мое внимание; они хотели добавить поддержку Iceberg в PuppyGraph, но что это такое?

Этот блог будет скорее горячим обзором PuppyGraph, который заставит вас задуматься о том, как вы можете использовать его в своих собственных проектах. Я не имею никакого отношения к компании или проекту, кроме того, что считаю, что это довольно круто. Соучредитель Веймо Лю недавно (февраль 2024 г.) выступил с презентацией на конференции Chill Data Summit это было интересно и хорошо принято, по словам моих друзей, которые там были.

Что такое PuppyGraph?

Проще говоря, PuppyGraph — это облачное хранилище графовых данных, предоставляющее механизм анализа графов для ваших данных. Они обеспечивают масштабируемость графа посредством автоматического сегментирования данных, поэтому вычисления и хранилище разделены, как и в случае с домом у озера. Таким образом, они предоставляют хранилище графовых данных, озеро данных и модели с несколькими данными в одной копии ваших данных. Это означает, что вы можете построить отличные графики на основе своих данных в одном из поддерживаемых форматов.

К чему это может подключаться?

В PuppyGraph быстро добавлена ​​поддержка различных платформ, каталогов и механизмов подключения. На данный момент мы видим:

* Апач Айсберг * Апач Худи * Дельта озера * MySQL * PostgreSQL * ДакДБ * Большой запрос * Красное смещение * LanceDB (скоро) * Каталог JDBC * Каталог озера данных. * Улей Метастор * Клей AWS

Их интерфейс SaaS также предоставляет вам прямой доступ к консоли Gremlin и Cypher для выполнения запросов к графикам, а также к блокноту с графиками, который использует Jupyter.

PuppyGraph UI

Использование PuppyGraph

Предлагается Docker-контейнер, позволяющий начать работу на локальном компьютере. Вам понадобится схема, определенная в формате JSON, которая будет определять макет ваших данных в PuppyGraph. Как только вы это проглотите и оно будет проверено, все готово.

Встроенный графический браузер довольно удобен. Вы можете легко увеличивать или уменьшать масштаб, чтобы увидеть кластеризацию и атрибуты в дополнение к запросам.

Zoomed out graph in PuppyGraph

Увеличив масштаб, мы сможем увидеть больше деталей:

Zoomed in PuppyGraph graph

Нажатие на узел откроет всплывающее окно с подробной информацией:

Record details in PuppyGraph

Это позволяет легко исследовать различные вершины и ребра. Эти статические изображения на самом деле не отражают, насколько высока производительность или насколько интересно перемещаться по вашим данным. Мне следовало бы использовать некоторые генеалогические данные ради развлечения.

Поскольку они используют языки запросов Gremlin и Cypher, это означает, что любой сторонний инструмент пользовательского интерфейса также будет совместим. Реальным преимуществом здесь является то, что PuppyGraph работает с данными там, где они находятся, и не заставляет вас копировать их куда-то еще. Не вдаваясь в подробности конкретной платформы, вы получите общее представление о том, какие функции и возможности доступны.

Сводка

Конечно, графовые базы данных и их представление не применяются в общем смысле, как структурированные базы данных, но мы все больше и больше видим, как такого рода представления данных используются для моделирования реального мира. Я не увидел, что это проект с открытым исходным кодом, и не нашел его на GitHub. Там нет упоминания о ценах, поэтому я не уверен, куда они собираются со всем этим. Документация невелика, но, похоже, ее достаточно, чтобы начать и опробовать ее. В целом, это интересный проект, в который можно поиграть. Мне нужно изучить его подробнее, чтобы понять, где я могу его использовать, но я могу представить себе несколько интересных вариантов использования, сочетающих его с другими автономными проектами, такими как DuckDB и LanceDB.

Прочтите мои другие статьи «Что, черт возьми…», по ссылкам ниже:


Оригинал