Size: a a a

2020 October 11

АД

Алексей Долгов... in Go-go!
значит надо сразу ставить максимально возможный буфер исходя из требований?) а на производительности не сильно скажется ведь?
источник

ЕО

Евгений Омельченко... in Go-go!
На памяти скажется
источник

ЕО

Евгений Омельченко... in Go-go!
Надо подумать как не упираться в буфер, это зависит от задачи
источник

IS

Ilya Sinelnikov in Go-go!
Алексей Долгов
значит надо сразу ставить максимально возможный буфер исходя из требований?) а на производительности не сильно скажется ведь?
Нет. Нужно ставить столько, сколько оптимально для задачи
источник

АД

Алексей Долгов... in Go-go!
Ilya Sinelnikov
Нет. Нужно ставить столько, сколько оптимально для задачи
ну я и имел ввиду исходя из требований к задаче
источник

АФ

Алишер Фозилов... in Go-go!
команда из uber не рекомендует использовать буфферизованные каналы вовсе
источник

АФ

Алишер Фозилов... in Go-go!
только с капасити в 1
источник

IS

Ilya Sinelnikov in Go-go!
Это тоже хорошая рекомендация
источник

IS

Ilya Sinelnikov in Go-go!
В общем случае если у сервиса проблемы из-за размера канала, то проблема не в размере канала, а в логике сервиса
источник

ЕО

Евгений Омельченко... in Go-go!
Алишер Фозилов
только с капасити в 1
В такой формулировке согласен
источник

ЕА

Егор Андреевич... in Go-go!
Кто с кассандрой знаком, как обеспечить наибольшую скорость работы для следующего кейса:

Планируем использовать как недельный кеш для координат и других данных пользователей. Грубо говоря это структура на N полей, которую планируем хранить в протобафе. Больше недели хранить не требуется, делать сложные запросы тоже - только запросы по конкретной дате и по конкретному пользователю, сейчас вижу 2 варианта.

1) Создавайть кейспейс на текущую дату и по таблице на каждого пользователя:
    INSERT INTO 20201110.12345678 VALUES (blob), (blob)

2) Иметь общий кейспейс и таблицу для всех
    INSERT INTO main.history VALUES (date, userId, blob), (date, userId, blob)

ну и производные от них, есть инфа какой вариант наиболее подходит?
источник

DP

Daniel Podolsky in Go-go!
Егор Андреевич
Кто с кассандрой знаком, как обеспечить наибольшую скорость работы для следующего кейса:

Планируем использовать как недельный кеш для координат и других данных пользователей. Грубо говоря это структура на N полей, которую планируем хранить в протобафе. Больше недели хранить не требуется, делать сложные запросы тоже - только запросы по конкретной дате и по конкретному пользователю, сейчас вижу 2 варианта.

1) Создавайть кейспейс на текущую дату и по таблице на каждого пользователя:
    INSERT INTO 20201110.12345678 VALUES (blob), (blob)

2) Иметь общий кейспейс и таблицу для всех
    INSERT INTO main.history VALUES (date, userId, blob), (date, userId, blob)

ну и производные от них, есть инфа какой вариант наиболее подходит?
прямо сейчас выглядит, как запрос по record ID range + user, record ID ghb это кассандровский time-based UUID
источник

AM

Andrey Martyanov in Go-go!
Егор Андреевич
Кто с кассандрой знаком, как обеспечить наибольшую скорость работы для следующего кейса:

Планируем использовать как недельный кеш для координат и других данных пользователей. Грубо говоря это структура на N полей, которую планируем хранить в протобафе. Больше недели хранить не требуется, делать сложные запросы тоже - только запросы по конкретной дате и по конкретному пользователю, сейчас вижу 2 варианта.

1) Создавайть кейспейс на текущую дату и по таблице на каждого пользователя:
    INSERT INTO 20201110.12345678 VALUES (blob), (blob)

2) Иметь общий кейспейс и таблицу для всех
    INSERT INTO main.history VALUES (date, userId, blob), (date, userId, blob)

ну и производные от них, есть инфа какой вариант наиболее подходит?
А зачем кейспейс создавать на день?
источник

ЕА

Егор Андреевич... in Go-go!
Andrey Martyanov
А зачем кейспейс создавать на день?
не обязательно кейспейс, можно по таблице
источник

AM

Andrey Martyanov in Go-go!
Таблицу на каждого пользователя тоже не понял зачем.
источник

AM

Andrey Martyanov in Go-go!
В кассандре подход в том, чтобы создавать таблицу на каждый тип запроса. Для ретеншена стоит использовать соответствующую компакшн стратегию. Вам вроде отлично должна подойти TimeWindowCompactionStrategy.
источник

ЕА

Егор Андреевич... in Go-go!
Andrey Martyanov
Таблицу на каждого пользователя тоже не понял зачем.
затем что я не знаю как кассандра хранит данные и что лучше выбрать конкретную таблицу из миллиона, в которой 1000 записей, или выбрать конкретные 1000 записей из одной таблице со 100 миллионами строк
источник

AM

Andrey Martyanov in Go-go!
Егор Андреевич
затем что я не знаю как кассандра хранит данные и что лучше выбрать конкретную таблицу из миллиона, в которой 1000 записей, или выбрать конкретные 1000 записей из одной таблице со 100 миллионами строк
Почитайте про partition key, и как его строить правильно. Можете как раз партицировать по пользователям в разрезе времени.
источник

AM

Andrey Martyanov in Go-go!
Допустим, если по одному пользователю не больше 100к записей в день, то создаёте ключ, чтобы эти данные попадали в один партишн. От запроса надо плясать. Зависит что достать хотите потом.
источник

ЕА

Егор Андреевич... in Go-go!
Andrey Martyanov
Почитайте про partition key, и как его строить правильно. Можете как раз партицировать по пользователям в разрезе времени.
спасибо, будем смотреть
источник