@haskellru

Страница 222 из 1551
Dmitry
01.03.2017
17:19:28
но они не должны лупить туда.

а должны в какое-то другое место.

ну т.е в этой задаче они вообще не должны никогда.

Quet
01.03.2017
17:19:57
и потом из этого места целиком переделывать иммутабельную базу?

Google
Dmitry
01.03.2017
17:21:02
ну, когда голова была монолитная - проблемы просматривались, т.е запись начинала доходить до десятых долей секунды

основном на IO

потому что оно было прям одним здоровым шматом, натурально

я попилил на независимые части, стало опять нормально

в памяти только индекс - ссылки

нужные объекты суммонятся (материализуются) по мере надобности

Quet
01.03.2017
17:22:24
быстро суммонятся?

Dmitry
01.03.2017
17:22:31
да

да и иерархия неглубокая

так что да, быстро всё пока что.

стоит про это в апреле в касперском попробовать рассказать?

Vladimir
01.03.2017
17:25:15
а что в апреле? конфа?

какой город?

Google
Dmitry
01.03.2017
17:25:41
в касперском в мск вроде собираются митап сделать

Vladimir
01.03.2017
17:25:56
круто, но хочу в Питере

Quet
01.03.2017
17:26:12
а инфа по митапу уже есть? обычно это в гитлере обсуждают, а я его не читаю (

Dmitry
01.03.2017
17:26:28
не знаю, я знаю только что в апреле и в касперском

Alexander
01.03.2017
17:26:38
мне все доклад не придумать..

Dmitry
01.03.2017
17:26:40
т.е там надо еще успеть подать, наверное

Alexander
01.03.2017
17:26:45
угу

Dmitry
01.03.2017
17:26:48
учитывая что это всё прямо сейчас пишется

Vladimir
01.03.2017
17:27:08
тебе же не код показывать

Мерлин
01.03.2017
17:27:30
А я упустил, вы что вместо постгреса используете?

Dmitry
01.03.2017
17:28:02
а это к кому вопрос?

если ко мне, то НЕ acid-state, т.к он всё в памяти хранит

Мерлин
01.03.2017
17:28:33
а это к кому вопрос?
К вам, извините, промахнулся мимо сообщения

Alexander
01.03.2017
17:28:48
у нас leveldb для diff и снапшотов и память

Quet
01.03.2017
17:29:05
если ко мне, то НЕ acid-state, т.к он всё в памяти хранит
ну у вас acid-state по сути выступает индексом к данным?

Alexander
01.03.2017
17:29:19
блин и вот я прям в данный момент пишу код для обновления схемы не покрываемой safecopy

у нас граф, и если и объекты или relation исчезли, а обновляться надо

Google
Vladimir
01.03.2017
17:31:54
@qnikst @quetzal а можете свои задачи конкретно описать?

Мерлин
01.03.2017
17:32:16
По сути свой журналируемая редиска

Quet
01.03.2017
17:32:17
@qnikst @quetzal а можете свои задачи конкретно описать?
у меня вообще постгрес везде, ничего интересного

Alexander
01.03.2017
17:32:21
есть граф описывающий кластер нативными хацкельными типами, с ним работать надо

Vladimir
01.03.2017
17:32:48
Мерлин
01.03.2017
17:32:59
Vladimir
01.03.2017
17:33:30
есть граф описывающий кластер нативными хацкельными типами, с ним работать надо
кластер чего? предметную область хотя бы примерно опиши пожалуйста

Alexander
01.03.2017
17:33:41
кластер hardwar-ный

Alexander
01.03.2017
17:33:57
да

Vladimir
01.03.2017
17:34:48
таак. и что с кластером происходит?

сколько в нем машин?

вот есть много железок. а софт что делает?

Alexander
01.03.2017
17:39:08
машин не много, дисков много

в текущем (хотя он сильно скейлится) десяток машин на каждой п 0.5к дисков

всякие сервисы хитрые

все сообщают о живости и т.п., софтинка управляет стартует, стопает, командует как фс восстанавливать

Vladimir
01.03.2017
17:41:11
как здесь используется графовое представление?

DAG или все же просто дерево?

Google
Alexander
01.03.2017
17:42:52
DAG

впрочем A тут неверно

Vladimir
01.03.2017
17:46:01
а как в хаскеле представить хотя бы dag? хмм

и уж тем более если циклы есть

Dmitry
01.03.2017
17:47:28
а что мешает DAG представить просто ADT-jv

Alexander
01.03.2017
17:47:55
class (SafeCopy a, Hashable a, ...) => Resource a where ... class (SafeCopy r, Hashable r, Resource a, Resource b) => Relation r a b where data Res = forall a . Resource a => Res a data Rel = forall r a b . Rel r (Res a) (Res b) -- тут можно разные контрукторы для направления

дальше как хочешь или Set Rel, или HashMap Res Rel

первое это каноническое, второе это индексированное

Vladimir
01.03.2017
17:49:13
а что мешает DAG представить просто ADT-jv
представить типы легко, я операции над графом не очень себе представляю

Dmitry
01.03.2017
17:49:38
например?

ну т.е любой ADT это граф и есть

Alexander
01.03.2017
17:49:56
тут ещё он расширяемый произвольно

Dmitry
01.03.2017
17:50:18
ну, не произвольный.

Alexander
01.03.2017
17:50:27
не ADT у нас т.к. он не расширяемый

Vladimir
01.03.2017
17:50:35
например?
ну как его хотя бы просто построить имея данные о вершинах и ребрах. ну и дальнейшее редактирование графа

Alexander
01.03.2017
17:50:48
т.е. ты можешь легк написать новый модуль с куском схемы и использовать его

@async_prince я вот выше написал

в таком предсталении нету никаких проблем с операциями, во всяком случае вставкой поиском (типизированным по ребрам) и удалением

Quet
01.03.2017
17:52:22
@voidlizard вы когда про фронтенд думали не смотрели на все эти окамлы? bucklescript, reason, js_of_ocaml..

Dmitry
01.03.2017
17:52:29
@async_prince ну я не знаю, как делают они, но если придумывать с нуля, то наверное построение из матрицы смежностей можно осилить, а что бы редактировать - наверное, нужно пачку изменений, пртом опят всё в матрицу смежностей, а из неё новый граф. наверное есть и другие способы, это просто тупо первое что в головую приходит

Google
Alexander
01.03.2017
17:52:55
доктор меня все игнорируют : (

Dmitry
01.03.2017
17:53:08
@quetzal да я регулярно смотрю по кругу.

@qnikst ну, я про случай, если бы вы не придумали, а надо было с нуля изобретать

Quet
01.03.2017
17:53:33
@quetzal да я регулярно смотрю по кругу.
и что про окамлы эти думаешь?

Dmitry
01.03.2017
17:53:50
ну т.е не очень понимаю, в чем проблема. Зефиров вон докладывал как они графы засунули в IntMap и сишечку дернули по скорости

Alexander
01.03.2017
17:54:07
ну да

тут то тоже считай IntMap

только Hash

Dmitry
01.03.2017
17:54:47
@quetzal там нигде нет гуевой библиотеки, её что с нуля писать? а просто программировать с нуля на окамле и транслировать в js я как-то профита не виду

Alexander
01.03.2017
17:54:51
хм.. кстати это писалось когда Зефиров в той фирме работал

Dmitry
01.03.2017
17:54:56
виджеты всякие, вот это всё

Alexander
01.03.2017
17:54:57
правда не им

Alexander
01.03.2017
17:55:23
про сишку дернули, это кстати прикольно, пакеты на hackage есть

Dmitry
01.03.2017
17:55:29
@async_prince его можно использовать как промежуточное представление для того, что бы граф перестраивать

Alexander
01.03.2017
17:55:31
вроде

стандартное же представление для разряженных матриц [(Нода, [Ребро])]

только типы на эффективные заменить

Vladimir
01.03.2017
17:57:11
я тут намекаю больше на то, что в хаскеле данные immutable, а графы вообще-то удобно иметь мутабельные

Alexander
01.03.2017
17:58:36
зачем?

Страница 222 из 1551