никто из нас раньше не использовал CH и колоночные БД), поэтому нужна помощь: у нас есть поток запросов и поток ответов, мы хотим хранить их в CH. Кроме того, мы [наверное] хотим хранить время обработки (время ответа минус время запроса) и вот тут непонимание: как лучше это делать? 1) создавать 3 отдельные таблицы (запрос-ответ-обработка) 2) создавать 1 таблицу с колонками "запрос", "ответ", "обработка" (для изначального запроса у строки будут пустые поля "ответ" и "обработка", для поля "обработка" вероятно пустые "запрос" и "обработка"). 3) Не хранить "обработку", а делать запросы к таблице "запрос" и "ответ" (или таблицами) и вычислять время силами CH.
это можно сделать с помощью collapsingMT или aggregatingMT https://gist.github.com/den-crane/49ce2ae3a688651b9c2dd85ee592cb15 и даже будет работать если у вас меньше миллиарда событий в день. Если поток большой, то тут нужна кассандра, в ней апдейтить и перекладывать в КХ в уже готовом виде.
Обсуждают сегодня