AWS Aurora VS DynamoDB

RDS Aurora is a popular SQL based Database Engine offered by AWS. DynamoDB is the competitor, a NoSQL database engine that enables limitless scaling potential with excellent performance. Wondering what the difference is between them and which one is right for your new project? Then this is the video for you.
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...
01:05 What is RDS and Aurora?
06:23 What is DynamoDB?
11:23 The Four Quadrants - Aurora
20:23 The Four Quadrants - DynamoDB
26:34 The Difference of Mental Models + Usage Example
33:20 When to use what - Aurora vs DynamoDB
DynamoDB Playlist - • AWS DynamoDB Guides - ...
Horizontal vs Vertical Scaling - • System Design: What is...
🎉SUPPORT Daniel @ 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
🌎 Find me here:
Twitter - / beabetterdevv
Instagram - / beabetterdevv
Patreon - Donations help fund additional content - / beabetterdev
#AWS
#Aurora
#DynamoDB

Пікірлер: 105

  • @noahlomax1
    @noahlomax13 жыл бұрын

    You're an amazing person! I know you answered my question about the differences in Amazon Aurora and Dynamo DB in another video response of mine, but to take it a step further and create a video that thoroughly breaks down the differences and how and when they are used is literally something that I had no idea I wanted. I truly want to thank you for making difficult study undertakings so great for the average Joe. Please keep these videos coming as I'm watching as many as possible to make sure I can not only pass the test but to work in this field.

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    Thanks Noah! This video was inspired by your earlier question, and I hope you enjoyed the content! This comment means a lot to me and is part of the reason I find making videos so enjoyable. I truly appreciate your kind words and continued support. Stay safe during these uncertain times! Thanks, Daniel

  • @noahlomax1

    @noahlomax1

    3 жыл бұрын

    @@BeABetterDev Daniel, the inspiration is definitely mutual. I really appreciate you helping me along my AWS path. Not only are your videos relevant to the certification test, but for life. I will continue to watch and learn even after passing the certification. I'm truly staying safe and I pray and hope the same for you and your family, Daniel. Thank you again.

  • @timmyzheng6049
    @timmyzheng60492 жыл бұрын

    Thank you for uploading this video, the session is well organized and clean.

  • @xVersioNz
    @xVersioNz2 жыл бұрын

    i can tell you put a lot of effort into this video! It was done perfectly, thank you!

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Thanks Harry!

  • @manishmaharjann
    @manishmaharjann Жыл бұрын

    Just a appreciation for making these sort of video. Thank you.

  • @srb1855
    @srb18552 жыл бұрын

    This was an exceptional video. The explanation using the four quadrants was particularly useful - especially for creating a mind map.

  • @namritp
    @namritp Жыл бұрын

    Watched several videos to get concept of RDS vs Aurora vs Aurora Postgres, but none explained the way you did ! You have the ability to explain clearly in simple yet powerful way

  • @abdulazeez.98
    @abdulazeez.982 жыл бұрын

    Excellent explanation. I finally understood the idea of DynamoDB. Thank you very much

  • @Nashte.kibaat
    @Nashte.kibaat Жыл бұрын

    very nice video sorted and elaborate explanation .one stop for RDS vs Dynamo DB Thanks so much for sharing this .

  • @ridaali9499
    @ridaali9499 Жыл бұрын

    I only get cloud concepts when you explain them! Thank you so much!!

  • @aminatashi
    @aminatashi3 жыл бұрын

    Really liked the way you presented it! Awesome!

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    Thanks Amin! Glad you enjoyed :)

  • @nagu1080
    @nagu10802 жыл бұрын

    Deserves million views. Very intuitive and practical reasoning. Thanks!

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Thanks Nagu!

  • @julianjacobs8956
    @julianjacobs8956 Жыл бұрын

    didn't expect to stick around for the Dynamo part but it was a great video :)

  • @BeABetterDev

    @BeABetterDev

    Жыл бұрын

    Thank you!

  • @hasnainahmadtanim1190
    @hasnainahmadtanim1190 Жыл бұрын

    Wow! brief explanation. Thanks a lot.

  • @sanjeevkumaryadav9154
    @sanjeevkumaryadav91542 жыл бұрын

    Thanks for explaining in detail the use cases, it helped me to decode for my own project, however, i feel if you can also talk about transaction support for both DB, it will be much helpful.

  • @andrewsouthpaw
    @andrewsouthpaw2 жыл бұрын

    The comparison of the different mental models and usage was brilliant. A perfect, simple look at the fundamental difference.

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Thanks so much Andrew and glad you enjoyed!

  • @karimkhan9941
    @karimkhan99412 жыл бұрын

    Daniel, you're a legend! Your video paved the way for us to make a decision on which data store to go for given our use case. Please keep up the good work and continue to post world-class quality videos like this one!

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Thanks so much for the kind words Karim!

  • @stillmattwest
    @stillmattwest Жыл бұрын

    Great overview, thanks!

  • @ChanceMinus
    @ChanceMinus Жыл бұрын

    Illuminating. Thank you.

  • @alekshernandez2
    @alekshernandez210 ай бұрын

    Excellent video! Congrats

  • @jazzsha
    @jazzsha3 жыл бұрын

    Very well explained. Thank you!!

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    You're very welcome Jazir!

  • @assafcohen10
    @assafcohen103 жыл бұрын

    super clear and super professional! thank you!

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    You're very welcome Assaf!

  • @sakarsr
    @sakarsr3 жыл бұрын

    Thank you for this video. It really helped us a lot in deciding Aurora and DDB. Make a Cost analysis on this both.

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Glad I could help Sakar!

  • @PaulEllisBIGDATA
    @PaulEllisBIGDATA2 жыл бұрын

    Thank you!!! Appreciate your time and effort.

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    You're very welcome Paul!

  • @celiagaylard489
    @celiagaylard4892 жыл бұрын

    Practically understandable, thank you.

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    You're very welcome Celia!

  • @alturusatish
    @alturusatish3 жыл бұрын

    Very well explained. Great content.

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    Glad it helped!

  • @alibarznji2000
    @alibarznji20002 жыл бұрын

    This channel is underrated

  • @asfahanansari4669
    @asfahanansari4669 Жыл бұрын

    Excellent explanation

  • @ralfrolfen5504
    @ralfrolfen5504 Жыл бұрын

    33:01 I'd really like to hear you though/experience on the following model change of the table below: Columns: CustomerId, OrderId, OrderDetails ( shipping name, shipping address, ...) If you really need customer details, you can get them through the CustomerId in the "CustomerDetails" table. If I understand your explanation correctly, DynamoDB (or more general /Key-value databases/) are very good for record data, you would have written down on paper and archive, in former times (so stuff, that doesn't change in bulk, like "customer details"). And again, thank you very much for all the effort you put in all your videoS! They are helping a great deal!

  • @arkajitmondal7320
    @arkajitmondal73203 жыл бұрын

    You should have considered cost in your explanation as well which is a pretty important factor in deciding the type of database to choose depending upon the size of storage and also the number of read/writes. I have seen many forums where many said even though dynamodb may look very cheap initially and one might feel like it's the ultimate solution for all your database problems, reads/writes can get expensive when storage increases as it requires multiple indexes and quering through large documents resulting in larger RRU/WRU or RCU/WCU.

  • @Minecraftzocker766
    @Minecraftzocker7662 жыл бұрын

    Great video! Thank you!

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    You bet!

  • @SwapanD
    @SwapanD2 жыл бұрын

    Brilliant. Superb. Hats off.

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Thanks so much!

  • @XLpacman805
    @XLpacman8056 ай бұрын

    Great video

  • @nadaralpenidze9549
    @nadaralpenidze95493 жыл бұрын

    Great video. Thanks

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    Thanks Nadar

  • @imyashkale
    @imyashkale Жыл бұрын

    Your channel is awesome.

  • @ZAXSMAXBY
    @ZAXSMAXBY3 жыл бұрын

    Thank you so much!!!

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Thanks so much Zach!

  • @shikhardev1
    @shikhardev12 жыл бұрын

    Really amazing video! Just a question when you are modelling the DynamoDB table at around @30:00, would it then make sense to split the information into 2 separate tables? A table with CustomerId as the partition key and OrderId as the sort key to answer the question "I want to be able to access all OrderIDs for a customer by their CustomerId", and another table with CustomerId as a partition key and one of other details as a sort key to find / update customer details?

  • @davidlean8674
    @davidlean8674 Жыл бұрын

    Is anyone else having flashbacks to the early '80's. Exactly the same design points were discussed when choosing between the Network/Heirachical DB's people knew & this new-fangled Relational Technology. ie: IMS/CODASYL vs Ingres/System R/DB2/Oracle. It seems we've come full circle. New names but similar technical tradeoffs.

  • @BeABetterDev

    @BeABetterDev

    Жыл бұрын

    Hi David, I was actually born in the 80s! Guess I haven't been around enough to see the first iteration. You've given me a lot to read about. Cheers. Daniel

  • @bigstones84

    @bigstones84

    Жыл бұрын

    @@BeABetterDev I've read about this in a wonderful book called "Designing Data Intensive Applications" by Martin Kleppmann. Indeed he reports that the first databases where hierarchical, and RDB's were introduced also to solve the problem of duplication of data in the hierarchies. Honestly, it's probably the most beautiful technical book I've read.

  • @pauldittus
    @pauldittus Жыл бұрын

    Super helpful video. Question: Which DB would you recommend for WordPress?

  • @toshyamg
    @toshyamg2 жыл бұрын

    Great video 👍... Great content

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    You're very welcome

  • @naweedsyed1556
    @naweedsyed15562 жыл бұрын

    Amazing video

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Thank you Naweed!

  • @RafaganAbreu
    @RafaganAbreu3 жыл бұрын

    Very nice video

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    Thanks Rafagan! Glad you enjoyed

  • @maazm4722
    @maazm47223 жыл бұрын

    Hi , are u going to make a vid on aurora 2 ?

  • @akin242002
    @akin2420022 жыл бұрын

    If you haven't done a video on it yet, could you do a video on Mariah DB vs Aurora DB.

  • @ralfrolfen5504
    @ralfrolfen5504 Жыл бұрын

    What tool do you use for the presentation?

  • @tn9753
    @tn97532 жыл бұрын

    Thank you Daniel for the content and insight. Would you use DynamoDB for Cognito (User ID & Auth)?

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Hey TN, I would definitely consider DynamoDB for my backend and cognito for my authn/authz layer. In fact, this exact pattern is part of an application I am currently building right now at work! Daniel

  • @visvajeet5609
    @visvajeet56092 жыл бұрын

    Amazing work. 👏 Which one is best suitable for social media app?

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Hi Visva, This really depends - I think starting with Aurora is always a fine choice. You can always migrate afterwards if you scaling needs evolve. Hope this helps.

  • @galeop
    @galeop2 жыл бұрын

    The actual comparison starts at 26:36 But great explanations :-) I have a few questions: 1) Will I get significantly improved performances even if I choose DynamoDB for Transactions ? 2) By "access pattern", do you also mean for writing data, or only reading data ? 3) DynamoDB seems to complicate things quite a lot, as one almost never knows how access patterns will change, and this de-normalization introduces complexity. But I would argue that for micro-services, it is still a good fit, as they have a narrow and clearly defined scope, and you rarely add new entities to your microservice's data model.

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Hi Galeop, Good questions. For #1 - Its really hard to say. It would depend on the structure of your data and how many records need to get updated to perform the transaction. There's a great performance analysis article on Dynamo transactions here: www.alexdebrie.com/posts/dynamodb-transactions-performance/ For #2 - Access pattern typically refers to reading your data. For #3 - Dynamo does make things a bit more complicated when compared to traditional NoSQL or SQL databases. There are some tools such as GSI's that help you adapt to new patterns, but it can be cumbersome if faced with a brand new access pattern that just wont 'work' with your Dynamo table. I do agree though they are well suited for microservices with well defined models and responsibilities. For that, dynamo is a great choice. Hope this helps

  • @galeop

    @galeop

    2 жыл бұрын

    Thank you very much for your answers

  • @tom_zanna
    @tom_zanna3 жыл бұрын

    Is Aurora a fork of open source DBMSs deeply integrated in the AWS ecosystem or a fully proprietary DBMS?

  • @miluna94
    @miluna942 жыл бұрын

    Is it possible to use something like a unique field in dynamodb?? Does that field need to be a PK/SK/GSI??

  • @pacoluna7969
    @pacoluna7969 Жыл бұрын

    Hi! You think is a good idea to store all information related to an APP/SAAS in DynamoDB? I'm building it and I'm thinking of host the API in lambda (using your tutorials), I already know how to use pretty well postgres databases, but I'm new to DynamoDB, as is just an APP concept and not a business, I'm thinking ofDynamo due to the free tier, but I don't know if it will serve my purpouse. I'm talking about data like user info, posts from users, etc. I have the model well defined with a relational database, but with Dynamo I'm having troubles.

  • @shivamanand6112
    @shivamanand61122 жыл бұрын

    Extracting from PRAW Jsons. Load raw jsons in dynamo then staged table in s3 then db in rds Or store raw Jsons and staged tabled both in s3? Heard staging = load + staged so should one decouple? Or overkill?

  • @adamkinsey3139
    @adamkinsey3139 Жыл бұрын

    You repeatedly state that "DynamoDB has better performance" (such as at 31:20), and suggest that NoSQL databases are faster than relational ones. I SINCERELY believe that you need to question this assumption. If the use case is for a glorified hash table, then that *might* be true, but RDBMSs are pretty fast at primary-key lookups, too. You also say that you don't have much experience with high-demand implementations of RBDMS systems, so I am surprised that you so confidently state that DynamoDB is *just better*. I would be happier to see your assertions backed by some kind of data. And thank you VERY MUCH for taking the time to make this video.

  • @kiranmaheshreddy7417
    @kiranmaheshreddy74173 жыл бұрын

    we can also change the access pattern of the dynamodb by creating new GSI, whenever we want it . is is right?

  • @BeABetterDev

    @BeABetterDev

    3 жыл бұрын

    Hi Kiranmahesh, Yes this is true, but be aware that GSIs do cost extra which may affect your decision to use them. Daniel

  • @stiffyBlicky
    @stiffyBlicky2 жыл бұрын

    Great video, can you clarify the point around 36:34, "when you know in advance its good. idea to use dynamo and when you're convinced that its not going to change, def a good idea to use dynamodb, because you're going to be able scale a lot further if you use something like aurora" did you mean to say aurora here? I think you meant o say "you're going to be able to scale a lot further if you user something like dynamodb"?

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Hi Mark, thank you for catching this. Yes I did mean to reference Dynamo instead of Aurora. I wish youtube had a way of adding popups so I could fix this :(

  • @stiffyBlicky

    @stiffyBlicky

    2 жыл бұрын

    @@BeABetterDev No worries, a response like this is sufficient, just wanted to make sure I understand what you are saying and now I do 100%. Thanks again.

  • @swanandrajure
    @swanandrajure2 жыл бұрын

    What if the MasterDB for Aurora fails? How does it restores

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Great question Swanand. Aurora will fail over to a Read Replica and promote it to master.

  • @pikachu5223

    @pikachu5223

    2 жыл бұрын

    @@BeABetterDev what?

  • @vishalkothari8065
    @vishalkothari80653 жыл бұрын

    So aurora is better for serverless lambda over RDS?

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Hi Vishal, Currently, Aurora is the only option that has 'serverless' mode. Not sure if this will change in the future but that is current state. Hope this helps, Daniel

  • @vishalkothari8065

    @vishalkothari8065

    2 жыл бұрын

    @@BeABetterDevOkay , btw it was a nice video

  • @surfbug1
    @surfbug17 ай бұрын

    it's hard to hear you. on your next videos please increase your vocal your voice volume everything is great that ur presenting thank u!

  • @mraburles
    @mraburles Жыл бұрын

    How does DynamoDB compare to Amazon Neptune?

  • @BeABetterDev

    @BeABetterDev

    Жыл бұрын

    Hi adria, DynamoDB is great for key-value storage. Neptune is more for graph type use cases such as a social network or a road network. Hope this clarifies.

  • @troyfrericks1904
    @troyfrericks1904 Жыл бұрын

    At 06:00 you mention: Aurora Serverless... and at 08:00 you mention: DynamoDB is a pay-for-what-you-use model.... It's worth mentioning that Aurora Serverless is also a pay-for-what-you-use model.

  • @BeABetterDev

    @BeABetterDev

    Жыл бұрын

    Good point Troy. At the time only Aurora Serverless V1 which isn't what I could to be production capable. But as of now, I agree its viable and noteworthy. Cheers

  • @SaiKiran-kd6cq
    @SaiKiran-kd6cq2 жыл бұрын

    Can you please create a whole tutorial on creating a serverless app using python

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Hi there, have you seen the two below videos I made? They may be helpful for you: kzread.info/dash/bejne/iWGo3NGAibDMhKQ.html kzread.info/dash/bejne/gIFouMZwltPAh84.html

  • @SaiKiran-kd6cq

    @SaiKiran-kd6cq

    2 жыл бұрын

    @@BeABetterDev Yes ..I have not missed any videos of yours till now 😊 Your videos are crisp and to the point .My point was if you can please make a whole tutorial on serverless app python Django starting from Dyanmo dB to Cognito ..

  • @BeABetterDev

    @BeABetterDev

    2 жыл бұрын

    Ah thank you for clarifying Sai! I'll put this on my todo list for my practical project series. Thank you for the suggestion!

  • @trekmotion
    @trekmotion Жыл бұрын

    I would've been lot smarter if I found your videos years ago, I wasted hundreds of watch hours watching indian tech gurus reading slide shows. lol Thank you

  • @damienspectre4231
    @damienspectre4231 Жыл бұрын

    13:35 - thats not correct. Multi-AZ replication is SYNCHRONOUS!! Its why its are Failover Candidates and is virtually instantaneous replication (as opposed to read replicas which are Disaster Recovery candidates which as ASYNCHRONOUS and have a replica lag) This is from the official docs: "Aurora synchronously replicates the data across Availability Zones to six storage nodes associated with your cluster volume"

  • @BeABetterDev

    @BeABetterDev

    Жыл бұрын

    Thank you for pointing this out!

  • @RaviKumar-uy9ij
    @RaviKumar-uy9ij2 жыл бұрын

    I came for only from 26:52 🤔🤔