Hacker News new | ask | show | jobs
by icedchai 1408 days ago
You need to use the right tool for the right job. I know people using DynamoDB for a tiny dataset that would easily fit in sqlite (or any other DB) running on a $20/month VPS. That wouldn't be serverless, of course, so it's a no-go.
4 comments

Not sure what you mean by "tiny dataset" by DynamboDB is great for something with 100 or a few thousand items. Especially if these are only occasionally accessed but need to be shared.

Half the time it'll be in the Free Quota or perhaps $1/month. Certainly cheaper than creating an instance.

I’m basically talking a couple gigabytes of data. Something non-trivial but also doesn’t need a massive distributed DB.
> I’m basically talking a couple gigabytes of data.

You'd be happy to learn that DynamoDB's free tier covers DBS up to 25GB.

https://aws.amazon.com/dynamodb/

> I know people using DynamoDB for a tiny dataset that would easily fit in sqlite (or any other DB) running on a $20/month VPS.

I have to say your comment comes off as very ignorant. If you are a AWS customer then you either pick any of the database offerings, such as DynamoDB or Amazon RDS, or run your own database on a EC2 instance. Except running your own db in EC2 can cost around the same as running Amazon RDS, and DynamoDB has a very roomy free tier.

Therefore the piece of info you somehow left out is that DynamoDB is free for "a tiny dataset", and you do not have to manage anything at all with DynamoDB too.

I already know all that. I’ve been using AWS for over 10 years. I’ll just say I prefer the relational model when starting out and leave it there. I’ve had good luck with RDS.

I’ve seen people paint themselves into a corner by screwing up their DDB keys too many times and having to export and reload all their data. If you don’t think ahead about your access patterns this is very easy to do. Nobody thinks ahead with “agile.” You’re better off starting with SQL and migrating things to Dynamo where it makes sense.

That same dataset cloud then be modeled and stored in DynamoDB for even leas than that, right?
Yeah I have no idea what icedchai is talking about, DynamoDB free tier is super generous https://aws.amazon.com/dynamodb/pricing/on-demand/. It's going to cost you nothing until you have enough customers to afford to pay for it. Correctly modelling single table design on the other hand ...
I use it for lots of stuff like this. The pay-per-use/on demand pricing makes it incredibly cheap even if I get occasional bursts of activity. With much better availability than SQLite running on a single VPS.
1) Latency. 2) Ease of data manipulation.

Using Dynamo for a small data set is overkill. You can manipulate the data way faster on a local server, where it is basically in memory (disk cache), and not have to deal with any modelling issues.

I guess some people like the DynamoDB API? I find it incredibly awkward.

You can be even faster if you store data in client. Though different use case different solutions.
> I know people using DynamoDB for a tiny dataset that would easily fit in sqlite (or any other DB) running on a $20/month VPS.

Depending on the use cases, there are plenty of reasons you might want to go down a NoSQL route other than price - schemaless makes it much easier and quicker to hack together new projects for instance (and more fun too!)