Transferring data to a Greenplum®/Apache Cloudberry™ target endpoint
Yandex Data Transfer enables you to migrate data to a Greenplum®/Apache Cloudberry™ database and implement various data transfer, processing, and transformation scenarios. To set up a transfer:
- Review possible data transfer scenarios.
- Configure one of the supported data sources.
- Prepare your Greenplum®/Apache Cloudberry™ database for the transfer.
- Configure the target endpoint in Yandex Data Transfer.
- Create and launch the transfer.
- Perform required operations with the database and control the transfer.
- If you run into any problems, check the available solutions for troubleshooting.
Scenarios for transferring data to Greenplum®/Apache Cloudberry™
-
Migration: Moving data from one storage to another. Migration often means migrating a database from obsolete local databases to managed cloud ones.
-
Data delivery is a process of delivering arbitrary data to target storage. It includes data retrieval from a queue and its deserialization with subsequent transformation to target storage format.
-
Uploading data to data marts is a process of transferring prepared data to storage for subsequent visualization.
For a detailed description of possible Yandex Data Transfer scenarios, see Tutorials.
Configuring the data source
Configure one of the supported data sources:
- PostgreSQL
- MySQL®
- Greenplum®/Apache Cloudberry™
- Apache Kafka®
- Airbyte®
- YDS
- Yandex Object Storage
- YTsaurus
- Managed Service for YDB
- Oracle
For a complete list of supported sources and targets in Yandex Data Transfer, see Available transfers.
Preparing the target database
-
Disable the following settings on the target:
- Integrity checks for foreign keys
- Triggers
- Other constraints
Warning
Do not reactivate these settings before the transfer is complete. This will ensure data integrity with respect to foreign keys.
-
Create a user:
CREATE ROLE <username> LOGIN ENCRYPTED PASSWORD '<password>'; -
Grant the user all privileges for the database, schemas, and tables to be transferred:
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>;If the database is not empty, the user must be its owner:
ALTER DATABASE <database_name> OWNER TO <username>;Once started, the transfer will connect to the target on behalf of this user.
-
If not planning to use Cloud Interconnect or VPN
for connections to an external cluster, make such cluster accessible from the Internet from IP addresses used by Data Transfer.For details on linking your network up with external resources, see this concept.
-
Disable the following settings on the target:
- Integrity checks for foreign keys
- Triggers
- Other constraints
Warning
Do not reactivate these settings before the transfer is complete. This will ensure data integrity with respect to foreign keys.
-
Create a user:
CREATE ROLE <username> LOGIN ENCRYPTED PASSWORD '<password>'; -
Grant the user all privileges for the database, schemas, and tables to be transferred:
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>;If the database is not empty, the user must be its owner:
ALTER DATABASE <database_name> OWNER TO <username>;Once started, the transfer will connect to the target on behalf of this user.
Configuring the Greenplum® or Apache Cloudberry™ target endpoint
When creating or editing an endpoint, you can configure:
- Connection settings for a Yandex MPP Analytics for PostgreSQL cluster or a custom deployment, including those running on Yandex Compute Cloud VMs. These settings are required.
- Optional settings.
Yandex MPP Analytics for PostgreSQL cluster
Warning
To create or edit a managed database endpoint, you will need the managed-greenplum.viewer role or the primitive viewer role for the folder where its cluster resides.
Connection to the database with the cluster specified in Yandex Cloud.
-
Connection type: Select a database connection option:
-
Self-managed: Allows you to specify connection settings manually.
Select Managed Service for Greenplum cluster as the installation type and configure these settings:
- Cluster: Select the cluster to connect to.
- Database: Specify the name of the database in the selected cluster.
- User: Specify the username Data Transfer will use to connect to the database.
- Password: Enter the user password for access to the database.
-
Connection Manager: Allows connecting to the cluster via Yandex Connection Manager:
-
Select the folder with the Yandex MPP Analytics for PostgreSQL cluster.
-
Select Managed DB cluster as the installation type and configure these settings:
- Cluster for Managed DB: Select the cluster to connect to.
- Connection: Select or create a connection in Connection Manager.
- Database: Specify the name of the database in the selected cluster.
Warning
To use a connection from Connection Manager, the user must have access permissions for this connection of
connection-manager.useror higher. -
-
-
Security groups: Select the cloud network to host the endpoint and security groups for network traffic.
Thus, you will be able to apply the specified security group rules to the VMs and clusters in the selected network without changing the settings of these VMs and clusters. For more information, see Networking in Yandex Data Transfer.
Custom installation
Connection to the database with explicitly specified network addresses and ports.
-
Connection type: Select a database connection option:
-
Self-managed: Allows you to specify connection settings manually:
-
Coordinator host: Specify the IP or FQDN of the primary master host to connect to.
-
Coordinator port: Specify the port for Data Transfer to use to connect to the primary master host.
-
Coordinator mirror host: Specify the IP address or FQDN of the standby master host to connect to (leave the field empty if your cluster only has one master host).
-
Coordinator mirror port: Specify the port for Data Transfer to use to connect to the standby master host (leave the field empty if there is only one master host in your cluster).
-
Cluster Segments: Specify segment host connection information. If you omit these, segment host addresses will be retrieved automatically from the master host housekeeping table.
-
CA certificate: Upload the certificate file or add its contents as text if data encryption is required, e.g., to comply with the PCI DSS requirements.
Warning
If no certificate is added, the transfer may fail with an error.
-
Subnet ID: Select or create a subnet in the required availability zone. The transfer will use this subnet to access the database.
If this field has a value specified for both endpoints, both subnets must be hosted in the same availability zone.
-
Database: Enter the database name.
-
User: Specify the username Data Transfer will use to connect to the database.
-
Password: Enter the user password for access to the database.
-
-
Connection Manager: Allows connecting to a database using Yandex Connection Manager:
-
Select the folder where the Connection Manager connection was created.
-
Select Custom installation as the installation type and configure these settings:
-
Connection: Select or create a connection in Connection Manager.
-
Database: Specify the database name in the custom installation.
-
Subnet ID: Select or create a subnet in the required availability zone. The transfer will use this subnet to access the database.
If this field has a value specified for both endpoints, both subnets must be hosted in the same availability zone.
Warning
To use a connection from Connection Manager, the user must have access permissions for this connection of
connection-manager.useror higher. -
-
-
-
Security groups: Select the cloud network to host the endpoint and security groups for network traffic.
This will allow you to apply the specified security group rules to VMs and DBs in the selected network without reconfiguring these VMs and DBs. For more information, see Networking in Yandex Data Transfer.
Additional settings
Cleanup policy: Select the pre-transfer cleanup policy for the target database:
-
Don't cleanup: Select this option if you are only replicating data, without copying it. -
Drop: Delete all tables included in the transfer. This is the default option.Use it to always transfer the latest table schemas on every transfer activation.
-
Truncate: Delete data from the transferred tables, leaving the schema intact.Use this option if the target schema differs from the one that would be transferred from the source.
Once you have configured the source and target, create and launch the transfer.
Greenplum® and Greenplum Database® are registered trademarks or trademarks of Broadcom Inc. in the United States and/or other countries.