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

Исходное сообщение
"Доступна распределённая графо-ориентированная СУБД Dgraph 0.4"

Отправлено opennews , 12-Июл-16 06:16 
Доступен четвёртый экспериментальный выпуск графо-ориентированной СУБД  Dgraph (https://dgraph.io/), предоставляющей средства для указания связей между записями, формируя граф из связанных друг с другом данных. СУБД изначально развивается с оглядкой на обеспечение минимальных задержек выполнения запросов, что позволяет использовать её для обработки информации в режиме реального времени. Архитектура приложения поддерживает создание распределённых конфигураций из нескольких экземпляров Dgraph, давая возможность масштабировать хранилища путём добавления дополнительных узлов при росте нагрузки или увеличении размера данных. Код СУБД написан на языке Go и распространяется (https://github.com/dgraph-io/dgraph) под лицензией Apache 2.0.


Для формирования запросов (https://wiki.dgraph.io/Queries_and_Mutations) предлагается использовать язык GraphQL (https://www.opennet.ru/opennews/art.shtml?num=42964), результаты отдаются в формате JSON. Для хранения данных применяется хранилище в формате ключ/значение, предоставляемое библиотекой RocksDB (https://www.opennet.ru/opennews/art.shtml?num=38499). Обращение к СУБД производится по HTTP с использованием протокола  Protocol Buffers (https://developers.google.com/protocol-buffers) поверх gRPC, что позволяет (https://wiki.dgraph.io/Clients) отправлять запросы из любых языков, для которых имеются клиентские библиотеки с поддержкой gRPC, в том числе обращаться к Dgraph из браузерных web-приложений.

URL: https://github.com/dgraph-io/dgraph/releases/tag/v0.4.0
Новость: https://www.opennet.ru/opennews/art.shtml?num=44773


Содержание

Сообщения в этом обсуждении
"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аноним , 12-Июл-16 07:56 
Вопрос к знатокам, не холивара ради, а развития для.
А чем данный сабж хуже\лучше orientDB ?

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аноним , 12-Июл-16 08:19 
Вероятно главная "фишка" - засунули json везде где только можно.

Мне лично интереснее http://tinkerpop.incubator.apache.org/


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аноним , 12-Июл-16 08:29 
Может ли данный сабж стать подспорьем для PostgreSQL ?

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аноним , 12-Июл-16 11:59 
Смотря что подразумеваете под вопросом. Подключить PostgreSQL в качестве хранилища данных можно, но нужно ли? Есть например http://titan.thinkaurelius.com/

Сабж интересен тем, что является надстройкой, которая сама оттранслирует запросы к нужным СУБД.

Графовая модель сама по себе довольно гибкая и начав ею пользоваться уже не хочется реляционную СУБД. Но и проблемы производительности никто не отменял.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аноним , 12-Июл-16 09:06 
Джависты должны оценить сорта серого оттенка.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Добрый , 12-Июл-16 09:12 
Основная проблема ориентдб в очень низкой надежности. По этому показателю ее обходят едва ли не все конкуренты.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аноним , 12-Июл-16 09:23 
А какого рода низкая надёжность имеется ввиду?
Для меня ненадёжность - это когда приходится сбрасывать вручную блокировки с таблиц в MySQL при резком не запланированном отключении электричестве.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аномистикус , 12-Июл-16 10:36 
UPS? Не, не слышал.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Добрый , 12-Июл-16 13:16 
Элементарная надежность, хотя бы на уровне заявленных гарантий ACID. Почитайте багтрекер ориента и отзывы пользователей на просторах сети. Данная СУБД к продакшену просто не готова.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено MMx , 13-Июл-16 10:27 
Я остановился на Arango - после всяких neo4j и orient.
Сейчас и эту поделку пощупаем.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Uri , 12-Июл-16 12:20 
> результаты отдаются в формате JSON

:facepalm:

Ну зачем, зачем json??? Я не понимаю, нахрена всовывать неизвлекаемый сериализатор-десериализатор в говенный формат на выходе запроса?


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено rob pike , 12-Июл-16 14:34 
Вы плохо читали, она для GraphQL. Который нужен только в client-side javascript. Которому в качестве данных было бы очень странно отправлять что-то кроме JSON.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Crazy Alex , 12-Июл-16 14:40 
Вообще-то графовые данные далеко не только в джаваскрипте нужны.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено rob pike , 12-Июл-16 14:56 
Графовые данные и GraphQL это примерно как энтерпрайз и ASP.NET.

GraphQL нужен только и исключительно веб-фронтенду. При этом никакая графовость там совершенно не нужна, нужна возможность не бегать к суровым DBA на каждый чих и не просить тех добавить три поля в запрос - что требуется каждые пять минут в соответствии с TDD, Agile, Scrum и окончательным вытеснением Waterfall вместе с какими-либо попытками проектирования чего-либо.

Графовые БД тоже нужны далеко не всем, но когда нужны, используют что-то серьезнее - например, AllegroGraph.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено MPEG LA , 12-Июл-16 16:41 
я так понимаю, вы перечислили все страшные слова которые знали.
GraphQL разрабатывался в первую очередь для мобильных устройств.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено rob pike , 12-Июл-16 17:57 
Ну что вы, далеко не все. Даже ниже по треду я ограничился EDIFACT, не упомянув X12.

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

Во-вторых, то что заявляется вольно иметь, и часто имеет, сколь угодно малое отношение к тому, что за этими заявлениями стоит. Не помните ли, как совсем не так давно некий Марк Ц. объяснял не самые оптимальные качества мобильного клиента своей небольшой социальной сети для котиков использованием веб-технологий вообще и HTML5 в частности? После чего компания Sencha наглядно продемонстрировала что дело было совсем не в них, продемонстрировав свой клиент небольшой социальной сети для котиков, сделанный именно на HTML5, но при этом не обладавший не самыми оптимальными качествами исходного клиента небольшой социальной сети для котиков.

В-третьих, даже из официальных заявлений, при некоторой сноровке, можно извлечь некоторую релевантную информацию. Вы ведь прочли в https://facebook.github.io/react/blog/2015/05/01/graphql-int... фразу "Fetching complicated object graphs require multiple round trips between the client and server to render single views"? Как вы думаете, какая же *техническая* причина могла бы помешать получать сколь угодно сложные результаты одним запросом? А вот нетехническая причина, которую я озвучил, именно и определила мгновенно вспыхнувший в сердцах разработчиков по всему миру резонанс (или уместнее было бы сказать унисон? оставлю на ваше усмотрение) с данным поползновением фейсбука - потому что проблема уж очень распространенная.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено MPEG LA , 13-Июл-16 13:12 
столько текста, и сплошной субъективизм. тема почему "GraphQL нужен только и исключительно веб-фронтенду" не раскрыта. GraphQL вполне применим и внутри микросервисов, и на мобилках, и для десктопных клиент-серверных.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено rob pike , 14-Июл-16 01:15 
Не субъективизм, а глубочайшее и подробнейшее рассмотрение онтологической сущности технологии, её области применимости, и проблематики, вызвавших её появление, в комплексе, включая наиболее важные - управленческие и социальные - аспекты современной командной разработки.

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


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Crazy Alex , 12-Июл-16 18:10 
Ну вот мне, напрмиер, нужно что-то несерьёзное - на десктоп, для локального применения. Чтобы разложить... скажем, документы по иерархическим тегам. То есть документ может иметь несколько тегов, а теги могут быть вложены друг в друга. В идеале - у тега может быть больше одного родителя. Чтобы на этом работали запросы с приемлемой скокростью хотя бы на паре десятков тысяч документов и стольких же тегах - с релционкой надо как-то очень странно извращаться, а от нескольких родителей у тега - отказываться.

P.S. Ты бы agile  с отсутствием планирования не путал. Там всего и делов - не пытаться планировать то, для чего нет данных.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено rob pike , 13-Июл-16 08:39 
Почему только документы? Окна, например, я бы тоже с радостью разложил по иерархическим тэгам. И не только окна. Но нечем, все заняты переписыванием hello world на Go и Rust.

Я не вижу кейса когда у одного тэга больше одного родителя имело бы смысл, покажете?

С Agile невозможно ничего спутать, ведь известно что любое утверждение про Agile всегда можно признать неверным, "потому что это неправильный Agile, в правильном Agile всё не так" - ровно как с социализмом.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Crazy Alex , 14-Июл-16 09:14 
Когда начинаешь раскладывать документы оказывается, что есть несколько параллельных классификаций. Вот, например, есть тег "Гитлер". Он может попадать в родительские категории "нацизм", "диктаторы" и "немецкие политические деятели". Либо надо делать теги  без иерархии, и каждому документу добавлять по 100500 (пусть и с автоматизацией), а выбирать потом исключительно запросами на пересечение - но одноранговые теги плохи по другим причинам в перву. очередь их просто помнить/просматривать неудобно, как только количество улетает за третью сотню. А учитывая, что подобный софт имеет смысли именно для боьших массивов - три сотни - ни разу не  предел.

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


"Доступна распределённая графо-ориентированная СУБД Dgraph 0.4"
Отправлено Аноним , 12-Июл-16 12:44 
> Обращение к СУБД производится по HTTP с использованием протокола  Protocol
> Buffers (https://developers.google.com/protocol-buffers) поверх gRPC, что позволяет
> (https://wiki.dgraph.io/Clients) отправлять запросы из любых языков, для которых имеются
> клиентские библиотеки с поддержкой gRPC, в том числе обращаться к Dgraph
> из браузерных web-приложений.

  Правильно. Зачем нужны MVC, MVVM, если можно просто так взять и напрямую из браузера в базу залезть? ОРМки, вообще, давно нужно в печь выбросить.

  


"Доступна распределённая графо-ориентированная СУБД Dgraph 0.4"
Отправлено rob pike , 12-Июл-16 14:59 
В лучшем случае типичный слой "бизнес-логики" в вебе (где и нужен GraphQL) занимается просто заворачиванием резалтсетов в JSON, в худшем - еще и императивным вытягиванием всей БД и проходами по ней в циклах тройной вложенности перед этим.

Никаких MVC и MVVM в этом всем обычно не наблюдается.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Аноним , 12-Июл-16 12:59 
> Обращение к СУБД производится по HTTP с использованием протокола Protocol Buffers поверх gRPC

Какая жесть...


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Crazy Alex , 12-Июл-16 14:42 
Чего жесть? protobufs - хороший протокол. Или это о gRPC?

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено rob pike , 12-Июл-16 15:47 
Только EDIFACT и ASN.1 способны по-настоящему закалить дух.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Crazy Alex , 12-Июл-16 16:54 
EDIFACT на пользовался, а asn.1 - это да, только закалять дух

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено all_glory_to_the_hypnotoad , 12-Июл-16 22:21 
protobuf это не протокол. Как формат сериализации он так себе и уж совсем гогно все его родные гугловые библиотеки с реализацией парсеров и генераторов. Для повседневных затычек внутри компании он более-менее годится и только.

> Или это о gRPC?

Раз уж gRPC прибит к протобуфу, то и о нём, естественно, тоже. Самое удивительное, что оно ещё умудряется отдавать ответы в JSON.

Делаете протокол на основе HTTP - ну так используйте все типичные для этого протокола методы передачи запросов, т.е. текстовые аргументы которые можно набирать руками и ответамы в JSON/XML. Иначе же нет смысла прибивать протокол к транспорту поверх HTTP, свои реализации поверх сырого сокета дают больше профита.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено АнонимХ , 13-Июл-16 11:55 
> protobuf

Чем плохи гугловские либы? Показывают неплохую производительность, с глюками не сталкивался. Я серьезно спрашиваю. А альтернативы?


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено all_glory_to_the_hypnotoad , 15-Июл-16 03:34 
Не могут парсить пакеты в потоковом режиме, читают сразу всё в память делая кучу аллокаций даже если данные нахрен не нужны. Есть довольно низкие ограничения на размер пакета, порядка максимум полугига, но рабочие размеры несколько сотен мб. Причём сам парсер может понаделать UB если таки уговорить его сжирать большие пакеты. Альтернативой всему этому будет что-то типа flatbuffers.

"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено Crazy Alex , 15-Июл-16 01:55 
Ты можешь как-то аргументированно ответить? Куче народу было бы полезно. А то "гогно" информативностью не блещет.

Я вот знаю, что третий протобуф шустр и сравнительно компактен.

Почему нельзя поверх сокета - понятно, надо, чтобы браузерные клиенты дёргать могли.


"Доступна распределённая графо-ориентированная СУБД Dgraph 0...."
Отправлено all_glory_to_the_hypnotoad , 15-Июл-16 03:38 
> Почему нельзя поверх сокета - понятно, надо, чтобы браузерные клиенты дёргать могли.

Что за бред несёшь ... протобуф в браузере офигеть как удобно готовить. Для браузера делают отдельные гейтвеи, а не костылят эту проблему в протоколе общения с СУБД.