clickhouse
Использование AggregatingMergeTree в Clickhouse
Технічний редактор Highload
Даже колоночные базы данных, вроде Clickhouse, сталкиваются с проблемами слишком большого количества данных и слишком медленных запросов. Для таких случаев используют методики агрегирования данных, что позволяет экономить место и упрощать выборки.
Сбор метрик из Nginx’a в Clickhouse
Запись данных в Clickhouse (и другие векторные базы) может достигать производительности в миллионы строк в секунду. Для этого важно писать данные крупными пакетами (сотни тысяч…миллионы строк в пакете).
JOIN нескольких таблиц в Clickhouse
Технічний редактор Highload
Поддержка JOIN’ов в Clichouse ограничена. Кроме непривычной работы самого объединения, есть еще и ограничение на последовательное объединение только двух таблиц:
Truncate table в Clickhouse
На текущий момент (февраль 2018) Clickhouse не поддерживает инструкцию TRUNCATE для полной очистки таблицы. Вместо этого можно удалить и пересоздать таблицу:
Использование Clickhouse для фильтрации по колонкам
Существует группа задач, которая связана с необходимостью фильтровать данные по большому количеству колонок в таблице. Например, в одном из наших аналитических решений, есть таблица товаров:
Список партиций в ClickHouse
Технічний редактор Highload
Чтобы выбрать все партиции для всех таблиц нужно выполнить такой запрос:
SELECT * FROM system.parts
# вернет большую таблицу с кучей колонок
Работа с JOIN в Clickhouse
Технічний редактор Highload
Clickhouse поддерживает JOIN таблиц с несколькими нюансами. Синтаксис привычный:
Clickhouse: как узнать размеры таблиц?
Технічний редактор Highload
Чтобы вывести все таблицы на сервере Clickhouse с их размера в Гб, используйте этот запрос:
SELECT table, round(sum(bytes) / 1024/1024/1024, 2) as size_gb
EXPLAIN в Clickhouse
Clickhouse пока не поддерживает (февраль 2018) EXPLAIN и не имеет механизмов профилирования. Однако, можно использовать записи в логе для базового анализа эффективности запроса.
Выполнение запросов к Distributed таблицам Clickhouse
Движок Distributed в Clickhouse позволяет работать с большими объемами данных, которые распределены между множеством серверов. Движок Distributed позволяет задать шарды (сервера), на которых хранятся данные и читать/записывать их. Запись данных – это скорее функция для удобства, т.к. более управляемый подход состоит в том, чтобы записывать данные прямо на шарды самостоятельно. А вот чтение данных – это мега удобная функция Distributed таблицы.
Использование индексов в Clickhouse
Технічний редактор Highload
Clickhouse — это колоночная база данных от Яндекс. База специально разработана для аналитических задач на больших объемах.
Удаление и обновление данных в Clickhouse
Технічний редактор Highload
В Clickhouse нет поддержки удалений и обновлений. Однако существует большое [https://ruhighload.com/doc/clickhouse/ количество движков] для разных задач.
Распределенное хранение данных в Clickhouse
Рано или поздно объемы (аналитических) данных выходят за пределы возможностей одного сервера. В любом случае, если объем данных больше, чем 10Тб, пора думать о распределенном хранилище.
Бекап и восстановление в Clickhouse
Технічний редактор Highload
Процедура бекапа и восстановления в Clickhouse связана с прямыми операциями с файлами и не требует никаких дополнительных инструментов. Физически эта база данных оперирует не таблицами, а партициями – частями таблиц.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: