
Daniel
23.03.2018
16:53:07
Про что говорил Семён. Конечно, они ничего не парсят?
Без?

Alex
23.03.2018
16:59:31
а кто кстати читал https://raw.githubusercontent.com/namin/unsound/master/doc/unsound-oopsla16.pdf "Java and Scala’s Type Systems are Unsound"?
у меня валялась больше года, а щас решил таки прочесть по куклевской наводке

Google

Oleg
23.03.2018
17:00:21
Олег, а какое относишься к Neo4j?
Ну я сразу выбросил её из рассмотрения, т.к. бесплатно можно только одну ноду гонять, а тогда непонятно зачем это всё.
Нет ни опыта ни какого-то особенного отношения
Но мульти-модельные как-то больше цепляют
унёс, что субтайпинг тяжело, если делать его наобум без папиров

Alexander
23.03.2018
17:01:51


Daniel
23.03.2018
18:07:03
Олег, а какое относишься к Neo4j?
Отзывы бывших коллег были не оч о перформансе.
Но опять же как и со всеми (особенно распределенными) графами надо смотреть на кейсы. Про универсальность пока все врут (лан, про арангодб нет инфы). В реальности подходят только под определенные кейсы (я не говорю о чисто аналитических решениях). Кто-то работает только с малым количеством связей и сильно деградирует при глубине обхода (нео4ж), кто-то захочет на суперграфы и имеет так себе отклики (титан и янус), кто-то просто ? дальше хэллоу ворлда (ориент). Ну и т.д. Видел тесты, когда при небольшой глубине постгря гораздо лучше себя ведет, чем графовые базы.
Если нужна производительность, то надо лепить под своей кейс. Даже без тюнинга и вылизывания может быть значительная разница.

Nikita
23.03.2018
18:08:56

Daniel
23.03.2018
18:10:52

Oleg
23.03.2018
18:12:07
Ориент вполне себе ок, если не использовать его в алгоритмичечких целях

Nikita
23.03.2018
18:12:18

Oleg
23.03.2018
18:13:34
Как слегка более фиговая и слегка более масштабируемая фигня для сложно-устроенных-связанных опердней достаточен
Просто нужно случайно поймать ту версию где именно нужные тебе фичи без багов

Алексей
23.03.2018
18:14:32
есть вот такой зверь http://www.agensgraph.com/
граф положенный поверх Pg

Google

Oleg
23.03.2018
18:15:17

Алексей
23.03.2018
18:15:32
умеет работь как графовая + реляционка

Alexandr
23.03.2018
18:16:29
у меня был странный опыт с neo4j
Мой код сгрузил туда около террабайта связей. Потом мы попытались из него читать и это было
очень медленно. Вдобавок на полдороги диаграма на стене, где были: pg+mongo+neo4j+titan навела на мысль, что мы что-то делаем ОЧЕНЬ не так. Хочу снова заснуть графдб в какой-нибудь проект, так как ничего не понял.

Алексей
23.03.2018
18:16:53

Oleg
23.03.2018
18:18:54
Мне чот сложно представить, зачем может быть нужен однонодный граф как отдельная СУБД

Алексей
23.03.2018
18:19:08
neo4j подкупает языком запросов Cypher) видел варианты на Go, где в качестве языка GraphQL был

Oleg
23.03.2018
18:19:40
Типа ориента и аранго
Ну и если что-то хитрое делать, то конечно, гремлин самое то, хотя очень очень медленный по-моему везде

Gleb
23.03.2018
18:21:34
Немного оффтоп - про графовые БД я бы послушал доклад. Правда это не очень скала

Oleg
23.03.2018
18:21:53

Алексей
23.03.2018
18:23:47
хммм, посмотрел на ориент, есть вроде бесплатная версия, запросы умеет человеческие понимать, надо пощупать )

Oleg
23.03.2018
18:24:44

Алексей
23.03.2018
18:25:22
ну явно не быстрей графа на redis )

Oleg
23.03.2018
18:25:45
Нет, он не из-за производительности сломается
Из-за хаотичных багов из-за угла

Алексей
23.03.2018
18:26:54
ну там тоже ) опечатался в запросе, сегфолт

Oleg
23.03.2018
18:27:50
В ориенте приятная внутренняя архитектура. Он хорошо расположен к расширениям всех сортов

Gleb
23.03.2018
18:28:04
Отлично, сделаешь доклад?
Не настолько знаю область. Работал с neo в 2013м, тогда даже элементарные запросы тормозили по 200 мс

Oleg
23.03.2018
18:28:28

Google

Oleg
23.03.2018
18:28:38
Я не знаю, не пробовал

Gleb
23.03.2018
18:28:58

Daniel
23.03.2018
18:46:29

Алексей
23.03.2018
18:48:28
ооочень маленькие, до гига + предрасчеты, предфильтрация :)
запас по железу большой, но вот хочется что-то маштабируемое и не за тонну денег :)

