добрый день. подскажите пожалуйста как это реализуется, на каких технологиях. Есть клиентские приложения которые в случайные промежутки времени отправляют данные( сложный JSON) на сервер. запросы от клиентов приходят в виде 1 объект в случайный промежуток времени. момент вставки в БД предполагается определять так: "когда накопилось 10 тыс. объектов - вставь в КХ". как и с помощью чего реализуют подобную логику ? in-memory БД а-ля Redis?
Очередь, может - ивент стрим (от Кафки до Флинка - смотря какой кейс) - все зависит от объема данных, ресурсов, сценариев предобработки и того, можете ли вы эти данные потерять или нет ( Редис вот не персистентый)
а этот сложный json вам нужно парсить предварительно?
нет . можно сформировать на клиенте готовый json для вставки в КХ(там есть какой то упрощенный формат). буферные таблицы - посмотрю , спасибо. а на REDIS можно такие условия писать типа "если объектов больше N тогда" - сложи все в БД?
Очередь, может - ивент стрим (от Кафки до Флинка - смотря какой кейс) - все зависит от объема данных, ресурсов, сценариев предобработки и того, можете ли вы эти данные потерять или нет ( Редис вот не персистентый)
с этими технологиями знаком только в общих чертах. объем в 10000 вставок может накопится в среднем за часов пусть 5-7. предобработку можно не делать , т.е. настроить на клиенте. данные терять - нет. может есть под рукой статья или материал какой то с примером как это реализовано на одной из указанных технологий? я так понимаю для КХ это типовая довольно задача или у всех данные сперва в OLTP БД падают?)
с этими технологиями знаком только в общих чертах. объем в 10000 вставок может накопится в среднем за часов пусть 5-7. предобработку можно не делать , т.е. настроить на клиенте. данные терять - нет. может есть под рукой статья или материал какой то с примером как это реализовано на одной из указанных технологий? я так понимаю для КХ это типовая довольно задача или у всех данные сперва в OLTP БД падают?)
ну если так мало вставок, можно сразу в кх вставлять и не мучаться
у нас вообще одно время собирались метрики с софта вебсервисом и писались в json-файлы (немного, по тыще в час от силы), а раз в 10 минут приходил обработчик, парсил, пачкой вставлял в CH и удалял обработанные файлы
Заранее извиняюсь за тупой вопрос, но может кто подкажет почему не работает задание партиции через выражение? Пытаюсь сделать как в документации - "ALTER TABLE default.t1 DROP PARTITION toYYYYMM(now() - INTERVAL 3 month)" - получаю "Syntax error: failed at position 79 (end of query): Expected one of: LIKE, GLOBAL NOT IN, IS, OR, QuestionMark, BETWEEN, NOT LIKE, AND, IN, ILIKE, NOT ILIKE, NOT, token, NOT IN, GLOBAL IN"
у нас вообще одно время собирались метрики с софта вебсервисом и писались в json-файлы (немного, по тыще в час от силы), а раз в 10 минут приходил обработчик, парсил, пачкой вставлял в CH и удалял обработанные файлы