URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 121222
[ Назад ]

Исходное сообщение
"Для PostgreSQL подготовлено дополнение AGE для хранения данных в форме графа "

Отправлено opennews , 11-Июл-20 12:24 
Для PostgreSQL предложено дополнение AGE (AgensGraph-Extension) с реализацией языка запросов openCypher для манипуляций с наборами связанных между собой иерархических данных, образующих граф. Вместо столбцов и строк графо-ориентированые БД используют структуру, похожую на сеть - задаются узлы, их свойства и отношения между узлами. AGE распространяется под лицензией Apache 2.0, передан компанией Bitnine  под покровительство Фонда Apache и в настоящее время помещён в инкубатор Apache...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=53337


Содержание

Сообщения в этом обсуждении
"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 11-Июл-20 12:24 
Не нужно, как и электрон.

В 70-х прекрасно без этих ваших графовых БД обходились.


"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 11-Июл-20 12:29 
А раньше люди вообще только дубинкой обходились.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 11-Июл-20 12:33 
> В 70-х прекрасно без этих ваших графовых БД обходились.

В 70-х и без вас, дорогой Аноним, прекрасно обходились.


"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено YetAnotherOnanym , 11-Июл-20 12:33 
Ээээ... а насколько эффективно организовано хранение графовых данных и их обработка в реляционной БД, по сравнению с нативными графовыми БД?

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено x3who , 11-Июл-20 13:44 
Вот пишут: "AgensGraph is fastest graph database all around the world."
(с) https://www.startupranking.com/bitnine

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 12-Июл-20 22:11 
на заборах тоже пишут...

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено лютый жабби__ , 13-Июл-20 13:08 
Как довольный юзер neo4j скажу, либо там от слона ничего не осталось, либо они брешут как троцкие.
Лень по ссылкам ходить, но полагаю, что функционала там как во всех сишных поделках, на 5% от neo4j. Когда сделаете близко к 100%, тогда и квакайте про fastest around the world :)))

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено neAnonim , 11-Июл-20 17:15 
> Проект продолжает развитие СУБД AgensGraph, которая представляет собой переработанную для обработки графов модификацию PostgreSQL

я предполагаю, что реляционные данные и ноды хранятся отдельно и обрабатываются по разному. (src лень изучать)