Daniel
23.03.2018
18:50:32
Если это все та же задача с которой начиналось, то я не уверен что граф там нужен. Но это дилетанское мнение конечно.

Oleg
23.03.2018
18:56:31
Ну за 4 года должно было
Непонятна уверенность. Вот sqlite не стал же быстрее.
Иногда производительность - следствие архитектуры или подхода, а не недоработок

Gleb
23.03.2018
19:09:03

Алексей
23.03.2018
19:30:12
но судя по комитам ему сто лет уже

Sergey
23.03.2018
23:59:50

Gleb
24.03.2018
05:10:03
@odomontois @optician_owl не пробовали datastax graph https://www.datastax.com/products/datastax-enterprise-graph?
Хотя ценник наверняка кусается

Daniel
24.03.2018
07:02:01

Oleg
24.03.2018
07:09:19
В особенности, что они не смогли сделать эти графы в той же модели, что и CQL. Т.е. ты вроде покупаешь datastax enterprise, а на самом деле поиск, кассандра и граф - три отдельные хранилища
Тем более, что общение с ним только через тинкерпоп

Ilya
24.03.2018
07:54:38
Подскажите пожалуйста. Можно ли в акка стримах стандартными методами сделать так, чтобы стрим складывал значения в буфер по условию. например нету коннекшена куда то и стрим ждёт пока он восстановится, складывая всё в буфер?

Google

Ilya
24.03.2018
07:55:02
Я нашёл что то похожее только в ручных логиках

Dmitry
24.03.2018
07:55:26
Circuit breaker?

Ilya
24.03.2018
07:59:16
Circuit breaker?
Написано вроде бы fail-fast, мне вроде как нужна стратегия ожидания.
Я чёт недопонимаю?

Oleg
24.03.2018
07:59:53

Ilya
24.03.2018
08:00:46
Вот по идее он должен как раз начинать бек прешшурить и складывтаь всё в буфер

Admin
ERROR: S client not available

Ilya
24.03.2018
08:01:08
По условию. Отвалился допустим коннект в базу

Oleg
24.03.2018
08:01:16

Ilya
24.03.2018
08:01:19
Да

Oleg
24.03.2018
08:01:58
А условие откуда в стриме возьмётся?
Это какой-то гдобальный стейт, материализуемый стейт, или предикат к элементу?

Ilya
24.03.2018
08:02:27
Это глобальный стейт
Который выясняется мгновенно
И никак не зависит от элементов стрима или её логики
Хм... чёт я фигню сморозил. Получается материализуемый

Oleg
24.03.2018
08:03:33

Ilya
24.03.2018
08:03:49
Да, класть всё в буфер и ждать

Oleg
24.03.2018
08:04:21
нене, когда обратно вернулось, ты можешь что-то сделать?

Ilya
24.03.2018
08:04:34
Да, продолжить всё как и раньше

Google

Oleg
24.03.2018
08:04:35
в этот момент у тебя ечть контроль?

Ilya
24.03.2018
08:05:22
То есть феил нужен только при сбросе с буфера

Oleg
24.03.2018
08:06:31
вот смотри вопрос такой
можешь ли ты сделать такой метод (например актором)
def waitAvailable: Future[Unit]
который возвращает моментально, если доступно и ждёт если недоступно, и может закосплититься, когда вернётся?

Ilya
24.03.2018
08:08:02
Не уверен, думаю да, тогда актор должен менять стейт и уже опрашивать сам

Oleg
24.03.2018
08:08:21
если да - тогда обычный
.buffer(...).mapAsync(foo)
где foo - это что-то зафлэтмэпленное с твоим waitAvailable
в buffer можешь навернуть всё, что наговорил с размерами и стратегией переполнент

Ilya
24.03.2018
08:09:35
Понял, как всегда спасибо) Буду пробовать. Если не получится тогда на скасти накидаю пример

Andrey
24.03.2018
17:55:15
В чате
1110 участников. Ждем счастливчика

Алексей
24.03.2018
17:55:58
вчера уже было 1111 )

Alexey
24.03.2018
18:37:23
у меня 1113 уже

IEvgenii
24.03.2018
19:33:21
Кто то работает в компаниях которые робототехникой занимаются?

Wystan
24.03.2018
19:35:18
Господа, я не могу понять одну вещь про акка-стримы. Допустим, у меня в коде есть функция sendToUser(msg: Message) - как сделать, чтобы эта функция была source для akka stream? Или, может, можно как-то сделать стрим, а потом внутри sendToUser(msg: Message) = stream.push(msg) вызывать?

Vadim
24.03.2018
19:36:08
Типа пушишь в стрим сообщение и оно по пейплайну идёт ?

Wystan
24.03.2018
19:36:59
Ну это было бы совсем хорошо, но это не вкладывается в концепцию стримов

Vadim
24.03.2018
19:37:09
Так да
Ща,почитаю ещё раз твой вопрос и подумаю
Так,тебе нужна функция которая вернёт src для стрима ?