Паттерны хранения и обработки данных в ClickHouse / Александр Крашенинников (Badoo)

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.ย. 2024
  • Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
    Программа, подробности и билеты по ссылке: vk.cc/cuyIqx
    --------
    --------
    Saint HighLoad++ 2019
    Тезисы и презентация:
    www.highload.r...
    В последние два года ClickHouse стал одним из лидирующих инструментов в задачах OLAP. Высокая производительность в совокупности с встроенными средствами масштабирования и отказоустойчивости дают широкие возможности по построению систем обработки данных. Однако при всём богатстве инструментов, есть ряд нюансов, которые стоит учитывать при проектировании хранилищ - движки хранения данных, система репликации, retention данных.
    ...
    --------
    Нашли ошибку в видео? Пишите нам на support@ontico.ru

ความคิดเห็น • 12

  • @godfreys66
    @godfreys66 4 ปีที่แล้ว +5

    Очень круто! Тонны полезной информации, спасибо докладчику! Интересное решение с key-value хранением данных, вместо классической денормализации.

    • @olehdevua
      @olehdevua 2 ปีที่แล้ว +5

      > Интересное решение с key-value хранением данных, вместо классической денормализации.
      разве после этого CH не превращается в что то на подобии Cassandra? в чем тогда понт юзать колоночную СУБД, если она используется как key-value.

  • @alexeysokolov9397
    @alexeysokolov9397 3 ปีที่แล้ว

    Очень крутой доклад, спасибо! Пойду думать что из этого применимо у нас.

  • @GP-ez5ms
    @GP-ez5ms 3 ปีที่แล้ว +3

    Вообще не понял что за деградация при > 200 таблиц. Они выбрали супердерьмовый подход и не объяснили почему. Просто > 200 таблиц начинают тормозить?

    • @Krashulya
      @Krashulya ปีที่แล้ว +1

      > что за деградация при > 200 таблиц
      рост числа транзакций в секунду => рост нагрузки на ZooKeeper.
      плюс, каждая вставка тратит CPU на сортировку ввставленных данных.

  • @user-dt4jw3bp7g
    @user-dt4jw3bp7g 3 ปีที่แล้ว +10

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

    • @egor646
      @egor646 3 ปีที่แล้ว

      А что именно там безграмотно?

  • @rostislavratushniy7713
    @rostislavratushniy7713 ปีที่แล้ว

    Крутой доклад, спасибо!
    Можно уточнить по борьбе с дубликатами из Кафки, есть некоторое непонимание. Есть таблица на кафка движке , если целевая таблица, где не должно быть дублей. Если брать вашу модель с расширение таблицы полями топик и офсет, то я не могу понять где и как делать проверку офсета.
    Цепочка такая: кафка - матвью в целевую таблицу - целевая таблица - матвью в таблицу последнего сдвига по топику - таблица топик-офсет
    Я стараюсь проверку использовать в первой матвью, но блок WITH с подзапрос не работает, так как нужно же фильтровать по топику, а клик не видит в блоке Вирт столбец _topic, а Inner join боюсь положит вставку.
    Не могли бы подсказать этот момент?
    И еще вопрос, почему не учитываются партишены?

  • @frvlad54
    @frvlad54 ปีที่แล้ว

    К названию. А патерны и образцы -это одно и тоже?

  • @DennisPush
    @DennisPush 3 ปีที่แล้ว +2

    интересно, если вы делаете сначала select max()..., а потом insert max+1 и без транзакций, как у вас получается избежать дублирования id в insert?

    • @sarbash.s
      @sarbash.s 3 ปีที่แล้ว +4

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

    • @Krashulya
      @Krashulya ปีที่แล้ว +1

      @@sarbash.s один файл обрабатывается одним читателем (по аналогии с тем, что в Kafka одну партицию всегда пасёт один процесс). Так что да - в пределах файла идёт однопоточная обработка.