Что такое CLICKHOUSE и колоночные СУБД

Поділитися
Вставка
  • Опубліковано 4 бер 2023
  • В этой статье мы узнаем:
    - Что такое Clickhouse
    - Что такое колоночные СУБД
    - Чем колоночные СУБД отличаются от обычных строковых
    - Почему Clickhouse работает так быстро
    - Преимущества использования Clickhouse
    - Трудности при работе с Clickhouse
    - Для каких проектов используется Clickhouse
    - В каких сферах используется Clickhouse
    - Где не нужен Clickhouse
    - Советы по работе с Clickhouse
    Поддержать канал разово - yoomoney.ru/to/410012243709514
    Поддержать канал подпиской - boosty.to/listenit
    Я.Дзен - zen.yandex.ru/listenit
    Телеграм-канал - t.me/listenit_channel
    События и статьи про анализ и проектирование ИТ-систем - t.me/itsysdes_events
    По вопросам сотрудничества - t.me/ed_akimov
    Ссылка на статью 1 - tproger.ru/articles/clickhous...
    Ссылка на статью 2 - webdevblog.ru/osnovy-clickhou...
    Ссылка на статью 3 - highload.today/kolonochnye-ba...
    Что такое Big Data за 6 минут - • Что такое Big Data за ...
    Что такое SQL и реляционные базы данных - • Что такое SQL и реляци...
    Что такое NoSQL за 6 минут - • Что такое NoSQL за 6 м...
    Синтаксис SQL запросов: Часть 1 - • Синтаксис SQL запросов...
    Что такое SQL ИНДЕКСЫ за 10 минут - • Что такое SQL ИНДЕКСЫ ...
    Что такое ELK за 10 минут - • Что такое ELK за 10 ми...
    Что такое МИКРОФРОНТЕНД за 10 минут - • Что такое МИКРОФРОНТЕН...
    Различия SOA и микросервисной архитектуры за 9 минут - • Различия SOA и микросе...
    Компиляция и интерпретация за 10 минут - • Компиляция и интерпрет...
    Что такое TypeScript за 9 минут - • Что такое TypeScript з...
    Что такое Swagger и OpenAPI за 3 минуты - • Что такое Swagger и Op...
    Введение в REST API за 7 минут - • Введение в REST API за...
    Различия REST и SOAP за 4 минуты - • Различия REST и SOAP з...
    Что такое HTTP и HTTPS за 9 минут - • Что такое HTTP и HTTPS...
    Что такое TCP/IP - • Что такое TCP/IP: Объя...
    Что такое прокси-сервер за 7 минут - • Что такое прокси-серве...
    Что такое Kubernetes за 9 минут - • Что такое Kubernetes з...
    Что такое Docker за 5 минут - • Что такое Docker за 5 ...
    Что такое ETL и ELT за 10 минут - • Что такое ETL и ELT за...
    Что такое CRUD за 6 минут - • Что такое CRUD за 6 минут
    Что такое middleware за 7 минут - • Что такое middleware з...
    Что такое идемпотентность - • Что такое идемпотентно...
    Что такое ACID за 9 минут - • Что такое ACID за 9 минут
    Что такое HATEOAS за 4 минуты - • Что такое HATEOAS за 4...
    Что такое CI/CD - • Что такое CI/CD? Разби...
    Что такое Code First подход за 4 минуты - • Что такое Code First п...
    Что такое Contract First подход за 4 минуты - • Что такое Contract Fir...

