Hacker News new | ask | show | jobs
by eropple 3183 days ago
I would be very, very careful of calling anything a company of such very sharp people does a "joke."

One of my prior gigs was pushing a billion data points a day through DynamoDB without it breaking a sweat. We were paying for it, too--but it was there and it worked.

2 comments

While I don't think Dynamo is a joke, pushing 1bn data points per day through a database system is not much. Given you have enough storage, a postgresql instance on a $50/month dedicated server can achieve that easily (from experience). You have to pay more attention to the data structure (unless you just put everything in jsonb columns) but will probably save 90% on operational costs.
Anything that can go to dynamo, can go to s3, especially at that volume. And you get proper multi region replication, read/write capacity based on actual usage and instant scaling.

I stay by my comment that dynamodb is a joke wrapped in thick layer of marketing crap.

> Anything that can go to dynamo, can go to s3, especially at that volume.

Please think very carefully before architecting your app with S3 as a makeshift-database. S3 would be a valid option if you don't care about millisecond latency; don't require safe updates; never expect your application to scale past 100 requests per second; and don't have multiple query patterns for the same data (unless you're okay with several redundant copies of the same dataset). Consider just about any other database solution if this does not hold true.

I am going to say that I did this, and will add "are willing to pay some insane amount of money to store and manipulate your data" (this was a mistake that cost me at least one if not two hundred thousand dollars).
Could you explain more please about what you mean?
If you think you can replace Dynamo with S3, your application didn't need Dynamo in the first place. There appears to be some severe Dunning-Kruger at work here.
You cannot replace DynamoDB with S3. S3 can not perform atomic and strongly consistent operations.

Edit: as other commenters have noted, you can perform a read after write on a new key.

S3 is atomic, but you are correct that it is not strongly consistent.
I am pretty sure S3 is atomic. That is, you can't get a transitory state. Your object either updated/PUT or it didn't AKA read after write consistency.
Only if you haven't already asked for that new key. :)