remoteSecure используется в запросах SELECT и INSERT для доступа к удалённым серверам ClickHouse, что позволяет переносить таблицы так же просто, как выполнить запрос INSERT INTO со встроенным SELECT.
Миграция с самоуправляемого ClickHouse в ClickHouse Cloud
SharedMergeTree будет автоматически выбран в качестве движка таблицы),
а ClickHouse Cloud автоматически позаботится о вертикальном и горизонтальном масштабировании.
Вам не нужно думать о том, как реплицировать таблицу и разбивать ее на сегменты.
В этом примере самоуправляемый сервер ClickHouse является источником, а сервис ClickHouse Cloud — пунктом назначения.
Обзор
- Добавьте в исходный сервис пользователя только для чтения
- Продублируйте структуру исходной таблицы в целевом сервисе
- Перенесите данные из источника в целевой сервис методом Pull или Push — в зависимости от сетевой доступности источника
- Удалите исходный сервер из IP Access List целевого сервиса (если применимо)
- Удалите из исходного сервиса пользователя только для чтения
Миграция таблиц из одной системы в другую:
СовместимостьЕсли вы замечаете различия в поведении между самоуправляемым развертыванием ClickHouse и сервисом ClickHouse Cloud,
это может быть связано с настройкой совместимости.
В Cloud совместимость задается при создании сервиса и не меняется на уровне сервиса, чтобы клиенты получали предсказуемое поведение даже по мере обновления сервиса.
Если вы хотите изменить совместимость, вы можете отправить запрос через службу поддержки.
В исходной системе ClickHouse (системе, где сейчас хранятся данные)
- Добавьте пользователя с правами только на чтение, который сможет читать исходную таблицу (
db.tableв этом примере)
- Скопируйте определение таблицы
В целевой системе ClickHouse Cloud:
- Создайте целевую базу данных:
- Используя оператор CREATE TABLE для исходной таблицы, создайте таблицу назначения.
- Используйте функцию
remoteSecure, чтобы pull данные из самоуправляемого источника
Если исходная система недоступна из внешних сетей, данные можно не pull, а push, так как функция
remoteSecure работает и для выборок, и для вставки. См. следующий вариант.- Используйте функцию
remoteSecure, чтобы push данные в сервис ClickHouse Cloud
Управление IP Access List
Управление IP Access List
В списке сервисов ClickHouse Cloud выберите сервис, с которым будете работать, и перейдите в раздел Settings. Если в IP Access List нет IP-адреса или диапазона IP-адресов удалённой системы, которой нужно подключиться к вашему сервису ClickHouse Cloud, это можно исправить с помощью Add IPs:Добавьте отдельный IP-адрес или диапазон адресов, которым нужно подключаться к вашему сервису ClickHouse Cloud. При необходимости измените поля формы, а затем нажмите Save.
Миграция между сервисами ClickHouse Cloud
- Миграция данных из восстановленной резервной копии
- Копирование данных из сервиса разработки в staging-сервис (или из staging в production)
- Определите один сервис ClickHouse Cloud как источник, а другой — как пункт назначения
- Добавьте пользователя только для чтения в сервис-источник
- Продублируйте структуру исходной таблицы в целевом сервисе
- Временно разрешите доступ по IP к сервису-источнику
- Скопируйте данные из источника в пункт назначения
- Снова настройте IP Access List для пункта назначения
- Удалите пользователя только для чтения из сервиса-источника
Добавьте в исходный сервис пользователя с правом только на чтение
-
Добавьте пользователя с правом только на чтение, которому будет доступно чтение исходной таблицы (
db.tableв этом примере) -
Скопируйте определение таблицы
Продублируйте структуру таблицы в целевом сервисе
-
Создайте целевую базу данных:
-
Используя оператор CREATE TABLE из исходного сервиса, создайте таблицу в целевом сервисе.
В целевом сервисе создайте таблицу, используя результат
select create_table_query...из исходного сервиса:
Разрешите удалённый доступ к сервису-источнику
Скопируйте данные из исходного сервиса в целевой сервис
-
Используйте функцию
remoteSecure, чтобы pull данные из исходного сервиса ClickHouse Cloud Подключитесь к целевому сервису. Выполните эту команду на целевом сервисе ClickHouse Cloud: - Проверьте данные в целевом сервисе
Повторно настройте IP Access List для исходного сервиса
Удалите пользователя exporter только для чтения
- Измените IP Access List сервиса, чтобы ограничить доступ