КОМЕНТАРІ • 59

  • @da_volkov
    @da_volkov 3 місяці тому +16

    Случайно наткнулся на канал, и офигел от количества и качества материалов. У меня как раз задача - верхнеуровнево ознакомиться с разными технологиями, и у вас на канале почти все что мне нужно есть. Причем в доступной форме и с ссылками на референтные материалы. Спасибо за вашу работу!

    • @ListenIT_channel
      @ListenIT_channel  3 місяці тому

      Круто, рад! Напишите, если какую-то тему ещё хочется послушать, чего нет на канале

    • @AlexDanilovFapsiSu
      @AlexDanilovFapsiSu 22 дні тому

      Качество? Разбор запроса к таблице (3-я минута). where color=543, автор читает 542; ... 2. найти колонку с именем type и её значение, когда по этому запросу нужно найти колонку с именем color.
      На этом просмотр видео закончил.
      Качество?

    • @da_volkov
      @da_volkov 22 дні тому +1

      @@AlexDanilovFapsiSu Алекс, во первых - это обзорное видео, во вторых - вы ни копейки не заплатили автору, чтобы что-то с него требовать. Если вам что-то не нравится или вы с чем то не согласны, "закрываете вкладку и идете на***" - доходчиво объяснил? Вас насильно тут никто не держит!

    • @AlexDanilovFapsiSu
      @AlexDanilovFapsiSu 21 день тому

      @@da_volkov причём тут, что видео "обзорное"? Человек взялся публично рассказать о неких вещах, и стал сыпаться на ошибках с самого начала. И право предъявлять за ошибки возникает как раз по факту публичности.
      И хамить вот не надо.

    • @da_volkov
      @da_volkov 20 днів тому

      @@AlexDanilovFapsiSu еще раз, вы могли в вежливой и корректной форме указать автору на ошибки в видео. Но вы начали предъявлять претензии (а в вашем комментарии звучат именно претензии), хотя вам тут никто ничего не должен. Поэтому повторю еще раз: "если вы с чем то не согласны или вам что-то не нравится - закрываете вкладку и идете на***" на другой канал / ресурс. А работу авторов канала нужно уважать, а не относиться к ней уничижительно

  • @KozhinDev
    @KozhinDev 3 місяці тому +6

    Только сейчас узнали, что нашу статью использовали для видео. Спасибо, что упомянули нас) Отличное видео, лайк!

    • @ListenIT_channel
      @ListenIT_channel  3 місяці тому +1

      Спасибо вам за отличный сурс! ♥️

  • @doomox6001
    @doomox6001 Рік тому +29

    Хорошая разработка, заточенная под решение конкретных задач. В принципе так и должен создаваться софт. А когда пытаешься получить все и сразу, то обычно ничего не выходит. Считаю что разработчики яндекса молодцы.

  • @lolpwn6528
    @lolpwn6528 Місяць тому +2

    Спасибо, отличный материал
    подписываюсь

  • @LeonidYakovlev85
    @LeonidYakovlev85 7 місяців тому +3

    Большое спасибо за выпуск, было очень интересно, полезно и информативно 👍

  • @mikurrey416
    @mikurrey416 2 місяці тому

    Большое спасибо, очень ценно для вхождения в тему и очень легко для понимания

  • @user-th4tb3mf5s
    @user-th4tb3mf5s Місяць тому +1

    Спасибо! Это лучший обзор что я видел про clickhouse!

  • @michellesfero4068
    @michellesfero4068 Рік тому +2

    Круто, спасибо! Очень интересное видео

  • @user-fu8dx3hd2p
    @user-fu8dx3hd2p Рік тому +1

    Спасибо!
    Интересно, полезно и понятно)

  • @apristen
    @apristen Рік тому +2

    спасибо! отлично рассказано!

  • @user-uq4ix5ie3q
    @user-uq4ix5ie3q Рік тому +1

    Благодарю! Я врубился в отличия!

  • @artyomkhrenn
    @artyomkhrenn Рік тому +2

    Спасибо, отличная подача видео, быстро познакомился с кликхаусом

  • @sovrinfo
    @sovrinfo Рік тому +2

    Спасибо за видео. Коммент в поддержку!

  • @andreypopov5018
    @andreypopov5018 11 місяців тому +1

    Найс! Сил вам и здоровья! Выжимка отличная

  • @user-hf8os4yp4d
    @user-hf8os4yp4d Рік тому +5

    Очень классное видео, спасибо! Очень не хватает уроков кликхауз для чайников, в Ютубе их почти нет)

  • @Dimedrolity
    @Dimedrolity 2 місяці тому +1

    Качественный материал, полезно для меня как для разработчика грейда Middle 👍

  • @vectrasale
    @vectrasale Рік тому +2

    Отличное видео!

  • @non5309
    @non5309 11 місяців тому

    Хорошие ролики, спасибо!

  • @rootgorfal9811
    @rootgorfal9811 Рік тому +2

    2:47 в запросе поиск по столбцу color в пояснении type

  • @Denisko123
    @Denisko123 9 місяців тому +1

    Использую на работе. Действительно большие объемы обрабатывает просто с космической скоростью. Типа статы и фильтров на ней. А вот с единичными записями, обновлением и удалением (через мутации) тут все тяжко. Приходиться манипулировать

  • @user-xv3gn9nr9k
    @user-xv3gn9nr9k Рік тому +1

    Интересно

  • @user-nl3vg3gt2j
    @user-nl3vg3gt2j Рік тому

    Сделай видео про руководство по стилю в SQL

  • @letsdosmth7666
    @letsdosmth7666 Рік тому +1

    сделайте пожалуйста ролик про WSDL !!!

  • @kironpapon
    @kironpapon Рік тому +9

    Привет
    Там кажется, на 2:30 ошибка, когда ты показываешь как происходит запрос к БД. Нужно колонкой ты указываешь строку, в которой значение color = 5235, но в запросе попросил color = 543
    И на 3:30 ты говоришь "С цветом 542", а ищем мы цвет 543
    Сорри, если душно....
    Видос пушка, спасибо большое

    • @ListenIT_channel
      @ListenIT_channel  Рік тому +3

      Привет! Да не, не душно, там автор статьи, видимо, напутал, а я не сразу заметил ошибки. На суть сильно не влияет, поэтому решил оставить. Буду внимательнее, спасибо!

    • @kironpapon
      @kironpapon Рік тому

      @@ListenIT_channel да, сто проц не влияет, все супер понятно и очень круто изложен материал, еще раз спасибо!

    • @skarfex
      @skarfex 11 місяців тому +1

      Если уж душнить, то пополной)
      В пункте 2 мы ищем не колонку с названием type, а колонку color и значение 543

  • @linust5892
    @linust5892 7 місяців тому

    Опа KozhinDev)) Красноярским привет

  • @nav6526
    @nav6526 8 місяців тому +3

    В недостатки можно еще добавить проблемв с join-ами таблиц. Если данных много и они не помещаются в памяти то запрос упадет с ошибкой. Мы решили эту проблему с помощью разделения одрого запроса на N запросов, каждый из которых обрабатывает часть данных. Например есть таблица клиентов и таблица их заказов. В каждой из таблиц есть номер телефона клиента и нужно сделать join по номеру телефона. Если попытаться соединить сразу весь набор данных то запрос упадет из-за недостатка памяти. Но можно сначала сдрлать join для телефонов попадающих под условие something_hash(phone_number)%6 = 0, затем 1,...5. После чего объединить данные.
    А еще лучше явно указывать извлекаемые поля и не использовать звездочку в select. Оитимизатор запроса в clickhouse гораздо более простой чем в oracle, postgresql, поэтому разработчик сам должен состаалять эффективные запросы.

    • @ListenIT_channel
      @ListenIT_channel  8 місяців тому

      Круто, спасибо, интересный опыт!

  • @timuratazhanov6553
    @timuratazhanov6553 3 місяці тому

    Палатка первой помощи на первой секунде =)

  • @Abszentro
    @Abszentro Рік тому +1

    Сделайте пожалуйста про касандру

  • @user-wb5dh1ps4x
    @user-wb5dh1ps4x 2 місяці тому

    Строка, только повернутая на 90 градусов)

  • @lsandreyls
    @lsandreyls 6 місяців тому

    Ну так себе статься, про класторизированные индексы понятно , но вот самое ведь интересно не как факт указать когда не нужно использовать не класторизированные индексы, а почему .

  • @Alexander-ws6wl
    @Alexander-ws6wl 4 місяці тому +1

    А можно для непрофильных специалистов объяснить, как столбцовая СУБД выдаёт в результате строку, если все столбцы хранятся отдельно? Что связывает элементы разных столбцов?

    • @heheheyhey5234
      @heheheyhey5234 2 місяці тому

      ключ есть у каждой ячейки .типа НомерСтроки

  • @sighupcmd
    @sighupcmd 11 місяців тому

    Буффер вставок придется самому имплементить? На стороне КХ нет такой фичи?

    • @seriych
      @seriych 10 місяців тому

      Есть таблицы с движком buffer, есть асинхронные вставки. В каких-то случаях этого может хватить. Но в целом желательно вставлять пачками, то есть да, самому имплементить.

    • @vladislavstepanov7591
      @vladislavstepanov7591 9 місяців тому

      Есть адаптеры из коробки на уровне Clickhouse которые позволяют подключить ее напрямую к RabbitMQ/Kafka, а CH сам оттуда будет забирать на вставку. Но не уверен насколько это работает, не пробовал

  • @reveuzze777
    @reveuzze777 7 місяців тому +1

    listen TO IT💡

  • @kuzmaprut
    @kuzmaprut 3 місяці тому

    в clickhouse есть primary key

  • @yandoru
    @yandoru 5 місяців тому +1

    542 vs 543
    Fight!

  • @nauryzzz
    @nauryzzz Рік тому +1

    Ну по сути, обычная таблица, где каждый столбец представляет собой некластеризованный индекс.

  • @IgorZimaev
    @IgorZimaev 9 місяців тому

    «Пропустить колонки, которые не нужны для анализа - невозможно»
    Даже если повесить на колонку индекс? Как же он тогда ускоряет поиск?)

    • @vladislavstepanov7591
      @vladislavstepanov7591 9 місяців тому

      В любом случае это будет не так быстро. Есть Index Scan Only, который будет читать данные только из индекса.
      Но как только ты добавишь в SELECT поле не из индекса или из другого индекса, операция сразу замедлится в несколько раз, потому что это будет уже Index Scan, а значит БД будет подглядывать в heap и забирать данные из оригинальной таблицы
      А в колоночной бд такого нет потому что она просто может посчитать byte offset для соседней колонки и сразу считать данные, без поиска

    • @nav6526
      @nav6526 8 місяців тому +2

      В строковых бд обычный индекс позволяет получить место хранения строки, т.е. является указателем. Перейдя по указателю получанм достап к строке, но полученная строка состоит из N полей (или по другому - колонок), и чтобы получить доступ к какому-то полю нужно прочитать все поля перед ним. В кликхаусе эти поля таблицы хранятся в отдельных отсортированных структурах, поэтому поиск по колонке очень быстрый.
      В строковой бд если запрос должен выполняться по всей таблице или планировщик запроса считает что запрос не получит выгоды от индекса то будет фулскан всей таблицы и на больших данных это очень медленно.

  • @andriibodashevskyi
    @andriibodashevskyi Рік тому +1

    На минусах сразу понятно что это создавали россиянские «гении»

    • @ListenIT_channel
      @ListenIT_channel  Рік тому +13

      Колоночные базы как технологию придумали ещё в 1969, это не новинка. А что именно смутило в минусах?

    • @michellesfero4068
      @michellesfero4068 Рік тому +3

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

    • @zorro3481
      @zorro3481 10 місяців тому

      Хохол детектед

  • @dasydasy9268
    @dasydasy9268 Рік тому +2

    Отличное видео!