Migrating Data from a DynamoDB Instance to a GeminiDB DynamoDB Instance
GeminiX is a Huawei-developed tool that can seamlessly migrate data from a DynamoDB instance to a GeminiDB DynamoDB instance based on DynamoDB semantics. This section describes how to migrate data from an AWS DynamoDB instance to a GeminiDB DynamoDB instance.
Migration Principles
This solution consists of two modules: full migration and incremental migration. You need to create an ECS for data forwarding. GeminiX supports distributed migration and concurrent migration of multiple service tables on multiple servers.
- During the full migration, DynamoDB scan interfaces read all data by segment and write the data to the GeminiDB DynamoDB instance.
- In the incremental migration, DynamoDB stream interfaces synchronize incremental data to the GeminiDB DynamoDB instance.
Prerequisites
- A GeminiDB DynamoDB instance has been created and is running normally.
- An ECS with 16 vCPUs, 64 GB of memory, and 100 or more GB of disk space has been created. For details about how to create an ECS, see Purchasing an ECS" in Getting Started with Elastic Cloud Server.
- Data is transmitted between the AWS DynamoDB instance and ECS through private lines. Ensure that the networks between the ECS and AWS DynamoDB instance and between the ECS and GeminiDB DynamoDB instance are normal.
- The storage space of the GeminiDB DynamoDB instance cannot be less than that of the AWS DynamoDB instance.
- AWS DynamoDB stream interfaces have been enabled.
Procedure
- Deploy the required migration tool.
- Obtain GeminiX.
- Modify the conf.yaml configuration file and configure the following items:
source: endpoint: 'https://dynamodb.us-west-2.amazonaws.com' #Domain name of the AWS DynamoDB instance access_key_id: 'xx' #Access key ID of the AWS DynamoDB instance secret_access_key: 'xx' #Secret access key of the AWS DynamoDB instance target: endpoint: ***.***.***.*** #Domain name of the GeminiDB DynamoDB instance access_key_id: 'xx' #Access key ID of the GeminiDB DynamoDB instance secret_access_key: 'xx' #Secret access key of the GeminiDB DynamoDB instance
- Perform a full data migration.
Run the following command:
nohup ./bin/migration.sh fullsync -c conf/conf.yaml >run.log 2>&1 &
If information similar to the following is displayed, synchronizing full data is complete.finish syncing all tables and indexes
- Migrate incremental data.
Before running the incremental migration command, you need to configure the connection information of the DynamoDB instance and GeminiDB DynamoDB instance and the name of the incremental migration table in GeminiX. For details, see 1.b.
Run the following command:nohup ./bin/migration.sh incresync -c conf/conf.yaml >run.log 2>&1 &
- After the migration is complete, switch the service workloads to the GeminiDB DynamoDB instance.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot