3 ms·
DynamoDB, which is Amazon's serverless NoSQL database offering. If your service takes off, it's also the guaranteed source of a serious amount of cash for the c
by joecot 9y ago
DynamoDB, which is Amazon's serverless NoSQL database offering. If your service takes off, it's also the guaranteed source of a serious amount of cash for the company. If you get big while on DynamoDB, 1) it's near impossible to restructure to optimize your tables, 2) it's near impossible to migrate off of without serious pain, 3) your only method of controlling performance is sliding read/write throughput meters for your tables (ie, paying them more money). DynamoDB is not a service I'd be comfortable locking into.
Use DynamoDB if you are absolutely sure your database structure is perfectly optimized from the get go for the traffic you're going to receive. Your indexes and structure have to be absolutely perfect starting, because there's no good way to fix them later.
- throwaway2016a 9y agoI value your opinion but I have had a very different experience. 1. I agree. First few attempts at DynamoDB tables were a disaster. But once you get used to them you don't have to change schemas and then it is not an issue. Note, you can add and indexes, just not the primary one. 2. Not so. It's not easy but it's far from impossible or painful. I've had my fair share of pain migrating SQL databases too. ... Export to S3 ... Grab the S3 backup and write an ETL to format and load it ... Put in place a stream hook to keep your newly loaded database up to date ... Switch over your data abstraction / model layer (you did use one of those right?) 3. You can also choose your indexes wisely. How is this different than a normal database? Most of my DynamoDB using apps I run for 100% free and I've scaled to hundreds of thousands of users for less than the cost of a small Postgres server. Just keep a model layer between you and Dynamo to avoid vendor lockin and you'll be fine.