Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for ClickHouse®
  • Начало работы
    • Все руководства
    • Добавление данных в БД
    • Миграция данных в Managed Service for ClickHouse® средствами ClickHouse®
    • Миграция данных в Managed Service for ClickHouse® при помощи Data Transfer
    • Шардирование таблиц
    • Перешардирование данных в кластере
    • Использование гибридного хранилища
    • Получение данных из Managed Service for Apache Kafka®
    • Получение данных из RabbitMQ
    • Обмен данными с Yandex Data Processing
    • Настройка Yandex Cloud DNS для доступа к кластеру из других облачных сетей
    • Анализ логов Yandex Object Storage при помощи Yandex DataLens
    • Настройка Managed Service for ClickHouse® для Graphite
    • Сохранение потока данных Yandex Data Streams в Managed Service for ClickHouse®
    • Миграция базы данных из Google BigQuery
    • Поставка данных из Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Миграция данных из Яндекс Директ с использованием Yandex Cloud Functions, Yandex Object Storage и Yandex Data Transfer
    • Загрузка данных из Yandex Object Storage в Managed Service for ClickHouse® с помощью Yandex Data Transfer
    • Миграция базы данных из Greenplum® в ClickHouse®
    • Миграция базы данных из MySQL® в ClickHouse® с помощью Yandex Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse®
    • Загрузка данных из Yandex Managed Service for YDB в Managed Service for ClickHouse® с помощью Yandex Data Transfer
    • Копирование данных из Managed Service for OpenSearch в Managed Service for ClickHouse® с помощью Yandex Data Transfer
    • Ввод данных в системы хранения
    • Использование параметров
    • Примеры создания QL-чартов
    • Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
    • AppMetrica: прямое подключение
    • AppMetrica: экспорт, постобработка и визуализация данных
    • Загрузка данных из Яндекс Метрика в витрину ClickHouse®
    • Yandex Tracker: экспорт и визуализация данных
    • Дашборд сети магазинов из БД ClickHouse®
    • Анализ продаж и локаций пиццерий на данных из БД ClickHouse® и Marketplace
    • Геокодинг с помощью API Яндекс Карт для визуализации в DataLens
    • Импорт данных из Object Storage, обработка и экспорт в Managed Service for ClickHouse®
    • Работа с данными с помощью Query
    • Федеративные запросы к данным с помощью Query
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перенос данных при помощи remote
  • Перенос данных при помощи команд backup/restore и бакета Object Storage
  1. Практические руководства
  2. Миграция данных в Managed Service for ClickHouse® средствами ClickHouse®

Миграция данных в Managed Service for ClickHouse® средствами ClickHouse®

Статья создана
Yandex Cloud
Обновлена 14 мая 2025 г.
  • Перенос данных при помощи remote
  • Перенос данных при помощи команд backup/restore и бакета Object Storage

Вы можете перенести данные из вашего кластера ClickHouse® в кластер Managed Service for ClickHouse® при помощи:

  • Встроенной функции remote. Этот способ подойдет для переноса отдельных таблиц.
  • Встроенных команд backup/restore и бакета Yandex Object Storage. Этот способ подойдет для переноса как отдельных таблиц, так и базы данных целиком.

Вы также можете перенести базу данных из кластера ClickHouse® в кластер Managed Service for ClickHouse® при помощи Data Transfer. О том, как это сделать, см. в практическом руководстве.

Перенос данных при помощи remoteПеренос данных при помощи remote

При помощи remote вы можете перенести отдельные таблицы из стороннего кластера ClickHouse®. Этот способ не требует установки ZooKeeper и дополнительных инструментов, а также обновления версии ClickHouse® кластера-источника.

Совет

Перед переносом данных рекомендуется остановить мержи в кластер-источник при помощи команд STOP MERGES и STOP TTL MERGES, а также отключить потребителей.

