AWS RDS MySQL: Ideally we would have gone with MySQL RDS as our backend, considering Amazon does a great job in managing and upgrading relational database as a service, providing multi-AZ support for high availability. However, the main drawback to RDS was the storage limit of 6TB. Our requirement at the time, was closer to 10TB.
AWS Aurora: AWS Aurora would have met the storage needs, but it was in beta at that time.PostgreSQL: PostgreSQL is a powerful open source, object-relational database system, but we did not have much in house expertise using PostgreSQL. In the DC, our primary backend databases were Oracle and MySQL. Moreover, choosing PostgreSQL would have eliminated the option of a seamless migration to Aurora in future, as Aurora is based on the MySQL engine.
From there, they also explain some technical issues they found in migrating data. Read the whole thing. If you’re coming into this series blind, they also have part 1 and part 2 of the series, giving more of an architectural overview of their billing system.