212 похожих чатов

Приветствую. Посоветуйте плиз. Есть логи посещений. Сейчас в эластике, есть

ближайшие планы переводить в кликхаус (ну т.е. за него почти не шарю , читаю доку и прочее пару дней). В этих логах есть user_id.
Так же надвигается фича, что нужно организовать чтение этих логов, по юзерам за прошедщий месяц, т.е. запрос по user_id выдает лог посещений. rps ~ 600 должен организовать тестовый клиент, т.е. в теории это цифра будет еще больше при некольких клиентах. Плюс читается примерно там же где и пишется, не 1 в 1 но все же. Т.е. Лог посещения записался, не следующих страницах он уже должен максимально скоро влиять на результат чтения.
Думал мб закинуть в materilized view с сортировокой по user_id, зашел в чат по кликхаусу - там как раз недавнее обсуждение что 100 rps уже много. Ну тип кликхаус не для этого, что в принципе логично делать такие выборки сложовато да еще с большой rps.

Приходит логичный вариант key-value кэш, но так как записи не намного меньше чтения, то кэширование как то смотрится малым помошником. Тогда может и не использовать кэширование над первичными логами, а писать в доп базу сразу паралельно ? Но это чтение + анализ коллекции + апдейт.

Может есть какое то решение в базах данных, где есть key (user_id)=>valueCollection с ttl или со стеком из коробки? Ну или лучше самому такой организовывать на записи? Или вообще думаю не в правильном направлении?

7 ответов

41 просмотр

600 RPC похер же, лишь бы работало. Всегда можно воткнуть Кафки всякие что бы не упираться в запись и батчить вещи в памяти

Павел-Г. Автор вопроса
Sergey P
600 RPC похер же, лишь бы работало. Всегда можно в...

Не совсем понял. У меня проблема с чтением. Запись логов не проблема в тот же клмкхаус, проблема как потом быстро читать.

Павел Г.
Не совсем понял. У меня проблема с чтением. Запись...

Чтение легко масштабировать репликами + тот же кликхаус не должен проблем создавать

Павел-Г. Автор вопроса
Sergey P
Чтение легко масштабировать репликами + тот же кли...

Ну для него же это поиск по условию. Про реплики думал, но чёт подумал что это скорее костыль причём сложный. Чтобы он был фронтовой частью.

Павел-Г. Автор вопроса
Sergey P
Чем он сложный?

Ну то что много реплик нужно будет, чтобы большой qps поддерживать, если говорить что 100 уже много для 1

Павел Г.
Не совсем понял. У меня проблема с чтением. Запись...

Вьюхи создавай, кликхаус умеет агрегировать фоном для почти моментальных выборок.

Похожие вопросы

Обсуждают сегодня

#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Карта сайта