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

КОМЕНТАРІ • 73

  • @yawnnroar
    @yawnnroar 2 роки тому +28

    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

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

    Very well structured summary!

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

      Thanks Farzad. Hope you are having a great weekend.

  • @LuisPerez-ce7fn
    @LuisPerez-ce7fn 8 місяців тому

    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!

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

    Great summary, thanks!

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

    Awesome - Thanks for making!!

  • @GameboyZoneRocks
    @GameboyZoneRocks 3 місяці тому

    Great video and well explained with a workflow.

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

    Thank you, really good guidance right there.

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

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

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

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

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

    very good explanation

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

    It's clear, thank you

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

    Thank you!

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

    very helpful, thanks!

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

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

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

    Well explained in a layman way

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

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

    Awesome vid on Traversy media ! Watching you now.

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

    Would you be kind enough to share the flowchart link?

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

    great videos

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

    Where do RedShift and AWS Timeseries fall into?

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

    useful video

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

    Can you share the scheme?

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

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

      Maybe but is great for searching. Imagine Netflix for example

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

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

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

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

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

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

    Really useful! Thanks

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

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

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

    did you intentionally forgot Redshift ?

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

    Meanwhile Oracle 👋👋

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

    Summary: choose Dynamodb ;p