Что такое CLICKHOUSE и колоночные СУБД
Вставка
- Опубліковано 6 лют 2025
- В этой статье мы узнаем:
Что такое Clickhouse
Что такое колоночные СУБД
Чем колоночные СУБД отличаются от обычных строковых
Почему Clickhouse работает так быстро
Преимущества использования Clickhouse
Трудности при работе с Clickhouse
Для каких проектов используется Clickhouse
В каких сферах используется Clickhouse
Где не нужен Clickhouse
Советы по работе с Clickhouse
Поддержать канал разово - yoomoney.ru/to...
Поддержать канал подпиской - boosty.to/list...
Я.Дзен - zen.yandex.ru/...
Телеграм-канал - t.me/listenit_...
События и статьи про анализ и проектирование ИТ-систем - t.me/itsysdes_...
По вопросам сотрудничества - t.me/ed_akimov
Ссылка на статью 1 - tproger.ru/art...
Ссылка на статью 2 - webdevblog.ru/...
Ссылка на статью 3 - highload.today...
Что такое 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...
Случайно наткнулся на канал, и офигел от количества и качества материалов. У меня как раз задача - верхнеуровнево ознакомиться с разными технологиями, и у вас на канале почти все что мне нужно есть. Причем в доступной форме и с ссылками на референтные материалы. Спасибо за вашу работу!
Круто, рад! Напишите, если какую-то тему ещё хочется послушать, чего нет на канале
Качество? Разбор запроса к таблице (3-я минута). where color=543, автор читает 542; ... 2. найти колонку с именем type и её значение, когда по этому запросу нужно найти колонку с именем color.
На этом просмотр видео закончил.
Качество?
@@da_volkov причём тут, что видео "обзорное"? Человек взялся публично рассказать о неких вещах, и стал сыпаться на ошибках с самого начала. И право предъявлять за ошибки возникает как раз по факту публичности.
И хамить вот не надо.
@@da_volkov от тебя же корректностью так и прёт.
@@AlexDanilovFapsiSu 543, 542 мне кажется если бы я комент не прочёл, я бы даже не обратил внимание. =)
Только сейчас узнали, что нашу статью использовали для видео. Спасибо, что упомянули нас) Отличное видео, лайк!
Спасибо вам за отличный сурс! ♥️
Хорошая разработка, заточенная под решение конкретных задач. В принципе так и должен создаваться софт. А когда пытаешься получить все и сразу, то обычно ничего не выходит. Считаю что разработчики яндекса молодцы.
Спасибо! Это лучший обзор что я видел про clickhouse!
Качественный материал, полезно для меня как для разработчика грейда Middle 👍
Большое спасибо, очень ценно для вхождения в тему и очень легко для понимания
Спасибо, полезно! Хотелось бы такое же сжатое изложение по Apache Cassandra :)
Видео супер, если бы ты сделал аналогично про Кафка коннект (дебезиум допустим), было бы замечательное продолжение темы с кайфкой) про CDC и Реал-тайм обработка данных
Мэтод :)
Прэкрасный матэриал! (без сарказма, но про мэтод это вы конечно прикольно)
Очень классное видео, спасибо! Очень не хватает уроков кликхауз для чайников, в Ютубе их почти нет)
Спасибо, отличная подача видео, быстро познакомился с кликхаусом
Спасибо, отличный материал
подписываюсь
Благодарю! Я врубился в отличия!
Найс! Сил вам и здоровья! Выжимка отличная
В недостатки можно еще добавить проблемв с join-ами таблиц. Если данных много и они не помещаются в памяти то запрос упадет с ошибкой. Мы решили эту проблему с помощью разделения одрого запроса на N запросов, каждый из которых обрабатывает часть данных. Например есть таблица клиентов и таблица их заказов. В каждой из таблиц есть номер телефона клиента и нужно сделать join по номеру телефона. Если попытаться соединить сразу весь набор данных то запрос упадет из-за недостатка памяти. Но можно сначала сдрлать join для телефонов попадающих под условие something_hash(phone_number)%6 = 0, затем 1,...5. После чего объединить данные.
А еще лучше явно указывать извлекаемые поля и не использовать звездочку в select. Оитимизатор запроса в clickhouse гораздо более простой чем в oracle, postgresql, поэтому разработчик сам должен состаалять эффективные запросы.
Круто, спасибо, интересный опыт!
3:38 тот факт, что столбцы отсортированы открывает возможность бинарного поиска по столбцу, а он работает очень быстро. Раз значения отсортированы, значит добавление в таблицу строки может быть медленным, если только данные физически на диске тоже хранятся в отсортированом виде.
Спасибо за видео. Коммент в поддержку!
Круто, спасибо! Очень интересное видео
Стиль прикольный выбрал)
Отличное видео!
Большое спасибо за выпуск, было очень интересно, полезно и информативно 👍
Можно вопрос? Как организована операция поиска, что поиск одной строки займет больше времени чем поиск сотни строк сразу? В чем принцип работы такого поиска? Почему по первой же колонке нельзя найти номер строки и вывести из всех колонок искомый номер? И почему 100 строк почему-то быстрее работает?
спасибо! отлично рассказано!
Спасибо!
Интересно, полезно и понятно)
Использую на работе. Действительно большие объемы обрабатывает просто с космической скоростью. Типа статы и фильтров на ней. А вот с единичными записями, обновлением и удалением (через мутации) тут все тяжко. Приходиться манипулировать
Разве строковые базы не используют те же самые алгоритмы при индексации? PostgreSQL в частности
Палатка первой помощи на первой секунде =)
😏
2:47 в запросе поиск по столбцу color в пояснении type
автору то откуда знать как должно быть?
Хорошие ролики, спасибо!
Привет
Там кажется, на 2:30 ошибка, когда ты показываешь как происходит запрос к БД. Нужно колонкой ты указываешь строку, в которой значение color = 5235, но в запросе попросил color = 543
И на 3:30 ты говоришь "С цветом 542", а ищем мы цвет 543
Сорри, если душно....
Видос пушка, спасибо большое
Привет! Да не, не душно, там автор статьи, видимо, напутал, а я не сразу заметил ошибки. На суть сильно не влияет, поэтому решил оставить. Буду внимательнее, спасибо!
@@ListenIT_channel да, сто проц не влияет, все супер понятно и очень круто изложен материал, еще раз спасибо!
Если уж душнить, то пополной)
В пункте 2 мы ищем не колонку с названием type, а колонку color и значение 543
2:33 почему по type пишите? Если color
А можно для непрофильных специалистов объяснить, как столбцовая СУБД выдаёт в результате строку, если все столбцы хранятся отдельно? Что связывает элементы разных столбцов?
ключ есть у каждой ячейки .типа НомерСтроки
сделайте пожалуйста ролик про WSDL !!!
Опа KozhinDev)) Красноярским привет
Сделай видео про руководство по стилю в SQL
Интересно
Ну так себе статься, про класторизированные индексы понятно , но вот самое ведь интересно не как факт указать когда не нужно использовать не класторизированные индексы, а почему .
Буффер вставок придется самому имплементить? На стороне КХ нет такой фичи?
Есть таблицы с движком buffer, есть асинхронные вставки. В каких-то случаях этого может хватить. Но в целом желательно вставлять пачками, то есть да, самому имплементить.
Есть адаптеры из коробки на уровне Clickhouse которые позволяют подключить ее напрямую к RabbitMQ/Kafka, а CH сам оттуда будет забирать на вставку. Но не уверен насколько это работает, не пробовал
listen TO IT💡
в clickhouse есть primary key
Строка, только повернутая на 90 градусов)
Ну по сути, обычная таблица, где каждый столбец представляет собой некластеризованный индекс.
«Пропустить колонки, которые не нужны для анализа - невозможно»
Даже если повесить на колонку индекс? Как же он тогда ускоряет поиск?)
В любом случае это будет не так быстро. Есть Index Scan Only, который будет читать данные только из индекса.
Но как только ты добавишь в SELECT поле не из индекса или из другого индекса, операция сразу замедлится в несколько раз, потому что это будет уже Index Scan, а значит БД будет подглядывать в heap и забирать данные из оригинальной таблицы
А в колоночной бд такого нет потому что она просто может посчитать byte offset для соседней колонки и сразу считать данные, без поиска
В строковых бд обычный индекс позволяет получить место хранения строки, т.е. является указателем. Перейдя по указателю получанм достап к строке, но полученная строка состоит из N полей (или по другому - колонок), и чтобы получить доступ к какому-то полю нужно прочитать все поля перед ним. В кликхаусе эти поля таблицы хранятся в отдельных отсортированных структурах, поэтому поиск по колонке очень быстрый.
В строковой бд если запрос должен выполняться по всей таблице или планировщик запроса считает что запрос не получит выгоды от индекса то будет фулскан всей таблицы и на больших данных это очень медленно.
Сделайте пожалуйста про касандру
ua-cam.com/video/2b4heaO3U8k/v-deo.html в колонке style правильные номера записей?
Как же много оговорок, это ужас какой-то. На экране одно, вслух произносится совсем другое...
542 vs 543
Fight!
На минусах сразу понятно что это создавали россиянские «гении»
Колоночные базы как технологию придумали ещё в 1969, это не новинка. А что именно смутило в минусах?
Вполне годная база, главное правильно использовать. А что вы придумали и реализовали?
Хохол детектед
Хохлятские гении в свою очередь что сделали? Пукнули в ладошку и занюхнули
Отличное видео!