[Документация Yandex Cloud](../../../../index.md) > [Yandex Data Transfer](../../../index.md) > [Пошаговые инструкции](../../index.md) > [Настройка эндпоинтов](../index.md) > Greenplum® > Приемник

# Передача данных в эндпоинт-приемник Greenplum®

{% note warning %}

Для пользователей Yandex Cloud в [регионе Казахстан](../../../../overview/concepts/region.md) эндпоинты Data Transfer для баз данных MongoDB и Elasticsearch доступны только в пользовательской инсталляции. Сервисы управляемых баз данных для этих эндпоинтов не поддерживаются.

{% endnote %}

С помощью сервиса Yandex Data Transfer вы можете переносить данные в базу Greenplum® и реализовывать различные сценарии переноса, обработки и трансформации данных. Для реализации трансфера:

1. [Ознакомьтесь с возможными сценариями передачи данных](#scenarios).
1. [Настройте один из поддерживаемых источников данных](#supported-sources).
1. [Подготовьте базу данных Greenplum®](#prepare) к трансферу.
1. [Настройте эндпоинт-приемник](#endpoint-settings) в Yandex Data Transfer.
1. [Создайте](../../transfer.md#create) и [запустите](../../transfer.md#activate) трансфер.
1. Выполняйте необходимые действия по работе с базой и [контролируйте трансфер](../../monitoring.md).
1. При возникновении проблем, [воспользуйтесь готовыми решениями](../../../troubleshooting/index.md) по их устранению.

## Сценарии передачи данных в Greenplum® {#scenarios}

1. Миграция — перенос данных из одного хранилища в другое. Часто это перенос базы из устаревших локальных баз в управляемые облачные.

    * [Миграция кластера Greenplum®](../../../tutorials/managed-greenplum.md);
    * [Миграция со сменой хранилища: MySQL® в Greenplum®](../../../tutorials/mmy-to-mgp.md).
    * [Миграция со сменой хранилища: OpenSearch в Greenplum®](../../../tutorials/opensearch-to-greenplum.md).

1. Поставка данных — процесс доставки произвольных данных в целевые хранилища. Процесс поставки включает извлечение данных из очереди и их десериализацию с последующей трансформацией данных в формат целевого хранилища.
    * [Поставка данных из Apache Kafka® в Greenplum®](../../../tutorials/managed-kafka-to-greenplum.md).

1. Загрузка данных в витрины — процесс трансфера подготовленных данных в хранилища с целью последующей визуализации.

    * [Загрузка данных из Object Storage в Greenplum®](../../../tutorials/object-storage-to-greenplum.md).

Подробное описание возможных сценариев передачи данных в Yandex Data Transfer читайте в разделе [Практические руководства](../../../tutorials/index.md).

## Настройка источника данных {#supported-sources}

Настройте один из поддерживаемых источников данных:

* [PostgreSQL](../source/postgresql.md)
* [MySQL®](../source/mysql.md)
* [Greenplum®](../source/greenplum.md)
* [Apache Kafka®](../source/kafka.md)
* [Airbyte®](../../../transfer-matrix.md#airbyte)
* [YDS](../source/data-streams.md)
* [Yandex Object Storage](../source/object-storage.md)
* [YTsaurus](../source/yt.md)
* [Oracle](../source/oracle.md)

Полный список поддерживаемых источников и приемников в Yandex Data Transfer читайте в разделе [Доступные трансферы](../../../transfer-matrix.md).

## Подготовка базы данных приемника {#prepare}

{% list tabs %}

- Yandex MPP Analytics for PostgreSQL
    
    1. Отключите на приемнике следующие настройки:
        
        * проверку целостности внешних ключей;
        * триггеры;
        * другие ограничения (constraints).

       {% note warning %}

       Не включайте эти настройки до окончания трансфера. Это обеспечит целостность данных по внешним ключам.

       {% endnote %}
    
    1. Создайте пользователя:
    
        ```sql
        CREATE ROLE <имя_пользователя> LOGIN ENCRYPTED PASSWORD '<пароль>';
        ```
    
    1. Выдайте созданному пользователю все привилегии на базу данных, схемы и переносимые таблицы:
    
        ```sql
        GRANT ALL PRIVILEGES ON DATABASE <имя_базы> TO <имя_пользователя>;
        ```
    
       Если база не пустая, то пользователь должен быть ее владельцем (owner):
    
        ```sql
        ALTER DATABASE <имя_базы> OWNER TO <имя_пользователя>;
        ```
    
       После старта трансфер подключится к приемнику от имени этого пользователя.

- Greenplum®
    
    1. Если вы не планируете использовать для подключения к внешнему кластеру [сервис Cloud Interconnect](../../../../interconnect/concepts/index.md) или [VPN](../../../../glossary/vpn.md), разрешите подключения к такому кластеру из интернета с [IP-адресов, используемых сервисом Data Transfer](../../../../overview/concepts/public-ips.md#virtual-private-cloud).
       
       Подробнее о настройке сети для работы с внешними ресурсами читайте в [концепции](../../../concepts/network.md#source-external).
    
    1. Отключите на приемнике следующие настройки:
        
        * проверку целостности внешних ключей;
        * триггеры;
        * другие ограничения (constraints).

       {% note warning %}

       Не включайте эти настройки до окончания трансфера. Это обеспечит целостность данных по внешним ключам.

       {% endnote %}
    
    1. Создайте пользователя:
    
        ```sql
        CREATE ROLE <имя_пользователя> LOGIN ENCRYPTED PASSWORD '<пароль>';
        ```
    
    1. Выдайте созданному пользователю все привилегии на базу данных, схемы и переносимые таблицы:
    
        ```sql
        GRANT ALL PRIVILEGES ON DATABASE <имя_базы> TO <имя_пользователя>;
        ```
    
       Если база не пустая, то пользователь должен быть ее владельцем (owner):
    
        ```sql
        ALTER DATABASE <имя_базы> OWNER TO <имя_пользователя>;
        ```
    
       После старта трансфер подключится к приемнику от имени этого пользователя.

{% endlist %}

## Настройка эндпоинта-приемника Greenplum® {#endpoint-settings}

При [создании](../index.md#create) или [изменении](../index.md#update) эндпоинта вы можете задать:

* Настройки подключения к [кластеру Yandex MPP Analytics for PostgreSQL](#managed-service) или [пользовательской инсталляции](#on-premise), в т. ч. на базе виртуальных машин Yandex Compute Cloud. Эти параметры обязательные.
* [Дополнительные параметры](#additional-settings).


### Кластер Yandex MPP Analytics for PostgreSQL {#managed-service}


{% note warning %}

Для создания или редактирования эндпоинта управляемой базы данных вам потребуется [роль `managed-greenplum.viewer`](../../../../managed-greenplum/security/index.md#mgp-viewer) или примитивная [роль `viewer`](../../../../iam/roles-reference.md#viewer), выданная на каталог кластера этой управляемой базы данных.

{% endnote %}

Подключение к БД с указанием кластера в Yandex Cloud.

{% list tabs group=instructions %}

- Консоль управления {#console}

    * **Тип подключения** — выберите вариант подключения к базе данных:
    
      * **Ручная настройка** — позволяет задать настройки подключения вручную.
    
        Выберите тип инсталляции **Кластер Managed Service for Greenplum** и задайте настройки:
    
          * **Кластер** — выберите кластер, к которому необходимо подключиться.
          * **База данных** — укажите имя базы данных в выбранном кластере.      
          * **Пользователь** — укажите имя пользователя, под которым сервис Data Transfer будет подключаться к базе данных.
          * **Пароль** — укажите пароль пользователя для доступа к базе данных.
    
      * **Connection Manager** — позволяет подключиться к кластеру через [Yandex Connection Manager](../../../../metadata-hub/quickstart/connection-manager.md):
    
        * Выберите каталог, в котором находится кластер Yandex MPP Analytics for PostgreSQL.
        * Выберите тип инсталляции **Кластер управляемой БД** и задайте настройки:
    
          * **Кластер управляемой БД** — выберите кластер, к которому необходимо подключиться.      
          * **Подключение** — выберите подключение в Connection Manager или создайте его.
          * **База данных** — укажите имя базы данных в выбранном кластере.
    
        {% note warning %}
        
        Чтобы использовать подключение из Connection Manager, у пользователя должны быть [права доступа](../../../../metadata-hub/operations/connection-access.md) не ниже `connection-manager.user` к этому подключению.
        
        {% endnote %}
    
    * **Группы безопасности** — выберите облачную сеть для размещения эндпоинта и группы безопасности для сетевого трафика.
    
      Это позволит применить к ВМ и кластерам в выбранной сети указанные правила групп безопасности без изменения настроек этих ВМ и кластеров. Подробнее читайте в разделе [Сеть в Yandex Data Transfer](../../../concepts/network.md).

{% endlist %}


### Пользовательская инсталляция {#on-premise}

Подключение к БД с явным указанием сетевых адресов и портов.

{% list tabs group=instructions %}

- Консоль управления {#console}

    * **Тип подключения** — выберите вариант подключения к базе данных:
    
        * **Ручная настройка** — позволяет задать настройки подключения вручную:
    
          * **Хост координатора** — укажите IP-адрес или FQDN первичного хоста-мастера, к которому необходимо подключиться.
          * **Порт координатора** — укажите номер порта, который Data Transfer будет использовать для подключения к первичному хосту-мастеру.
          * **Хост зеркала координатора** — укажите IP-адрес или FQDN резервного хоста-мастера, к которому необходимо подключиться (оставьте поле пустым, если в вашем кластере только один хост-мастер).
          * **Порт зеркала координатора** — укажите номер порта, который сервис Data Transfer будет использовать для подключения к резервному хосту-мастеру (оставьте поле пустым, если в вашем кластере только один хост-мастер).
          * **Сегменты кластера** — укажите данные для подключения к хостам-сегментам. Если их не указать, то адреса хостов-сегментов будут получены автоматически из служебной таблицы хоста-мастера.
          * **Сертификат CA** — загрузите файл [сертификата](../../../../managed-greenplum/operations/connect/index.md#get-ssl-cert) или добавьте его содержимое в текстовом виде, если требуется шифрование передаваемых данных, например, для соответствия требованиям PCI DSS.
            
            
            {% note warning %}
            
            Если не добавить сертификат, трансфер может [завершиться ошибкой](../../../troubleshooting/index.md#failed-to-connect).
            
            {% endnote %}
          
          * **Идентификатор подсети** — выберите или [создайте](../../../../vpc/operations/subnet-create.md) подсеть в нужной [зоне доступности](../../../../overview/concepts/geo-scope.md). Трансфер будет использовать эту подсеть для доступа к базе данных.
    
            Если значение в этом поле задано для обоих эндпоинтов, то обе подсети должны быть размещены в одной зоне доступности.
    
          * **База данных** — укажите имя базы данных.
          * **Пользователь** — укажите имя пользователя, под которым сервис Data Transfer будет подключаться к базе данных.
          * **Пароль** — укажите пароль пользователя для доступа к базе данных.
    
      * **Connection Manager** — позволяет подключиться к базе данных через [Yandex Connection Manager](../../../../metadata-hub/quickstart/connection-manager.md):
    
          * Выберите каталог, в котором создано подключение Connection Manager.
          * Выберите тип инсталляции **Пользовательская инсталляция** и задайте настройки:
    
            * **Подключение** — выберите подключение в Connection Manager или создайте его.
            * **База данных** — укажите имя базы данных в пользовательской инсталляции.
            *  **Идентификатор подсети** — выберите или [создайте](../../../../vpc/operations/subnet-create.md) подсеть в нужной [зоне доступности](../../../../overview/concepts/geo-scope.md). Трансфер будет использовать эту подсеть для доступа к базе данных.
    
                Если значение в этом поле задано для обоих эндпоинтов, то обе подсети должны быть размещены в одной зоне доступности.
    
            {% note warning %}
            
            Чтобы использовать подключение из Connection Manager, у пользователя должны быть [права доступа](../../../../metadata-hub/operations/connection-access.md) не ниже `connection-manager.user` к этому подключению.
            
            {% endnote %}        
    
    * **Группы безопасности** — выберите облачную сеть для размещения эндпоинта и группы безопасности для сетевого трафика.
    
      Это позволит применить к ВМ и БД в выбранной сети указанные правила групп безопасности без изменения настроек этих ВМ и БД. Подробнее читайте в разделе [Сеть в Yandex Data Transfer](../../../concepts/network.md).

{% endlist %}

### Дополнительные настройки {#additional-settings}

{% list tabs group=instructions %}

- Консоль управления {#console}

    **Политика очистки** — выберите способ очистки данных в базе-приемнике перед переносом:

    * `Не очищать` — выберите эту опцию, если будет производиться только репликация без копирования данных.

    * `Drop` — полное удаление таблиц, участвующих в трансфере (вариант по умолчанию).

        Используйте эту опцию, чтобы при любой активации трансфера в базу-приемник всегда передавалась самая последняя версия схемы таблиц из источника.

    * `Truncate` — удалить только данные из таблиц, участвующих в трансфере, но оставить схему.

        Используйте эту опцию, если схема в базе-приемнике отличается от той, которая была бы перенесена из источника при трансфере.

{% endlist %}

После настройки источника и приемника данных [создайте и запустите трансфер](../../transfer.md#create).

_Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах._