How to Choose a Database on AWS
Вставка
- Опубліковано 7 чер 2024
- SQL or NoSQL? MongoDB or DynamoDB? AWS has a lot of database options. Get help deciding which database solution to choose using my simple flowchart.
Looking to get hands on experience building on AWS with a REAL project? Check out my course - The AWS Learning Accelerator! courses.beabetterdev.com/cour...
🎉 SUPPORT BE A BETTER DEV 🎉
Become a Patron: / beabetterdev
📚 MY RECOMMENDED READING LIST FOR SOFTWARE DEVELOPERS📚
Clean Code - amzn.to/37T7xdP
Clean Architecture - amzn.to/3sCEGCe
Head First Design Patterns - amzn.to/37WXAMy
Domain Driver Design - amzn.to/3aWSW2W
Code Complete - amzn.to/3ksQDrB
The Pragmatic Programmer - amzn.to/3uH4kaQ
Algorithms - amzn.to/3syvyP5
Working Effectively with Legacy Code - amzn.to/3kvMza7
Refactoring - amzn.to/3r6FQ8U
🎙 MY RECORDING EQUIPMENT 🎙
Shure SM58 Microphone - amzn.to/3r5Hrf9
Behringer UM2 Audio Interface - amzn.to/2MuEllM
XLR Cable - amzn.to/3uGyZFx
Acoustic Sound Absorbing Foam Panels - amzn.to/3ktIrY6
Desk Microphone Mount - amzn.to/3qXMVIO
Logitech C920s Webcam - amzn.to/303zGu9
Fujilm XS10 Camera - amzn.to/3uGa30E
Fujifilm XF 35mm F2 Lens - amzn.to/3rentPe
Neewer 2 Piece Studio Lights - amzn.to/3uyoa8p
💻 MY DESKTOP EQUIPMENT 💻
Dell 34 inch Ultrawide Monitor - amzn.to/2NJwph6
Autonomous ErgoChair 2 - bit.ly/2YzomEm
Autonomous SmartDesk 2 Standing Desk - bit.ly/2YzomEm
MX Master 3 Productivity Mouse - amzn.to/3aYwKVZ
Das Keyboard Prime 13 MX Brown Mechanical- amzn.to/3uH6VBF
Veikk A15 Drawing Tablet - amzn.to/3uBRWsN
📚 References:
Getting started with AWS: • Introduction to AWS | ...
☁Topics covered include:
AWS RDS
AWS Elasticache
AWS DynamoDB
AWS DocumentDB
AWS Cloudsearch
🌎 Find me here:
Twitter - / beabetterdevv
Instagram - / beabetterdevv
Patreon - Donations help fund additional content - / beabetterdev
#AWS
#Databases
#SQL
#NoSQL
This video helped me land a new job during a system design interview!! Thank you!!!
You saved lot of my time to read through the docs for each and find the difference 🙏 thank you!
Great explanation. The things I was wondering for years, you solved in 6 mins ❤. Thanks a lot
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
Very well structured summary!
Thanks Farzad. Hope you are having a great weekend.
Amazing explanation, no bs. You got a new follower
Dude that video made everything in my head click you are a legend!
You're very welcome David!
Great summary, thanks!
You're very welcome!
Awesome - Thanks for making!!
You're very welcome!
Great video and well explained with a workflow.
Thank you, really good guidance right there.
You're very welcome Cemmer!
I highly appreciate the way you have explained it all, lots of love from India
My pleasure 😊
Current Database services in AWS simplified 😉. Thanks for quick summary!
Glad it was helpful!
very good explanation
It's clear, thank you
You're welcome!
Thank you!
Welcome!
very helpful, thanks!
You're very welcome!
Truly helpful !
Videos of this concept give insights more than I have ever seen .Respect !
Can we integrate AWS Mongodb with onprem Oracle AVDF ?
Quick Question, isnt RDS a managed service? Why does the arrow for unmanaged loops to RDS?
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
Well explained in a layman way
Thank you!
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 vid on Traversy media ! Watching you now.
Welcome aboard!
Would you be kind enough to share the flowchart link?
great videos
Thank you chris!
Where do RedShift and AWS Timeseries fall into?
useful video
Glad it was able to help!
Can you share the scheme?
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.
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
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
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).
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!
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 😅
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!
Really useful! Thanks
You're welcome!
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!
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 ?
Meanwhile Oracle 👋👋
Summary: choose Dynamodb ;p
Hey now! Not so fast! ;)