AWS Aurora VS DynamoDB

Поделиться
HTML-код
  • Опубликовано: 15 июл 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

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

  • @xVersioNz
    @xVersioNz 2 года назад +25

    i can tell you put a lot of effort into this video! It was done perfectly, 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

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

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

  • @julianjacobs8956
    @julianjacobs8956 Год назад +2

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

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

  • @manishmaharjann
    @manishmaharjann Год назад

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

  • @nagu1080
    @nagu1080 2 года назад +1

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

  • @aminatashi
    @aminatashi 3 года назад +3

    Really liked the way you presented it! Awesome!

    • @BeABetterDev
      @BeABetterDev  3 года назад

      Thanks Amin! Glad you enjoyed :)

  • @abdulazeez.98
    @abdulazeez.98 2 года назад +2

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

  • @alibarznji2000
    @alibarznji2000 2 года назад +2

    This channel is underrated

  • @sakarsr
    @sakarsr 3 года назад +3

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

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

  • @stillmattwest
    @stillmattwest 2 года назад

    Great overview, thanks!

  • @assafcohen10
    @assafcohen10 3 года назад +1

    super clear and super professional! thank you!

  • @jazzsha
    @jazzsha 3 года назад +2

    Very well explained. Thank you!!

  • @davidlean8674
    @davidlean8674 2 года назад +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  2 года назад

      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.

  • @ridaali9499
    @ridaali9499 Год назад

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

  • @alturusatish
    @alturusatish 3 года назад +2

    Very well explained. Great content.

  • @hasnainahmadtanim1190
    @hasnainahmadtanim1190 Год назад

    Wow! brief explanation. Thanks a lot.

  • @alekshernandez2
    @alekshernandez2 11 месяцев назад

    Excellent video! Congrats

  • @PaulEllisBIGDATA
    @PaulEllisBIGDATA 2 года назад

    Thank you!!! Appreciate your time and effort.

  • @ChanceMinus
    @ChanceMinus Год назад

    Illuminating. Thank you.

  • @celiagaylard489
    @celiagaylard489 2 года назад +1

    Practically understandable, thank you.

  • @Minecraftzocker766
    @Minecraftzocker766 2 года назад +1

    Great video! Thank you!

  • @asfahanansari4669
    @asfahanansari4669 Год назад

    Excellent explanation

  • @SwapanD
    @SwapanD 2 года назад +1

    Brilliant. Superb. Hats off.

  • @nadaralpenidze9549
    @nadaralpenidze9549 3 года назад +1

    Great video. Thanks

  • @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
    @arkajitmondal7320 3 года назад +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.

  • @XLpacman805
    @XLpacman805 7 месяцев назад

    Great video

  • @ZAXSMAXBY
    @ZAXSMAXBY 3 года назад +1

    Thank you so much!!!

  • @imyashkale
    @imyashkale 2 года назад

    Your channel is awesome.

  • @toshyamg
    @toshyamg 2 года назад +1

    Great video 👍... Great content

  • @naweedsyed1556
    @naweedsyed1556 2 года назад +1

    Amazing video

  • @RafaganAbreu
    @RafaganAbreu 3 года назад +1

    Very nice video

    • @BeABetterDev
      @BeABetterDev  3 года назад

      Thanks Rafagan! Glad you enjoyed

  • @pauldittus
    @pauldittus Год назад

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

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

  • @adamkinsey3139
    @adamkinsey3139 2 года назад

    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.

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

  • @akin242002
    @akin242002 2 года назад

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

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

  • @tom_zanna
    @tom_zanna 3 года назад

    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?

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

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

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

  • @troyfrericks1904
    @troyfrericks1904 2 года назад +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  2 года назад

      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

  • @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 8 месяцев назад

    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!

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

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

  • @vishalkothari8065
    @vishalkothari8065 3 года назад

    So aurora is better for serverless lambda over RDS?

    • @BeABetterDev
      @BeABetterDev  3 года назад

      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 3 года назад

      @@BeABetterDevOkay , btw it was a nice video

  • @SaiKiran-kd6cq
    @SaiKiran-kd6cq 3 года назад

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

    • @BeABetterDev
      @BeABetterDev  3 года назад

      Hi there, have you seen the two below videos I made? They may be helpful for you:
      ruclips.net/video/W-tzoGYMfTA/видео.html
      ruclips.net/video/NM4Vd7fpZWk/видео.html

    • @SaiKiran-kd6cq
      @SaiKiran-kd6cq 3 года назад +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  3 года назад +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!

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

  • @RaviKumar-uy9ij
    @RaviKumar-uy9ij 2 года назад

    I came for only from 26:52 🤔🤔

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