top | item 42679090

(no title)

vamega | 1 year ago

Relational databases are not the preferred storage mechanism at Amazon. If a team wants to use an OLTP relational database it’s possible that it will be a decision they will need to defend at any kind of design review.

Of course there are relational databases running OLTP workloads, but it’s far away from the norm. There was a program a while ago to shift many RDBMS systems onto something else.

discuss

order

emmelaich|1 year ago

So they do joins in code rather than SQL? Wouldn't that risk hiding scaling problems?

grogenaut|1 year ago

It can but it's usually more obvious what's happening with code and how to fix it. Amazon wants you to think about the scaling issues while building as they don't want to lose the area under the customer curve on the far right.

The theory is that with rdbms you have a magical box that scales vertically until it doesn't. And when it doesn't all you can do is scale back the customers until you fix it with sharding or a re-architecture. Basically you tend to hang yourself with indexes and transactions. Also generally when an RDBMS fails it fails down to like 30% throughput.

scarface_74|1 year ago

Look up design patterns in DynamoDB. If you know your access patterns and you often do with well defined microservices. You don’t need to do joins.

yazaddaruvala|1 year ago

Amazon Retail has multiple systems to allow you to basically use SQL across databases (eg Datapath).

I’m not sure about AWS.