Size: a a a

2020 November 20

AO

Andrey Oleynik in Tarantool
Те лучше-таки разложить эту мапу в спейс?
источник

ИЛ

Илья Лебедев... in Tarantool
Mons Anderson
можно хранить в отдельном спейсе )
Можно написать простенькую луа функцию, которая это организовывает
источник

AO

Andrey Oleynik in Tarantool
Mons Anderson
100k — это довольно много
Но это исключительный кейс.
источник

R

R-omk in Tarantool
Mons Anderson
100k — это довольно много
если массив битов, то это 12500 байт..  для битсета норм
источник

R

R-omk in Tarantool
можно вообще эвристик накатать,  типа  популярные ключи хранятся в в словаре  и в виде массива битов, а все что не поместилось - просто как мапа ...
источник

AO

Andrey Oleynik in Tarantool
R-omk
если массив битов, то это 12500 байт..  для битсета норм
Если придётся хранить в спейсе соответствие ключ - порядковый номер в битсете, то это тоже самое, что разложить мапу в спейс. Те можно и без битсета обойтись.
источник

R

R-omk in Tarantool
разложить мапу в спейс   -    это путь самого большого оверхэда по памяти,   так что это воогбще не то же самое
источник

R

R-omk in Tarantool
в массиве битов  одно сосояние занимаю  1 бит ... а в виде тупла как минимум в 100 раз обльше
источник

R

R-omk in Tarantool
не говоря про накладные расходы на индекс для тупла
источник

AO

Andrey Oleynik in Tarantool
R-omk
разложить мапу в спейс   -    это путь самого большого оверхэда по памяти,   так что это воогбще не то же самое
Окей, а как можно эффективно хранить соответствие «строковый ключ» - «N в сете»?
источник

MA

Mons Anderson in Tarantool
Andrey Oleynik
Если придётся хранить в спейсе соответствие ключ - порядковый номер в битсете, то это тоже самое, что разложить мапу в спейс. Те можно и без битсета обойтись.
Ну нет...
раскладывается 1 раз, каждый уникальный ключ 1 раз в спейсе
источник

R

R-omk in Tarantool
опять же ... я исхожу из того что кортежей в которых вы изначально собирались хранить мапы  на порядки больше чем возможных вариантов ключей...   возможно    вообще  все не так
источник

R

R-omk in Tarantool
возможно вообще стоит инвертировать мапу и хранить кажому ключу в соответствие список каких то записей... все зависит от характера данных про которые нислова небыло сказано
источник

AO

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

DS

Dmitry Sharonov in Tarantool
голосований много?
источник

AO

Andrey Oleynik in Tarantool
Каждый пользователь может себе завести пока одно, а в будущем может и больше.
источник

DS

Dmitry Sharonov in Tarantool
потому что по спейсу на голосование и хранить айди как праймаки - очевидный ответ
источник

DS

Dmitry Sharonov in Tarantool
но не подойдет, если голосований тысячи
источник

AO

Andrey Oleynik in Tarantool
Dmitry Sharonov
но не подойдет, если голосований тысячи
Ага
источник

R

R-omk in Tarantool
в общем все варианты расписаны нужно  сесть и крепко подумать с учетом  необхордимых алгоримов  чтения,  записи, и возможного шардирования  данных
источник