@andrei_pro

Clickhouse и частые запросы?

Всем привет.
Задача такая: веб-сервер принимает тысячи запросов в минуту. Пришедшие данные нужно сохранить в clickhouse.
Проблема: clickhouse плохо работает с вставкой по одной строке и таким объемом.

Сейчас решение такое: nodejs отправляет каждый реквест в очередь rabbitmq. Затем другой сервер забирает очередь и пишет в файл csv. Каждые 10 минут делается отправка файла в clickhouse и удаление.

Хотелось бы лучшее решение желательно напрямую в clickhouse ибо при отправка файла в clickhouse иногда бывают ошибки что данные в файле не корректны ?
  • Вопрос задан
  • 532 просмотра
Пригласить эксперта
Ответы на вопрос 1
@CyberGrom
Как вариант писать данные в redis, в качестве ключа использовать 5 мин интервалы времени, заодно проставив им время жизни 15 минут. Таким образом не придется вычищать вручную старые данные из промежуточного хранилища.
Затем пишем простой скрипт, который запускается по крону раз в 3/5 минут, через redis-cli сформирует CSV или TSV файлы, запрашивая все данные по завершенному периоду (не текущие 5 минут, а предыдущие), который уже точно не пополняется новыми записями. И сразу же эти файлы добавляем в clickhouse.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы