Поправил описание, перенес HDFS в storing-data.md
3.5 KiB
toc_priority | toc_title |
---|---|
68 | Хранение данных на внешних дисках |
Хранение данных на внешних дисках
Данные, которые обрабатываются в ClickHouse, обычно хранятся в файловой системе локально, где развернут сервер ClickHouse. При этом для хранения данных требуются диски большого объема, которые могут быть довольно дорогостоящими. Решением проблемы может стать хранение данных отдельно от сервера — в распределенных файловых системах — Amazon s3 или Hadoop (HDFS).
Для работы с данными, хранящимися в файловой системе Amazon s3
, используйте движок s3, а для работы с данными в файловой системе Hadoop — движок HDFS.
Репликация без копирования данных
Для дисков s3
и HDFS
в ClickHouse поддерживается репликация без копирования данных (zero-copy): если данные хранятся на нескольких репликах, то при синхронизации пересылаются только метаданные (пути к кускам данных), а сами данные не копируются.
Использование сервиса HDFS для хранения данных
HDFS — это распределенная файловая система для удаленного хранения данных.
Таблицы семейства MergeTree могут хранить данные в сервисе HDFS при использовании диска типа HDFS
.
Пример конфигурации:
<yandex>
<storage_configuration>
<disks>
<hdfs>
<type>hdfs</type>
<endpoint>hdfs://hdfs1:9000/clickhouse/</endpoint>
</hdfs>
</disks>
<policies>
<hdfs>
<volumes>
<main>
<disk>hdfs</disk>
</main>
</volumes>
</hdfs>
</policies>
</storage_configuration>
<merge_tree>
<min_bytes_for_wide_part>0</min_bytes_for_wide_part>
</merge_tree>
</yandex>
Обязательные параметры:
endpoint
— URL точки приема запроса на стороне HDFS в форматеpath
. URL точки должен содержать путь к корневой директории на сервере, где хранятся данные.
Необязательные параметры:
min_bytes_for_seek
— минимальное количество байтов, которые используются для операций поиска вместо последовательного чтения. Значение по умолчанию: 1 МБайт.