How to Choose a Database on AWS

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ก.ค. 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

ความคิดเห็น • 73

  • @yawnnroar
    @yawnnroar 2 ปีที่แล้ว +29

    This video helped me land a new job during a system design interview!! Thank you!!!

  • @VenkateshJayapal
    @VenkateshJayapal 2 ปีที่แล้ว +1

    You saved lot of my time to read through the docs for each and find the difference 🙏 thank you!

  • @naimulsayed1339
    @naimulsayed1339 ปีที่แล้ว +3

    Great explanation. The things I was wondering for years, you solved in 6 mins ❤. Thanks a lot

  • @jriverox
    @jriverox 3 ปีที่แล้ว +16

    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

  • @LuisPerez-ce7fn
    @LuisPerez-ce7fn 9 หลายเดือนก่อน

    Amazing explanation, no bs. You got a new follower

  • @daviisebarn2489
    @daviisebarn2489 2 ปีที่แล้ว

    Dude that video made everything in my head click you are a legend!

    • @BeABetterDev
      @BeABetterDev  2 ปีที่แล้ว

      You're very welcome David!

  • @ChetanNandikanti
    @ChetanNandikanti 3 ปีที่แล้ว +1

    Current Database services in AWS simplified 😉. Thanks for quick summary!

  • @prabhakarmishra2182
    @prabhakarmishra2182 2 ปีที่แล้ว +1

    I highly appreciate the way you have explained it all, lots of love from India

  • @farzadb
    @farzadb 3 ปีที่แล้ว +2

    Very well structured summary!

    • @BeABetterDev
      @BeABetterDev  3 ปีที่แล้ว +1

      Thanks Farzad. Hope you are having a great weekend.

  • @fireflysemanticsmedia6267
    @fireflysemanticsmedia6267 2 ปีที่แล้ว +1

    Awesome - Thanks for making!!

  • @cemmer1295
    @cemmer1295 2 ปีที่แล้ว +1

    Thank you, really good guidance right there.

    • @BeABetterDev
      @BeABetterDev  2 ปีที่แล้ว

      You're very welcome Cemmer!

  • @GameboyZoneRocks
    @GameboyZoneRocks 5 หลายเดือนก่อน

    Great video and well explained with a workflow.

  • @msp767
    @msp767 2 ปีที่แล้ว +2

    Great summary, thanks!

  • @sathyaabn2406
    @sathyaabn2406 ปีที่แล้ว

    very good explanation

  • @manishagarwal1209
    @manishagarwal1209 3 ปีที่แล้ว

    Can we integrate AWS Mongodb with onprem Oracle AVDF ?

  • @d4rkazn1
    @d4rkazn1 ปีที่แล้ว

    Quick Question, isnt RDS a managed service? Why does the arrow for unmanaged loops to RDS?

  • @haiquannguyen2583
    @haiquannguyen2583 2 ปีที่แล้ว +1

    It's clear, thank you

  • @screwyou3736
    @screwyou3736 2 ปีที่แล้ว

    Where do RedShift and AWS Timeseries fall into?

  • @andriys5772
    @andriys5772 3 ปีที่แล้ว +1

    Thank you!

  • @guesme307
    @guesme307 2 ปีที่แล้ว +3

    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.

    • @BeABetterDev
      @BeABetterDev  2 ปีที่แล้ว +3

      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

  • @TheEchinox
    @TheEchinox ปีที่แล้ว

    Would you be kind enough to share the flowchart link?

  • @gilmatz7938
    @gilmatz7938 3 ปีที่แล้ว

    Can you share the scheme?

  • @alejandropereira
    @alejandropereira 3 ปีที่แล้ว +2

    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.

    • @BeABetterDev
      @BeABetterDev  3 ปีที่แล้ว +2

      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.

  • @warrenb7450
    @warrenb7450 3 ปีที่แล้ว +1

    very helpful, thanks!

  • @nldxl
    @nldxl 3 ปีที่แล้ว +1

    Awesome vid on Traversy media ! Watching you now.

  • @manishalankala1622
    @manishalankala1622 3 ปีที่แล้ว +2

    Well explained in a layman way

  • @philipdodson7870
    @philipdodson7870 3 ปีที่แล้ว +1

    Why automatically use elasticache if you don’t need relations or transactions? Isn’t it more expensive than RDS or dynamoDb?

    • @pikachu5223
      @pikachu5223 3 ปีที่แล้ว +1

      Maybe but is great for searching. Imagine Netflix for example

  • @akin242002
    @akin242002 2 ปีที่แล้ว +1

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

  • @christhomasism
    @christhomasism 3 ปีที่แล้ว +1

    great videos

  • @dimatall
    @dimatall 2 ปีที่แล้ว

    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?

    • @BeABetterDev
      @BeABetterDev  2 ปีที่แล้ว +3

      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

    • @dimatall
      @dimatall 2 ปีที่แล้ว

      @@BeABetterDev thank you for reply

  • @adiletissayev1711
    @adiletissayev1711 3 ปีที่แล้ว +1

    What about DynamoDB that comes with AWS Amplify for prototyping?

    • @andresmontoya7852
      @andresmontoya7852 3 ปีที่แล้ว +2

      Exact same thing, just it's easier to get started

    • @kjul.
      @kjul. 3 ปีที่แล้ว

      Not even the same thing in the slightest 😅

  • @explorethenewworld6371
    @explorethenewworld6371 3 ปีที่แล้ว +2

    what about geo queries ????
    which db is best for geo spatial ???

    • @BeABetterDev
      @BeABetterDev  3 ปีที่แล้ว

      I'm not an RDS expert, but I believe PostGres is the most popular for spatial data processing.

  • @devprakash5320
    @devprakash5320 2 ปีที่แล้ว +1

    useful video

    • @BeABetterDev
      @BeABetterDev  2 ปีที่แล้ว

      Glad it was able to help!

  • @Hiroki-Takahashi
    @Hiroki-Takahashi ปีที่แล้ว

    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?

    • @BeABetterDev
      @BeABetterDev  ปีที่แล้ว +1

      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.

    • @Hiroki-Takahashi
      @Hiroki-Takahashi ปีที่แล้ว

      @@BeABetterDev I see. Thank you so much!

  • @annajerin3977
    @annajerin3977 3 ปีที่แล้ว

    Dynamo db does not support transaction. Notnsure why you mentioned like that. It supports maximum upto 25 writes in a transaction ..

    • @BeABetterDev
      @BeABetterDev  3 ปีที่แล้ว +1

      aws.amazon.com/blogs/aws/new-amazon-dynamodb-transactions/

  • @akshaybodla163
    @akshaybodla163 3 ปีที่แล้ว

    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!:)

    • @BeABetterDev
      @BeABetterDev  3 ปีที่แล้ว +2

      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!

  • @prathprath265
    @prathprath265 3 ปีที่แล้ว +1

    Add neptune too in relationals -)

    • @BeABetterDev
      @BeABetterDev  3 ปีที่แล้ว +1

      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!

  • @andre347
    @andre347 3 ปีที่แล้ว +1

    Really useful! Thanks

  • @professional6635
    @professional6635 ปีที่แล้ว

    did you intentionally forgot Redshift ?

  • @movocode
    @movocode 3 ปีที่แล้ว +1

    Meanwhile Oracle 👋👋

  • @andresmontoya7852
    @andresmontoya7852 3 ปีที่แล้ว +2

    Summary: choose Dynamodb ;p

    • @BeABetterDev
      @BeABetterDev  3 ปีที่แล้ว +3

      Hey now! Not so fast! ;)