ClickHouse/docs/ru/operations/storing-data.md
Dmitriy 245307635e Fix description
Поправил описание, перенес HDFS в storing-data.md
2021-08-10 22:43:19 +03:00

3.5 KiB
Raw Blame History

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 МБайт.