DynamoDB Migration Tool
Amazon Web Services recently announced the availability of DynamoDB, a fully managed NoSQL database service, and since we already offer a backup and recovery solution for SimpleDB, we decided to get busy and develop a backup solution for DynamoDB. We’re still a few weeks away from implementation, but wanted to share a tool (java code to be more precise) that our CloudAlly engineers created to quickly populate DynamoDB tables using existing SimpleDB domains.
The tool converts each SimpleDB domain to a unique DynamoDB table, and if a table already exists, an error message will be generated in order to avoid overwriting existing data.
To execute the tool, compile it with Java and make sure you’re using the latest AWS SDK. Then it’s just a matter of entering the following arguments:
1. SimpleDB Domain name to be migrated
2. Simple DB access code
3. Simple DB secret key
4. Dynamo DB table destination
5. Dynamo DB access code
6. Dynamo DB secret key
7. Table read throughput (AWS fees apply after first 10 free)
8. Table write throughput (AWS fees apply after first 10 free)
9. Table primary hash key name (must be a column in the SimpleDB domain)
10. Table primary hash key type (S=String, N=Number)
11. Table primary range key name (must be a column in the SimpleDB domain)
12. Table primary range key type (S=String, N=Number)
You can learn more about DynamoDB table keys here.
Just a note about read/write throughput (parameters 8 and 9); DynamoDB uses a “provisioned throughput model of service” which requires specifying the read and write throughput values that you want your table to be able to achieve. AWS provides the first 10 requests free of charge, but you will incur additional AWS usage fees over 10. You can always change these settings after the table has been created by updating your provisioned throughput values via the AWS Management Console.
Please keep in mind that this tool is distributed as is and we don’t provide any warranty or guarantee of it’s accuracy. It’s just a simple free tool to allow you to quickly populate DynamoDB tables from your existing SimpleDB domains.
So without further ado, please feel free to download the tool here and give it a try. Please let us know if you have any questions and feel free to give us your feedback and suggestions on other features that would be useful. Enjoy!