Some notes on DynamoDB 2022 paper
_.0xffff.me
_.0xffff.me
The scale that DDB operates at is mind-boggling. Where would someone even start when designing a system that can handle nearly 100 million requests per second?
“During Prime day” implies this is all read dominated traffic. The RCUs are all going to be provisioned so there are appropriate replicas pre-created in the correct regions.
Disclaimer: Used to work at Amazon.
>Over the course of Prime Day, these sources made trillions of calls to the DynamoDB API. DynamoDB maintained high availability while delivering single-digit millisecond responses and peaking at 105.2 million requests per second. [0]
[0] https://aws.amazon.com/blogs/aws/amazon-prime-day-2022-aws-f...
Anyone who trivializes the complexity of actually operating such a system should be forced to build and operate it themselves, and be held to account if it fails.
Please post the link to any GitLab/GitHub you own where you showcase running "a few thousand instances" of anything at all.
In the case of DynamoDB, it's just a streak of use-case-appropriate sharding techniques, and a whole lot of scalability elsewhere :P
I would imagine a good chunk of the DynamoDB team had to work on the requirements side of engineering, or at the very least it took a lot of research into the matter of how DynamoDB would be used.
HTTPS://GitHub.com/samsquire/hash-db
It's a trie in front of a HashMap.
Thank you! The code I tried to keep simple and I tried to keep it small. I'm trying to do the most basic thing that shall work.
I want to add document storage and unify the storage mechanism so the database can be multimodel like OrientDB and ArrangoDB. So graphs should be stored same way as documents and SQL.
Currently the graph data model is separate from the SQL data model so you cannot query a graph as SQL or vice versa.
I didn't understand this. Who is the author referring to, and what is he implying?
While underscores are valid hostnames per the DNS spec, they are not valid for hostnames in URLs. Firefox honors the HTTP spec and fails the request, but Chrome seems more lenient and displays the page.
To the author. Please put your site on a valid hostname.
Edit: Better explanation: https://stackoverflow.com/a/2183140
I just successfully opened this link in Firefox 103.
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.
Half the time it'll be in the Free Quota or perhaps $1/month. Certainly cheaper than creating an instance.
You'd be happy to learn that DynamoDB's free tier covers DBS up to 25GB.
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!)
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’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.
Exactly. But that's not how he paints it, I have seen him bashing RDBMs as been a thing of the past and his promoted way of data modeling and "new" database technology is how companies should start today or be moving to.
DDB absolutely shines when you have to scale. I mean, have you ever tried setting up a cluster of SQL servers. It's a nightmare.
DDB is breezingly easy, as long as you know how to model your data effectively.
It's also impossible to have perfect knowledge of access patterns.
Yeah, good luck beating DDB on that one.
Years later some people moved it back to SQL and made it cost 2x as much...
Bad engineering is possible with all technologies.
While there are pros like ease of scale and all, the biggest was to tell product and higher-ups that the out of place feature with groupbys was simply not possible and there by ending the whole discussion.