AWS Aurora VS DynamoDB

Поділитися
Вставка
  • Опубліковано 8 тра 2024
  • 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

  • @timmyzheng6049
    @timmyzheng6049 2 роки тому +3

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

  • @srb1855
    @srb1855 2 роки тому +1

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

  • @manishmaharjann
    @manishmaharjann Рік тому

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

  • @namritp
    @namritp Рік тому +1

    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

  • @xVersioNz
    @xVersioNz 2 роки тому +25

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

  • @abdulazeez.98
    @abdulazeez.98 Рік тому +2

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

  • @noahlomax1
    @noahlomax1 3 роки тому +34

    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 роки тому +5

      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.

  • @nagu1080
    @nagu1080 Рік тому +1

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

  • @andrewsouthpaw
    @andrewsouthpaw 2 роки тому +2

    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!

  • @ridaali9499
    @ridaali9499 Рік тому

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

  • @karimkhan9941
    @karimkhan9941 2 роки тому +5

    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 роки тому +1

      Thanks so much for the kind words Karim!

  • @Nashte.kibaat
    @Nashte.kibaat Рік тому

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

  • @sanjeevkumaryadav9154
    @sanjeevkumaryadav9154 2 роки тому +1

    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.

  • @aminatashi
    @aminatashi 2 роки тому +3

    Really liked the way you presented it! Awesome!

  • @hasnainahmadtanim1190
    @hasnainahmadtanim1190 Рік тому

    Wow! brief explanation. Thanks a lot.

  • @alekshernandez2
    @alekshernandez2 9 місяців тому

    Excellent video! Congrats

  • @asfahanansari4669
    @asfahanansari4669 Рік тому

    Excellent explanation

  • @alibarznji2000
    @alibarznji2000 2 роки тому +2

    This channel is underrated

  • @ChanceMinus
    @ChanceMinus Рік тому

    Illuminating. Thank you.

  • @sakarsr
    @sakarsr 2 роки тому +3

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

  • @assafcohen10
    @assafcohen10 3 роки тому +1

    super clear and super professional! thank you!

  • @stillmattwest
    @stillmattwest Рік тому

    Great overview, thanks!

  • @PaulEllisBIGDATA
    @PaulEllisBIGDATA Рік тому

    Thank you!!! Appreciate your time and effort.

  • @jazzsha
    @jazzsha 3 роки тому +2

    Very well explained. Thank you!!

  • @julianjacobs8956
    @julianjacobs8956 11 місяців тому +2

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

  • @alturusatish
    @alturusatish 3 роки тому +2

    Very well explained. Great content.

  • @arkajitmondal7320
    @arkajitmondal7320 2 роки тому +2

    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.

  • @celiagaylard489
    @celiagaylard489 2 роки тому +1

    Practically understandable, thank you.

  • @imyashkale
    @imyashkale Рік тому

    Your channel is awesome.

  • @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!

  • @davidlean8674
    @davidlean8674 Рік тому +2

    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.

  • @SwapanD
    @SwapanD 2 роки тому +1

    Brilliant. Superb. Hats off.

  • @shikhardev1
    @shikhardev1 2 роки тому +1

    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?

  • @Minecraftzocker766
    @Minecraftzocker766 2 роки тому +1

    Great video! Thank you!

  • @XLpacman805
    @XLpacman805 5 місяців тому

    Great video

  • @nadaralpenidze9549
    @nadaralpenidze9549 2 роки тому +1

    Great video. Thanks

  • @ZAXSMAXBY
    @ZAXSMAXBY 2 роки тому +1

    Thank you so much!!!

  • @pauldittus
    @pauldittus Рік тому

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

  • @toshyamg
    @toshyamg 2 роки тому +1

    Great video 👍... Great content

  • @naweedsyed1556
    @naweedsyed1556 2 роки тому +1

    Amazing video

  • @galeop
    @galeop 2 роки тому

    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

  • @maazm4722
    @maazm4722 3 роки тому +2

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

  • @RafaganAbreu
    @RafaganAbreu 3 роки тому +1

    Very nice video

  • @visvajeet5609
    @visvajeet5609 2 роки тому

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

    • @BeABetterDev
      @BeABetterDev  2 роки тому +1

      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.

  • @tn9753
    @tn9753 2 роки тому +1

    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

  • @akin242002
    @akin242002 2 роки тому

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

  • @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.

  • @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
    @shivamanand6112 2 роки тому

    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?

  • @tom_zanna
    @tom_zanna 2 роки тому

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

  • @ralfrolfen5504
    @ralfrolfen5504 Рік тому

    What tool do you use for the presentation?

  • @miluna94
    @miluna94 2 роки тому

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

  • @kiranmaheshreddy7417
    @kiranmaheshreddy7417 3 роки тому +2

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

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

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

  • @stiffyBlicky
    @stiffyBlicky 2 роки тому +1

    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 роки тому +1

      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 роки тому +1

      @@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.

  • @surfbug1
    @surfbug1 6 місяців тому

    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!

  • @troyfrericks1904
    @troyfrericks1904 Рік тому +1

    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

  • @vishalkothari8065
    @vishalkothari8065 2 роки тому

    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

  • @swanandrajure
    @swanandrajure 2 роки тому

    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?

  • @SaiKiran-kd6cq
    @SaiKiran-kd6cq 2 роки тому

    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:
      ua-cam.com/video/W-tzoGYMfTA/v-deo.html
      ua-cam.com/video/NM4Vd7fpZWk/v-deo.html

    • @SaiKiran-kd6cq
      @SaiKiran-kd6cq 2 роки тому +1

      @@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 роки тому +1

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

  • @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.

  • @trekmotion
    @trekmotion Рік тому +2

    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

  • @RaviKumar-uy9ij
    @RaviKumar-uy9ij Рік тому

    I came for only from 26:52 🤔🤔

  • @damienspectre4231
    @damienspectre4231 Рік тому +2

    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"