Size: a a a

2020 May 20

AB

Alex Bubnov in pro.elixir
Anastasiya Dyachenko
ну есть ets, mnesia
и то, и то про другое. оба, кстати, в эликсире весьма калечные, потому что ориентированы на рекорды
источник

AD

Anastasiya Dyachenko in pro.elixir
я посмотрела datascript, он про хранение данных в оперативке, ets и мнезия про то же
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Зачем хранить в оперативке много структурированных данных и делать по ним выборки?
источник

AB

Alex Bubnov in pro.elixir
datascript это не просто про хранение данных в оперативке, но и про выборки даталогом
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я никогда этого не понимал...
источник

AD

Anastasiya Dyachenko in pro.elixir
в ets/mnesia тоже есть выборки получше get_in
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Хочешь работать с данными - запихни их куда-нибудь
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Зачем хранить в оперативке много структурированных данных и делать по ним выборки?
затем, что база нерезиновая
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Alex Bubnov
затем, что база нерезиновая
Ну конечно, база меньше чем оперативка
источник

AD

Anastasiya Dyachenko in pro.elixir
лол
источник

AB

Alex Bubnov in pro.elixir
Anastasiya Dyachenko
в ets/mnesia тоже есть выборки получше get_in
я в курсе, но тут уже начинаются эликсиропроблемы с несоответствием таплов и структов
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Ну конечно, база меньше чем оперативка
и два rtt на запрос данных это иногда многовато
источник

AR

Andrew Rudenko in pro.elixir
Źmićer Rubinštejn
Хочешь работать с данными - запихни их куда-нибудь
Это «что-то», сюрприз, тоже будет работать с данными в памяти
источник

AB

Alex Bubnov in pro.elixir
Andrew Rudenko
ну или писать на кложе, да ) иметь сложную структуру данных и хотеть делать по ним сложные выборки И модификации это нормально. а иммутабельность накладывает определенные требования на инструменты, т.к. методы из императивного мира больше не работают
тут нужно все же учитывать, что beam не jvm, она 1 - медленная, 2 - без shared memory. серьезный большие данные не расшарить as is
источник

AB

Alex Bubnov in pro.elixir
а вот аналог datascript на ets-ках для всяких кэшей - это интересненькая идея
источник

LL

Lama Lover in pro.elixir
Andrew Rudenko
норм, но я так понимаю описаный кейс оно не сможет решить, так?
Ну, я бы не стал готовить отдельную либу для трансормации таких данных. Типа настолько сильно повышать деларативность - немного вредно (как мне кажется). Не совсем ясно что будет происходит если, например, таких записей две или ни одной или какой-нибудь другой cornercase. В итоге всё равно придётся смотреть в код этой либы чтобы понять что происходит
источник

LL

Lama Lover in pro.elixir
Andrew Rudenko
еще понравилось "No Magic", у нас _всего лишь_ вот тут макрос, а еще вот это макрос. и вот тут еще один последний макрос 🙂
Ну, это макросы, но они же безобидные, правда
источник

AR

Andrew Rudenko in pro.elixir
Alex Bubnov
тут нужно все же учитывать, что beam не jvm, она 1 - медленная, 2 - без shared memory. серьезный большие данные не расшарить as is
ну если фантазировать, на сколько я понимаю, никто не мешает в beam эмедить БД на расте, например, в котором аллоцировать сколько угодно памяти вне beam, а beam использовать как уровень оркестрации и io-обработки 🙂
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
composed_path = path1 ~> path2
господи, откуда эта чудовищная любовь к операторам вместо функций
Для таких как ты у меня есть функции ;3
источник

AR

Andrew Rudenko in pro.elixir
Lama Lover
Ну, это макросы, но они же безобидные, правда
ну просто примерно все, что можно назвать magic в cs может быть внутри фразы "it's just macros" 🙂
источник