в Clickhouse сильно спешили, поэтому взяли то что буквально описано первым в документации Яндекс.Облака и стали использовать Protobuff для сериализации данных + управления схемами. Но сейчас количество источников разрослось и изменения стало безумно тяжело делать (в т.ч. потому что clickhouse схемы кэширует, о чём мы узнали за несколько дней до сдачи проекта).
По ощущениям Protobuff нам в итоге дал только более простую обработку вложенных структур данных, но взамен сильно повысил сложность внесения изменений в систему
В связи с этим вопросы:
Как вы обычно инсёртите данные в кликхаус?
Какие могут быть аргументы ЗА продолжение использования протобаффа?
Какие подводные камни могут быть если мы в принципе откажемся от использования схем proto и аналогов и будем просто отправлять данные в json или csv через CLI? Не уменьшит ли отправление несериализованных данных производительность кластера?
TSV парсер довольно быстрый (быстрее только Native но его на стороне клиента фактически придется генерить), json и т.п. только если реально данные сложные и вы их не контроллируете как workaround если грузить через pipe в CLI clickhouse-client то format_schema это relative путь и берется с клиента, так что можно валидацию на клиенте делать и кешировать не будет
Благодарю за ответ, полезно
Обсуждают сегодня