236/5000 Based on the fact that dynamodb is a key value databse, it works well for particular cases but for more advanced query scenarios such as paginated queries, ordering by several fields or aggregations, I would choose documentdb
But ElasticCache is used for performance. It is a cache for databases. It can be used for an rds database to avoid the query go to the engine and also reduce latency. I think this is important to mention. At least it is useful for data that rarely is updated. If we have data that changes very frequently, then read replicas is the way to go.
Hi Alejandro. NoSQL stores like Redis are often used as a database in some applications which is why I suggested it. I wouldn't suggest it due to durability concerns but it may be a good option for some.
Keep it size and industry needs based: - Mariah DB for transactional information and small business. - AWS Redshift for large scale reliable variable SQL needs. - Dynammo DB for choatic information using NoSQL (key value or document).
Great explanation but I was surprised at the very end, where Elastic Cache is suggested as persistence layer. The cache doesn't guarantee data durability. The application will lose its data if the underlying infrastructure/hardware changes.
Hey Amith, Fair point. I think my comment was rooted in the fact that some caching services (Redis comes to mind which is supported on Elasticache) can be configured to persist state to disk. Check out the third paragraph in this link: redis.io/topics/introduction I agree with you in principle though. Caches in the traditional sense should just be used as a performance optimization and not as a reliable datastore that guarantees ACID. I think I should have stressed this point in the video. Daniel
Is it a bad idea to use Dynamo DB or Aurora Serverless for a prototype or a hobby project? Dynamo DB's storage is free for the first 25 GB and $0.25 per GB-month thereafter. With Aurora Serverless, you only pay for the database capacity, storage, and I/O when it is active. When your prototype app or hobby project is small, I think both services can be suitable because they are economical for small apps that don't have a lot of traffic. Am I missing something?
Hi Hiroki, Is definitely possible to use DynamoDB and stay within the free tier / always free on AWS. Be careful with Aurora Serverless V2, though. It only allows you to scale down to 0.5 Aurora Capacity Units (and not zero, unless you manually disable the cluster). This can cost around $40 USD / month. But I agree, both are viable for small hobby projects as well.
Good explanation of RDS. But what about self hosted Postgres on EC2 instance ? Is it cost effective solution for small project or startup? Or it is not as reliable as RDS is?
Hi Dmytro, Generally I would not suggest hosting your own Postgres instance on EC2. The amount of maintenance and headaches you'll deal with is just not worth the minor cost benefit of doing it yourself. Using RDS Postgres is a much easier process. Additionally many recurring maintenance tasks are automatically handled for you. For modern applications I would suggest defaulting to using RDS unless you have a compelling reason to not use it. Hope this helps, Daniel
Is there any way I can get access to this flowchart? Its very well done and would be a great resource to explain my backend choices to my non-technical partners. Appreciate your help, and amazing video!:)
Hi Akshay, I did some digging and unfortunately couldn't find the flow chart. I think your best bet is to take a screenshot when I am zoomed out from the vid. Sorry about that. Thanks for watching!
This video helped me land a new job during a system design interview!! Thank you!!!
236/5000
Based on the fact that dynamodb is a key value databse, it works well for particular cases but for more advanced query scenarios such as paginated queries, ordering by several fields or aggregations, I would choose documentdb
Great explanation. The things I was wondering for years, you solved in 6 mins ❤. Thanks a lot
You saved lot of my time to read through the docs for each and find the difference 🙏 thank you!
I highly appreciate the way you have explained it all, lots of love from India
My pleasure 😊
Dude that video made everything in my head click you are a legend!
You're very welcome David!
Great video and well explained with a workflow.
Amazing explanation, no bs. You got a new follower
But ElasticCache is used for performance. It is a cache for databases. It can be used for an rds database to avoid the query go to the engine and also reduce latency. I think this is important to mention. At least it is useful for data that rarely is updated. If we have data that changes very frequently, then read replicas is the way to go.
Hi Alejandro.
NoSQL stores like Redis are often used as a database in some applications which is why I suggested it. I wouldn't suggest it due to durability concerns but it may be a good option for some.
Awesome - Thanks for making!!
You're very welcome!
Great summary, thanks!
You're very welcome!
Keep it size and industry needs based:
- Mariah DB for transactional information and small business.
- AWS Redshift for large scale reliable variable SQL needs.
- Dynammo DB for choatic information using NoSQL (key value or document).
very good explanation
Current Database services in AWS simplified 😉. Thanks for quick summary!
Glad it was helpful!
Very well structured summary!
Thanks Farzad. Hope you are having a great weekend.
Thank you, really good guidance right there.
You're very welcome Cemmer!
Great explanation but I was surprised at the very end, where Elastic Cache is suggested as persistence layer. The cache doesn't guarantee data durability. The application will lose its data if the underlying infrastructure/hardware changes.
Hey Amith,
Fair point. I think my comment was rooted in the fact that some caching services (Redis comes to mind which is supported on Elasticache) can be configured to persist state to disk. Check out the third paragraph in this link: redis.io/topics/introduction
I agree with you in principle though. Caches in the traditional sense should just be used as a performance optimization and not as a reliable datastore that guarantees ACID. I think I should have stressed this point in the video.
Daniel
It's clear, thank you
You're welcome!
Well explained in a layman way
Thank you!
Thank you!
Welcome!
useful video
Glad it was able to help!
Quick Question, isnt RDS a managed service? Why does the arrow for unmanaged loops to RDS?
what about geo queries ????
which db is best for geo spatial ???
I'm not an RDS expert, but I believe PostGres is the most popular for spatial data processing.
Awesome vid on Traversy media ! Watching you now.
Welcome aboard!
very helpful, thanks!
You're very welcome!
Truly helpful !
Videos of this concept give insights more than I have ever seen .Respect !
Would you be kind enough to share the flowchart link?
Where do RedShift and AWS Timeseries fall into?
great videos
Thank you chris!
Can we integrate AWS Mongodb with onprem Oracle AVDF ?
Add neptune too in relationals -)
Good point Prath! I thought that Neptun was too specialized of a product for this video but agree it is useful in some use cases!
Really useful! Thanks
You're welcome!
What about DynamoDB that comes with AWS Amplify for prototyping?
Exact same thing, just it's easier to get started
Not even the same thing in the slightest 😅
Why automatically use elasticache if you don’t need relations or transactions? Isn’t it more expensive than RDS or dynamoDb?
Maybe but is great for searching. Imagine Netflix for example
Is it a bad idea to use Dynamo DB or Aurora Serverless for a prototype or a hobby project?
Dynamo DB's storage is free for the first 25 GB and $0.25 per GB-month thereafter. With Aurora Serverless, you only pay for the database capacity, storage, and I/O when it is active.
When your prototype app or hobby project is small, I think both services can be suitable because they are economical for small apps that don't have a lot of traffic. Am I missing something?
Hi Hiroki,
Is definitely possible to use DynamoDB and stay within the free tier / always free on AWS. Be careful with Aurora Serverless V2, though. It only allows you to scale down to 0.5 Aurora Capacity Units (and not zero, unless you manually disable the cluster). This can cost around $40 USD / month.
But I agree, both are viable for small hobby projects as well.
@@BeABetterDev I see. Thank you so much!
Can you share the scheme?
Good explanation of RDS. But what about self hosted Postgres on EC2 instance ? Is it cost effective solution for small project or startup? Or it is not as reliable as RDS is?
Hi Dmytro,
Generally I would not suggest hosting your own Postgres instance on EC2. The amount of maintenance and headaches you'll deal with is just not worth the minor cost benefit of doing it yourself.
Using RDS Postgres is a much easier process. Additionally many recurring maintenance tasks are automatically handled for you. For modern applications I would suggest defaulting to using RDS unless you have a compelling reason to not use it.
Hope this helps,
Daniel
@@BeABetterDev thank you for reply
Dynamo db does not support transaction. Notnsure why you mentioned like that. It supports maximum upto 25 writes in a transaction ..
aws.amazon.com/blogs/aws/new-amazon-dynamodb-transactions/
did you intentionally forgot Redshift ?
Is there any way I can get access to this flowchart? Its very well done and would be a great resource to explain my backend choices to my non-technical partners.
Appreciate your help, and amazing video!:)
Hi Akshay, I did some digging and unfortunately couldn't find the flow chart. I think your best bet is to take a screenshot when I am zoomed out from the vid. Sorry about that.
Thanks for watching!
Meanwhile Oracle 👋👋
Summary: choose Dynamodb ;p
Hey now! Not so fast! ;)