"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено YetAnotherOnanym , 12-Июл-20 18:56 
Сам себе отвечу.
Там на их сайте вроде бы основной фишкой преподносится то, что в ПГ хранятся некие данные об объектах (в традицонной для реляционной БД форме) и в дополнение к этому некая граф-структура, отражающая связи между этими объектами. То есть, это именно дополнение к ПГ для работы с неким специфическим типом данных, и её не совсем уместно сравнивать с графовыми БД.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 13-Июл-20 10:48 
Можно ссылку? Как понял я основная фича это то, что можно одновременно использовать реляционные и графовые схемы.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено YetAnotherOnanym , 13-Июл-20 10:58 
Прямо на стартовой (https://bitnine.net/):
> In graph database technology, relationships are as important as data itself and when you are handling hyper-connected data the relationships between entities contain significant context, which is lost in the process of normalization using a conventional databases. Agensgraph is designed to deal with the complexity of the relationships and to provide an intuitive and dynamic insight that empowers executable and useful data intelligence.
> AgensGraph is the only multi-model graph database integrated with a relational database

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено master , 13-Июл-20 17:46 
https://www.amazon.com/Hierarchies-Smarties-Kaufmann-Managem...

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 11-Июл-20 13:48 
Postgres получился неплохой метадвижок для создание специализированных бд в виде расширений.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено mos87 , 11-Июл-20 18:09 
Но зачем все это пихать в sql базу и манипулировать потом нестандартным sql dml'ем?
Sql головного мозга какой-то
Это все равно что у отвертки из рем набора машины вместо ручки будет руль

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 11-Июл-20 18:52 
Для тех случаев, когда есть и классически-реляционные, и графовые данные, и хочется с ними работать атомарно, в рамках транзакций - очень удобно должно быть.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Cuernud , 11-Июл-20 20:04 
Это ты бы так сделал. А нормальные люди используют низкоуровневый движок хранения, который есть в реляционной СУБД, и создают свою обёртку, вместо SQL-ной.
Ну и конечно, SQL головного мозга тебе не грозит, этой болезни у тебя просто "угнездиться негде". ©

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 11-Июл-20 21:51 
Если уже есть Постгрес на проекте лучше уж пихать все в неё чем поднимать новую базу и городить все туда.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Ordu , 11-Июл-20 21:52 
> Но зачем все это пихать в sql базу и манипулировать потом нестандартным sql dml'ем?

Может это случай синдрома "когда у тебя в руках молоток, всё вокруг кажется гвоздями". Но даже если это тот самый случай, то реляционные БД имеют под собой проработанную теорию, и эта теория обширно проверена на практике и допилена под эту практику. Всё что возможно запилить другого будет рядом с реляционной БД просто наколенной поделкой.

Но если даже не так, то ты прикинь, вот решил ты создать графовую базу данных -- как ты будешь хранить её на диске? Есть разные способы представления графов, какой ты используешь? Один из этих способов: два списка -- список вершин и список рёбер. Понятно что к этому прилагается какой-то способ адресации вершин и рёбер -- индекс в массиве, или какой-то ключ для поиска по хештабличке.
Но это же прям для реляционной БД способ, не так ли? Если использовать ключи (идентификаторы какие-то), то прям отлично ложится на реляционную бд. Другие способы, типа хранения структур вида:

struct Vertex {
    name: String,
    edge: Vec<Edge*>,
}

struct Edge {
   left: *Vertex,
   right: *Vertex,
}

не очень удачны: чтобы перенести бд из одного места в другое, тебе придётся либо пересчитывать все указатели, либо копировать as is, с сохранением всех смещений. А если у тебя часть элементов была удалена, и в хранилище теперь появились неиспользуемые дыры? Тут ты расчехляешь Кнута, и начинаешь освежать в голове алгоритмы управления памятью, и получаешь в результате непредсказуемое время выполнения запросов. Может эти проблемы и можно решить, почитав того же Кнута, просто порыскав алгоритмов, переговорив со многими людьми об алгоритмах, изобретя собственных алгоритмов. Может и можно решить, а может и нет -- я не знаю, не пробовал. Но даже если можно, то это займёт годы напряжённого труда, в процессе которого ты не только PhD получишь, возможно ещё и пожизненную должность профессора в каком-нибудь ВУЗе из top10 по миру.


"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено Аноним , 11-Июл-20 21:53 
Графовое расширение - крайне недостающая вещь в PostgreSQL, чтобы эта БД была по настоящему универсальным средством построения систем. С JSONB (средство хранения некого куска данных без схемы) и графами она покроет все потребности большинства сервисов. Базу это не убьёт, но улучшит. А когда доведут до ума FDW и шардинг, это будет атомная бомба в мире СУБД.


Сейчас БД активно идут в универсальность.


"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено нитрол , 11-Июл-20 22:10 
Да, все, кому это надо в работе, люто ждут :) Когда-то давно игрался с agens, вроде работает, но 0.х и малоизвестность не тянет это в прод. Кажется, некие Fujitsu/etc, один из корпоративных контрибьюторов pg, где-то заикались, что у них в roadmap добавить graph model в pg. Если все это правда, то могут скоро много разных graph model impl повалить в pg. Юношеский каммент: "может надо обратиться к Oleg Bartunov, может также хорошо запилят graph model, как у них вышло с JSONB? Там у людей вся жизнь с pg в обнимку."

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено лютый жабби__ , 13-Июл-20 23:10 
>может также хорошо запилят graph model, как у них вышло с JSONB

сколько платят за коммент? ну не скажет такого человек, который хоть раз щупал монгу.
с чем сравниваешь-то?!


"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено нитрол , 14-Июл-20 20:24 
>>может также хорошо запилят graph model, как у них вышло с JSONB
> сколько платят за коммент? ну не скажет такого человек, который хоть раз
> щупал монгу.
> с чем сравниваешь-то?!

Я, наверное, не уловил основную мотивацию вопроса, но попробую ответить, как смогу.

Монгу, конечно же, пробовали и в проде топтали, но бывают такие задачи/проекты, где очень удобно/хорошо ложится все в один multi-model storage как тот же pg, где можно использовать прелести document oriented (JSONB), различные индексы, уже проверенные временем подходы к работе с SQL (т.е. народ это уже умеет делать, не надо новый *QL учить, плюс готовые решения around), тут же и готовые решения под time series data (тигр tsdb) и т.п.

Но я это пишу не сцелью "уговорить" использовать базу Х для хранения данных или забивания гвоздей везде и всегда. Это просто пример, ибо не везде solution X стоит слепо лепить, или даже если очень хочется и можется, не везде оно хорошо зайдет.

Как-то так.


"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено КО , 13-Июл-20 09:07 
Вы немножко путаете понятия.
То что кто-то понимает английский язык не означает, что он англичанин. Даже если это его родной язык.
Так же и с Бд - язык общения с пользователем не обязан быть единственным и определять ее внутреннюю структуру.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено mail , 12-Июл-20 13:55 
Взлетит и высоко если в AWS запихают.

"Для PostgreSQL подготовлено дополнение AGE для хранения данн..."
Отправлено КО , 13-Июл-20 08:56 
>графо-ориентированые БД используют структуру, похожую на сеть

Классное объяснение, с учетом того, что сеть это частный случай графа. :)