Size: a a a

2020 November 23

Е

Евгений in pro.elixir
Возможно, именно что показалось :))
источник

LL

Lama Lover in pro.elixir
Евгений
Просто этот объект - бинарное дерево. Без серьезной просадки производительности его не засунешь ни в мнезию, ни в redis. Во всяком случае мне так показалось.
Если элементы в бинарном дереве одного размера, то бинарное дерево вырождается в массив

И Redis и mnesia умеют работать с массивами
источник

Е

Евгений in pro.elixir
Lama Lover
Если элементы в бинарном дереве одного размера, то бинарное дерево вырождается в массив

И Redis и mnesia умеют работать с массивами
Не совсем понимаю, как оно вырождается в массив. Массив по моему пониманию - это набор элементов, которые следуют В ПАМЯТИ СТРОГО ДРУГ ЗА ДРУГОМ.
источник

LL

Lama Lover in pro.elixir
Евгений
Не совсем понимаю, как оно вырождается в массив. Массив по моему пониманию - это набор элементов, которые следуют В ПАМЯТИ СТРОГО ДРУГ ЗА ДРУГОМ.
Ну да, бинарное дерево вырождается в массив
У элемента a[i] левым и правым листом будут элементы a[2 * i] и a[2 * i + 1] соответственно
источник

Е

Евгений in pro.elixir
Lama Lover
Ну да, бинарное дерево вырождается в массив
У элемента a[i] левым и правым листом будут элементы a[2 * i] и a[2 * i + 1] соответственно
Скажем так, его можно привести к массиву, но при каждом изменении приводить к массиву - это жесть как дорого
источник

Е

Евгений in pro.elixir
Впрочем я понял о чем речь.
источник

Е

Евгений in pro.elixir
Мне показалось, что такой доступ будет значительно медленнее. Это при поиске придется несколько раз делать запросы к БД.
источник

Е

Евгений in pro.elixir
Запросы простые, но тем не менее это будет гораздо медленнее чем просто обратиться к элементу кортежа.
источник

DP

Dmitry Ponyatov in pro.elixir
Евгений
Терять не страшно, потерю сообщения можно распознать и перечитать объект целиком, на крайний случай.
может просто хранить в set факт изменения объекта?
источник

Е

Евгений in pro.elixir
Dmitry Ponyatov
может просто хранить в set факт изменения объекта?
А потом перечитывать его полностью? Объект-то большой.
источник

DP

Dmitry Ponyatov in pro.elixir
Евгений
А потом перечитывать его полностью? Объект-то большой.
дельту вычислять, сравнивая быстрые xxhash для субэлементов
источник

DP

Dmitry Ponyatov in pro.elixir
Dmitry Ponyatov
дельту вычислять, сравнивая быстрые xxhash для субэлементов
проблема в том, что в распределёнке нет гарантий что нет пропусков в change log
источник

Е

Евгений in pro.elixir
Dmitry Ponyatov
дельту вычислять, сравнивая быстрые xxhash для субэлементов
Не представляю как это сделать быстро. Элементов несколько сотен тысяч, обновления скажем десять раз в секунду.
источник

Е

Евгений in pro.elixir
Dmitry Ponyatov
проблема в том, что в распределёнке нет гарантий что нет пропусков в change log
Это допустимо, более менее.
источник

DP

Dmitry Ponyatov in pro.elixir
структура типа фрейма или jsonа ?
источник

DP

Dmitry Ponyatov in pro.elixir
чистое дерево или граф с самоссылками?
источник

Е

Евгений in pro.elixir
Dmitry Ponyatov
структура типа фрейма или jsonа ?
Бинарное дерево. Просто куча кортежей связанных в дерево.
источник

Е

Евгений in pro.elixir
То бишь дети-кортежи являются элементами родителя-кортежа
источник

Е

Евгений in pro.elixir
Лежит в стейте одного процесса
источник

DP

Dmitry Ponyatov in pro.elixir
xxhash считается для простого кортежа по элементам,
для вложенных кортежей в хэше родителя учитывается только хеши детей
источник