CTO at Reducer
DynamoDB has developed significantly in the last couple of years. In 2018 we got Point In Time Recovery (PITR) which was a game changer for many enterprise level database managers. In the same year we got on-demand pricing, which did away with the overly complex business of micro-managing throughput demand. In November 2020 we got the ability to export DynamoDB tables into S3, which is a great feature of developers to test and perform ETL in a safe environment.
DynamoDB is fully managed - this means there is no maintenance, updating or capacity management overhead. AWS offer DynamoDB SDKs in several languages. The Java SDK is particularly good and includes an object persistence model for mapping Plain Old Java Objects (POJOs).
DynamoDB isn't for everyone, in particular the service is notoriously expensive for certain workloads, such as those with high write to read ratios. As a NOSQL data store, DynamoDB is not well suited for highly relational data. Finally, whilst DynamoDB offers result paging, it does not return the number of pages in results, meaning the only way to count the items/pages in a result is to process every page.
It takes a while to get used to the querks of DynamoDB, but it's been an excellent choice for Reducer.