Чтобы перенести таблицу из стороннего кластера ClickHouse® в кластер Managed Service for ClickHouse®:

  1. Создайте кластер-приемник Managed Service for ClickHouse®.

  2. Подключитесь к кластеру, из которого вы хотите перенести данные.

  3. Получите текст запроса для создания таблиц:

    SELECT create_table_query FROM system.tables WHERE database = '<имя_БД,_которую_вы_хотите_перенести>';
    

    Например, в вашей БД db1 хранится таблица tasks со списком заданий. Ответ на запрос будет выглядеть так:

    CREATE TABLE db1.tasks (`task_id` Int32,
                            `title` String, 
                            `start_date` Date, 
                            `due_date` Date, 
                            `priority` Int8 DEFAULT 3, 
                            `description` String) 
                   ENGINE = MergeTree 
                   PRIMARY KEY tuple(task_id) 
                   ORDER BY tuple(task_id) 
                   SETTINGS index_granularity = 8192;
    
  4. Подключитесь к кластеру Managed Service for ClickHouse®, на который вы хотите перенести данные, и создайте на нем новую таблицу из полученного ранее текста запроса.

    Если в кластере-источнике не использовались реплики, а в приемнике — используются, замените движок на Replicated-семейство.

    Чтобы создать объект на всех хостах кластера-приемника, используйте в команде CREATE выражение ON CLUSTER.

  5. В кластере-источнике выполните запрос:

    INSERT INTO FUNCTION
    remoteSecure('<FQDN_хоста_кластера_Managed_Service_for_ClickHouse®>:9440',
                 '<имя_БД_в_кластере-приемнике>.<имя_целевой_таблицы>',
                 '<имя_пользователя_в_кластере-приемнике>',
                 '<пароль_пользователя_в_кластере-приемнике>')
    SELECT * from <имя_БД>.<имя_таблицы>;
    

    О том, как получить FQDN хоста, см. инструкцию.

  6. В кластере-приемнике проверьте, что в БД появилась таблица из кластера-источника:

    SHOW TABLES FROM <имя_базы_данных>;
    
  7. Проверьте, что таблица содержит данные из таблицы кластера-источника:

    SELECT * FROM <имя_БД>.<имя_таблицы>;
    

Подробнее об использовании функции remote см. в документации ClickHouse®.

Перенос данных при помощи команд backup/restore и бакета Object StorageПеренос данных при помощи команд backup/restore и бакета Object Storage

Важно

Для работы с командами backup/restore в стороннем кластере нужна версия ClickHouse® 22.10 или новее.

При помощи команд backup/restore и бакета Object Storage вы можете перенести из стороннего кластера ClickHouse® как отдельные таблицы, так и базу данных целиком. Для этого:

  1. Создайте кластер-приемник Managed Service for ClickHouse®.

  2. Создайте сервисный аккаунт с ролью storage.editor.

  3. Создайте статический ключ для сервисного аккаунта.

    Сохраните идентификатор ключа и сам ключ: они понадобятся в следующих шагах.

  4. Создайте бакет Object Storage.

  5. Подключитесь к кластеру, из которого вы хотите перенести данные.

  6. Выполните команду для сохранения резервной копии таблицы в бакет Object Storage:

    BACKUP TABLE <имя_базы_данных>.<имя_таблицы> TO S3('<эндпоинт_бакета_Object_Storage>', '<идентификатор_статического_ключа_сервисного_аккаунта>', '<статический_ключ_сервисного_аккаунта>');
    

    Если вы хотите перенести базу данных целиком, выполните команду:

    BACKUP DATABASE <имя_базы_данных> TO S3('<эндпоинт_бакета_Object_Storage>', '<идентификатор_статического_ключа_сервисного_аккаунта>', '<статический_ключ_сервисного_аккаунта>');
    
  7. Подключитесь к кластеру Managed Service for ClickHouse®, на который вы хотите перенести данные.

  8. Выполните команду для восстановления таблицы из резервной копии:

    RESTORE TABLE <имя_базы_данных>.<имя_таблицы> FROM S3('<эндпоинт_бакета_Object_Storage>', '<идентификатор_статического_ключа_сервисного_аккаунта>', 'статический_ключ_сервисного_аккаунта>');
    

    Если вы хотите восстановить базу данных, используйте команду:

    RESTORE DATABASE <имя_базы_данных> FROM S3('<эндпоинт_бакета_Object_Storage>', '<идентификатор_статического_ключа_сервисного_аккаунта>', 'статический_ключ_сервисного_аккаунта>');
    
  9. Убедитесь, что восстановление из резервной копии прошло успешно:

    • Если вы восстанавливали таблицу, выполните команду:

      SELECT * FROM <имя_базы_данных>.<имя_таблицы>;
      
    • Если вы восстанавливали базу данных, выполните команду:

      SHOW DATABASES;
      

Подробнее об использовании команд backup/restore с S3-хранилищем см. в документации ClickHouse®.

Была ли статья полезна?

Предыдущая
Добавление данных в БД
Следующая
Миграция данных в Managed Service for ClickHouse® при помощи Data Transfer
Проект Яндекса
© 2025 ООО «Яндекс.Облако»