And how to fix them 👇
And how to fix them 👇
You can build pretty much anything with just these 5 AWS services:
👉 DynamoDB
👉 API Gateway
👉 Lambda
👉 S3
👉 Cognito
That's all you really need fundamentally.
You can build pretty much anything with just these 5 AWS services:
👉 DynamoDB
👉 API Gateway
👉 Lambda
👉 S3
👉 Cognito
That's all you really need fundamentally.
The sort key 🔑
The sort key 🔑
Every item in a table requires a partition key.
Every item in a table requires a partition key.
These are:
1️⃣ Partition Key Cardinality
2️⃣ Hierarchical Data Modelling
3️⃣ The Single Table Design
These are:
1️⃣ Partition Key Cardinality
2️⃣ Hierarchical Data Modelling
3️⃣ The Single Table Design
Here's my typical answer:
It depends.
Besides for being cliché, there's 3 specific answers 👇
Here's my typical answer:
It depends.
Besides for being cliché, there's 3 specific answers 👇
Many developers treat DynamoDB like a relational database and wonder why it doesn't scale.
Learn these hands-on concepts and you can achieve very real, scalability with your DynamoDB tables
Many developers treat DynamoDB like a relational database and wonder why it doesn't scale.
Learn these hands-on concepts and you can achieve very real, scalability with your DynamoDB tables
It can be quite hard to understand digital systems, yet very easy to understand Real world systems.
It can be quite hard to understand digital systems, yet very easy to understand Real world systems.
It's my go-to for typical crud apps
✅️ AWS API Gateway
✅️ AWS Lambda
✅️ Amazon DynamoDB
✅️ AWS Cognito
✅️ Amazon S3
It's my go-to for typical crud apps
✅️ AWS API Gateway
✅️ AWS Lambda
✅️ Amazon DynamoDB
✅️ AWS Cognito
✅️ Amazon S3
I was surprised and asked them to run through their architecture.
Turns out their serverless pipeline was all roses until they said they were running Scans against their DynamoDB tables.
I was surprised and asked them to run through their architecture.
Turns out their serverless pipeline was all roses until they said they were running Scans against their DynamoDB tables.
Let me break down the why behind DynamoDB.
Let me break down the why behind DynamoDB.
Here's why:
(You're wasting RCUs and money)
Here's why:
(You're wasting RCUs and money)
When you understand the anti-patterns and what to avoid, you immediately get a little better.
Here are the 6 anti-patterns I have learned to avoid with DynamoDB:
When you understand the anti-patterns and what to avoid, you immediately get a little better.
Here are the 6 anti-patterns I have learned to avoid with DynamoDB:
Did you know you can set TTLs to your objects (files) in S3?
This saves you in storage costs (at scale).
I recently built an image processing microservice.
Did you know you can set TTLs to your objects (files) in S3?
This saves you in storage costs (at scale).
I recently built an image processing microservice.
As a database engineer your job is to choose the tradeoff that fits your business/application's needs.
Developers choose DynamoDB for performance and scalability, but it too has its tradeoffs.
Here are 5 DynamoDB tradeoffs:
As a database engineer your job is to choose the tradeoff that fits your business/application's needs.
Developers choose DynamoDB for performance and scalability, but it too has its tradeoffs.
Here are 5 DynamoDB tradeoffs:
You might be doing it the wrong way...
I've seen devs do a get of the value and then use that value to increment the value.
You might be doing it the wrong way...
I've seen devs do a get of the value and then use that value to increment the value.
Compared to other NoSQL databases (Firebase, MongoDB, Cassandra), that have 1-16MB limits, 400KB seems meager.
But here's 2 things I learned that make this a complete non-problem:
Compared to other NoSQL databases (Firebase, MongoDB, Cassandra), that have 1-16MB limits, 400KB seems meager.
But here's 2 things I learned that make this a complete non-problem:
Understanding how DynamoDB charges you is essential to cutting your costs.
Understanding how DynamoDB charges you is essential to cutting your costs.
Both GSIs and LSIs are ways to query your table differently.
They enable new access patterns.
However, they have different use cases 👇
Both GSIs and LSIs are ways to query your table differently.
They enable new access patterns.
However, they have different use cases 👇
Here's some tips on how I use them for every database table I design 👇
Here's some tips on how I use them for every database table I design 👇
"From Zero to Hero with DynamoDB" 🦸♂️
It's probably the most comprehensive article I've written on DynamoDB.
I explain all the basic and advanced concepts you need to know 👇
"From Zero to Hero with DynamoDB" 🦸♂️
It's probably the most comprehensive article I've written on DynamoDB.
I explain all the basic and advanced concepts you need to know 👇
It can also be very cost efficient but only if you know how to optimize for costs.
After several years of working with serverless functions, I've made a habit of these best practices & tips 👇
It can also be very cost efficient but only if you know how to optimize for costs.
After several years of working with serverless functions, I've made a habit of these best practices & tips 👇
Here are some cost optimizations I've learned over that time 👇
Here are some cost optimizations I've learned over that time 👇
DynamoDB is incredibly powerful when used right, but it demands a shift in how you think about data modeling.
Here are 5 best practices:
DynamoDB is incredibly powerful when used right, but it demands a shift in how you think about data modeling.
Here are 5 best practices: