What is our primary use case?
All of our infrastructure is on Amazon, so we used AWS Database Migration Service to perform a database migration from one relational database to another within the AWS cloud. The migration was from an Oracle database to PostgreSQL database, and AWS DMS helped us transfer all the tables and other objects from the one database to the other automatically.
What is most valuable?
If your infrastructure is already on Amazon, it simply makes the most sense to use a tool officially provided by them as an additional service, rather than having to rely on a third-party solution.
On the other hand, if you have a custom infrastructure and you want to migrate to Amazon, it also makes thing much easier to integrate. The way it works is brilliant, and it's based on similar logic to Oracle's GoldenGate migration tool in that you can migrate everything from data tables to schemas from one database to another. So in most situations where you would need to migrate to Amazon, the best way is by using AWS DMS.
What needs improvement?
One area that AWS DMS can improve on is its conversion of data types. For example, in Oracle, you have a data type called RAW, but in PostgreSQL there is no such thing. Thus, AWS DMS doesn't know what type I want to use when migrating from Oracle to PostgreSQL, and when performing the migration, AWS DMS changed the RAW data type to the byte data type, which isn't what I wanted.
For example, if I wanted to manually transfer the RAW data type in the Oracle database to something else like VARCHAR in the PostgreSQL database, AWS DMS doesn't seem to have this functionality. It would be great if I could change the data type conversions manually instead of automatically.
Another area that has proven difficult for me is the use of AWS Schema Conversion Tool, which is a free, cross-platform app that they offer as part of AWS DMS. I was under the impression that I would first have to use this tool to convert from one database to another, and then use AWS DMS, but when I used it, some of the tasks didn't work correctly. To my surprise, when I skipped using the Schema Conversion Tool and went ahead with the migration with AWS DMS, it automatically transferred everything and it was all correct. So I am not sure what the point of the Schema Conversion Tool is, because the default functionality of AWS DMS seemed to transfer and convert the databases fine without it.
There is also room for improvement from a support perspective. It is sometimes necessary to contact their support team when there is something you don't understand, and when I wrote a support ticket they simply weren't able to help. Yet, when our company contacted the manager of our reseller, they were able to create a meeting room with an Amazon specialist for DMS, and with one call, all our questions were answered. I think their email support team could be much better when compared with their personal support team.
For how long have I used the solution?
I have used the solution only once, during a migration which took place over two or three months.
What do I think about the stability of the solution?
I only used AWS DMS over the course of about three months, but I could tell that it's not always stable. I think it's fine if you only need to use it for a short time with a one-time migration, but if you intend to use it all the time in, for instance, a staging environment, every day of the month, I wouldn't say that's a good idea. I would only use it for quick migrations.
How are customer service and support?
I have certainly needed the support, especially when I don't understand why something doesn't work. This is often the case when dealing with different types of databases, such as Oracle and PostgreSQL. We also use a lot of other databases, so for us, contacting support is almost inevitable.
Once, when I wrote a support ticket but I didn't get the help I needed, our company wrote to the manager of our reseller who arranged for a meeting with Amazon's personal support. We spoke with an AWS DMS specialist in this meeting and showed him our problem, and with this one call, all our questions were answered.
How was the initial setup?
It's easy to set up when you use Amazon's official documentation, and the first steps are simple. Amazon also has a few practice videos so you can see how it is done.
However, it's not always easy to adapt the documentation according to our own particular applications and databases. For example, if you've never used it before, you will likely need to set aside a minimum of 40 hours for reading and testing.
What about the implementation team?
I implemented it by myself.
What's my experience with pricing, setup cost, and licensing?
The pricing is per hour, though I do not have the exact figures.
If you have specific questions about the service, a personal support team from Amazon is available, but this will bring in additional costs.
What other advice do I have?
Our infrastructure is fully on Amazon, so for us AWS DMS was an obvious choice to perform our migration as it is an additional service that Amazon provides. To those who are thinking of using the same, I would say go ahead and try it. If you come across any problems or have questions, you will most likely need to contact Amazon support, which can give good service, but it's not ideal. The paid support, however, worked well for us.
I would rate AWS Database Migration Service a seven out of ten.
Disclosure: My company does not have a business relationship with this vendor other than being a customer.