How To Choose The Right Database?

Поділитися
Вставка
  • Опубліковано 19 вер 2022
  • Weekly system design newsletter: bit.ly/3tfAlYD
    Checkout our bestselling System Design Interview books:
    Volume 1: amzn.to/3Ou7gkd
    Volume 2: amzn.to/3HqGozy
    Other things we made:
    Digital version of System Design Interview books: bit.ly/3mlDSk9
    Twitter: bit.ly/3HqEz5G
    LinkedIn: bit.ly/39h22JK
    ABOUT US:
    Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

КОМЕНТАРІ • 183

  • @Nikolai4567
    @Nikolai4567 Рік тому +221

    GREAT video. I expected you to just suggest what you use yourself. You didn't. You describe general experience, stuff that is actually important and useful regardless of the technology. Respect

  • @TheHaughtsauce
    @TheHaughtsauce Рік тому +74

    Man, the wisdom in these videos is unmatched

  • @chandragie
    @chandragie Рік тому +29

    Totally agree with "when it comes to database though, boring is good."
    I remember exactly Josh Long from Spring also mentioned about boring allows us to sleep peacefully at night, boring allows us to spend weekend with our family, boring allows us to go to holiday without worrying about work, I LOVE BORING! 😁

  • @gergelyszakacs
    @gergelyszakacs Рік тому +57

    I'd like to add one more thing to the selection process: if you're tasked with designing a new system, make sure that you are absolutely sure about the actual load of the database and not the claimed one coming from the business stakeholders. Those guys tend to have overly ambitious goals (rather: dreams) about the growth of their businesses, which would make you choose a database technology and size the infrastructure under it that is a total overkill for a potentially much smaller problem.
    Besides that, great video, I love how down-to-earth your attitude is!

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

      Amazing video💯.This wants me buy your book

    • @samus4799
      @samus4799 10 місяців тому +2

      I'd rather have too much capacity than not enough. If I were in a position where my businesses' critical structures were bottlenecked by an overzealous IT guy, they might actually get strangled.

  • @anupamgh0sh
    @anupamgh0sh Рік тому +27

    "developers are naturally drawn to the new & shiny, like moths to a flame" 2:49 🤣😅

  • @imiebaka
    @imiebaka Рік тому +49

    Very informative, sometimes companies just switch DB and later discovered the existing solution was still gold.
    In summary, study is key

    • @JohnDoe-my5ip
      @JohnDoe-my5ip Рік тому

      Try explaining that to your idiot product owner with an MBA who only thinks in sprint cycles… it’d be so nice to have a job where they let engineers do actual engineering…

  • @bhooshan25
    @bhooshan25 10 місяців тому +5

    Totally agree with "when it comes to database though, boring is good.
    The fancier the claim, the longer the disclaimer in the back.

  • @djdankmemes9257
    @djdankmemes9257 Рік тому +6

    By far this is one of my favorite programming channels. Extremely easy to understand and great visual presentation.

  • @rumplstiltztinkerstein
    @rumplstiltztinkerstein Рік тому +17

    Just here learning everything that I wanted to learn when going to university.

  • @joeng7424
    @joeng7424 Рік тому +6

    This channel knows me from inside out. I was fed with promises from PlanetScale and CockroachDB straight up for days and this drops off at the right moment.

  • @noamanahmed1
    @noamanahmed1 Рік тому +6

    Appreciate your content. I just cleared an interview where I was just asked one technical question regarding system design and your videos were big help.

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

    Such an effective, yet simple video on selecting the right database. Thank you.

  • @okaydoubleu
    @okaydoubleu Рік тому +9

    A lot of the tricks here apply beyond choosing databases. A gem of a video😉

  • @BrunoGabrielAraujoLebtag
    @BrunoGabrielAraujoLebtag Рік тому +68

    That's focus on Principles not technologies. Principles are timeless... technologies are not (and usually improvements from previous ones).

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

      So u want me to listen to u and ignore the discord software architect???????????????????😉

    • @zixing467
      @zixing467 2 місяці тому

      @@just_A_doctoryou fail to understand the point the writer was trying to make, it has nothing to do with credentials but rather how we approach problems in a philosophical manner as software engineers

    • @Brajgamer
      @Brajgamer Місяць тому

      ​@@just_A_doctor😂 Yeah, here is one more from quora

  • @alpiepho
    @alpiepho Рік тому +13

    All of your videos are very well done. Thank you!
    Here is an idea for another video...show how to create these videos. A huge part of system design is "showing" the idea. It would be great to learn how you put these together, both from how they flow to the tools used for the awesome data visualization.

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

    Best video on a channel so far, this real-life experience and wisdom is really important

  • @user-zw8uq1rj9m
    @user-zw8uq1rj9m Рік тому +21

    So informative. Always dive right into the real contents without bs. Thank you!

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

    Thank you. This really helped me understand the complexities involved in migrating databases.

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

    I was expecting general info on how to choose database for new project but that works too, thank you :)

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

    This channel is a goldmine of info. Really great job!

  • @DJazium
    @DJazium Місяць тому

    This is a wonderful video. Thanks I needed to watch this!

  • @JeremyChone
    @JeremyChone Рік тому +16

    Good video as usual. Our rule of thumb is "Lame Is the New Cool" as far as database choice.

    • @JohnDoe-my5ip
      @JohnDoe-my5ip Рік тому +2

      Just make sure that rule of thumb doesn’t lead you to Oracle’s sales department and you’re all good!

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

      @@JohnDoe-my5ip Fair point. We like PostgreSQL.

  • @mileselam641
    @mileselam641 Місяць тому

    Simpler decision tree:
    Postgres by default. A Postgres offshoot for specific use cases like TimescaleDB for time series, Yugabyte for distributed, etc.
    If and only if you have a requirement that cannot be solved natively by Postgres like temporal tables in MS SQL Server or MariaDB, then choose the other engine.
    NoSQL only when you know for a fact that no SQL engine can adequately handle your problem (and you've already tried).

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

    I revisit this and learn something new every time. Also has more deep System design in his channel, every single one is a gem. awesome visuals along with awesome audio direction. . ❤ and 🙏 🙇🏾‍♂️ from Chennai 🇮🇳

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

    Thanks always for your insightful videos. They sure are a charitable contribution to our Industry.

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

    Thank you. I like the initial idea "are we really need to change the DB?"

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

    I love your "try to play with what you have" first ❤️

  • @leanpilar
    @leanpilar 5 місяців тому +2

    I like your videos, including this one. However, I believe the title should be 'How To Choose The Next Database?' instead of 'How To Choose The Right Database?' because I was expecting to see which requirements fit with which database, and less how to migrate problems.

  • @navitelogger
    @navitelogger 2 місяці тому

    As a junior project manager, your videos help me a lot

  • @11vag
    @11vag Рік тому +1

    This channel is gold. Thank you.

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

    Only touches the surface for multiple problems (switching db, selecting db).
    By the way, I love your content, and I learn from it. Please continue the work.

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

    Agreed. Sometimes you do not need a new database platform. Sometimes you need to rewrite your application.

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

    very short and concise explanation. thanks for share it

  • @CarlosWashingtonMercado
    @CarlosWashingtonMercado 11 місяців тому

    Thank you, sir, for sharing your knowledge in this video.

  • @alexanderpoplooukhin7448
    @alexanderpoplooukhin7448 11 місяців тому

    Very cool video. You gave a lot of useful information in so short video. Thank you.

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

    very good presentation and tips
    thanks

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

    This is expertise. To try everything for the current stack you have to make it work better before making decision to swap it for something else.

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

    This channel is a gem.

  • @TrippSC2
    @TrippSC2 4 місяці тому

    Seeing the MS Access icon on here brings back some really bad memories. I worked for a company as pretty green sysadmin once that had a "homegrown" (in the sense that they paid to have it developed and didn't retain any source code) timekeeping software written in BASIC with an MS Access database as data persistence.
    Because Access has no real multi-user support, the software did a bunch of "clever" things to make locking work with multiple concurrent users. If there was ever an unexpected loss in connectivity to the database, at best the database lock was not removed and at worst the database was left in an inconsistent state and the lock was not removed.
    The databases needed a "Compact and Repair" operation run on it frequently, either for the reasons above or because the size of the database impacted performance, and that frequency accelerated the more data was in the database.

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

    thanks for precious advice!

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

    Very informative and useful video,thanks

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

    Great video. Love new animations. 👍

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

    love the fact that you say at 1:30... look t what you have and if how you using it is not broken/problem before jumping on band wagon to simply pick a new db... as if you don't know whats wrong/how it is wrong you are liable to just end with the same problem again...

  • @leomysky
    @leomysky 11 місяців тому

    Wonderful video, thank you

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

    Rare gem!! Thank you for the video

  • @codegreenie3429
    @codegreenie3429 11 місяців тому +1

    Old is Gold. I use MYSQL for my software. Approaching 200K users and still runs under 1 second

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

    Choosing the right dB and a well designed dB is a project half-done already! If dB is designed tightly, anything is possible to develop quickly. Loosely-goose design results in compromises, delays and more costs.

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

    All of your tutorial is very clear and easy to understand because of animation explanation.I always wonder which tool you use to create this animation? Could you please share?

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

    This content is very nice, thank you for making it.

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

      Thank you for the encouragement. This is hard work, and this is very much appreciated.

  • @a314
    @a314 Рік тому +4

    Very informative. What software do you use to create animations for these videos? Looks thorough and stunning

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

    Thanks for your sharing

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

    Fantastic video.

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

    Excellent advice

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

    thank you, its as very clarify.

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

    sage advice, thanks.

  • @ThangTran-hi3es
    @ThangTran-hi3es Рік тому

    Thank you so much.

  • @Zizaco
    @Zizaco Рік тому +5

    Portability (not bound to 1 cloud provider), Open-source, Battle tested, Horizontally scalable, Performant, Easy/Built-in Replication (high-availability), Powerful schema definition, Excelente querying/aggregation capabilities, ACID Compliant, Change streams, and Productive (dev speed) = MongoDB
    MongoDB has been the to-go choice on most of the projects that I've worked on recently.
    Other DBs that we've chosen often are: Redis and Neo4j.
    Postgres is perhaps the best SQL choice. But SQL/Relational no longer makes much sense in application/operational use cases. An "ALTER TABLE" is enough to take a whole application down.

    • @JohnDoe-my5ip
      @JohnDoe-my5ip Рік тому +3

      Multicloud is a convenient lie we tell ourselves. That vendor lock-in is largely unavoidable and can only be mitigated. Migrating cloud providers is only marginally less challenging than migrating database engines.

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

    Great content 👍🏾

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

    Couldn't agree more with this video!

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

    Mitigation before migration.
    Boring is good.
    Read "Limits" and "FAQ" in manual.
    Understand the trade-offs.

  • @rodneylives
    @rodneylives Рік тому +4

    This is good information! I love your style and straight-forward presentation of facts.

    • @ByteByteGo
      @ByteByteGo  Рік тому +6

      Thank you for the feedback.
      We try our best to respect our viewer's time investment in our contents.

  • @walid7189
    @walid7189 5 днів тому

    that was just beautiful

  • @wilfred-almeida
    @wilfred-almeida Рік тому +1

    Apart from the awesome knowledge💯 the animation is fantastic. Kudos to the editor!🤌👏

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

      Have to agree. Our editors for the illustration and animation are talented. 🙌

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

    whoa look at that new intro. Very nice.

  • @YogeshDorbala
    @YogeshDorbala Рік тому +6

    @bytebytego These videos are great, thank you!
    Could you please add a video explaining the benefits of each major database and their drawbacks? Would love to see a comparative discussion on the options available from you. Thanks!

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

    Lol that was really useful. The limits page is a jam indeed.

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

    To add a little nuance about transactional guarantees, it mostly does not remove one (or few) of the transactional guarantees. Is it more that it is untimely ACID. You might, on writing time, not be ACID, but untimely the database will become ACID. And the real question is, do you need ACID on write all the time for all the use cases? Maybe not.

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

    superb !! you mentioned `join chat room for discussions` which chat room you refer to ?

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

    Firebird SQL DB is a powerful and free versioning option

  • @raymondmichael4987
    @raymondmichael4987 Рік тому +3

    Very powerful stuff you got here.
    I wish to learn how to do those benchmark testing

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

    Amazing video

  • @xzdasx
    @xzdasx 8 місяців тому

    I have a hate/love relationship with this Guy.
    I love how much I am learning every time I see any video. Also, I hate much much I don't know.

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

    I want to know the answer and think about this topic long long long time ago, thanks!

  • @malhaar707
    @malhaar707 4 місяці тому

    can you let us know how do you create your videos, i mean interactive diagrams that you use in the videos.

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

    where do I find invitation link for the Slack channel mentioned in the video?

  • @dev.rahulgurjar
    @dev.rahulgurjar Рік тому

    Great ❤️

  • @SanjayKumar-rn8eh
    @SanjayKumar-rn8eh 10 місяців тому

    I expected comparisons between different database offerings in this video based on the title of the video. Good stuff though.

  • @carolinegr
    @carolinegr Рік тому +3

    Sharding an existing database also takes considerable effort though. Especially if it means the clients to the db need to piece together data from different shards.

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

      Great point. It is really about tradeoffs, isn't it?

  • @Ahmad_Askar
    @Ahmad_Askar 10 місяців тому

    Hi, :) what do you use for your presentation animation !! if I may ask

  • @ravindranaths513
    @ravindranaths513 Місяць тому

    Could you please make a video on Wide column vs column family vs columnar vs column oriented DB

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

    how do you make such awesome presentation?

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

    I love the channel

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

    Golden 👍

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

    it would be great to know if had references or papers

  • @VishalSharma-dn8ob
    @VishalSharma-dn8ob Рік тому +1

    I see there is a discord server mentioned in the video. What's the invite link for that ?

  • @sachinsuryavanshi3
    @sachinsuryavanshi3 Місяць тому

    Do we have a tools where we can do the animation using code?

  • @TJDeez
    @TJDeez 2 місяці тому

    Sharting is never acceptable 😂
    In all seriousness, thanks for this great video sir.

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

    Great video.
    Could you please tell me which tool you use to created these animated slides. Thanks

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

      It takes a team. We have some talented editors for illustration and animation, with the help of tools like Adobe After Effects, Adobe Illustrator, etc. It takes many hours for each video.

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

    can you please make a video on relational vs non relation database?

  • @jamejame8244
    @jamejame8244 9 місяців тому +1

    how about scylladb?
    i never use before, normaly use mongodb in project.

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

    Sounds like a meditation.
    I almost closed my eyes while still following the words on the unconscious level.

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

    Many cases the most suitable db is flat file, because instead of millions of users it's just the dev and googlebot.

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

    considered DB2 on zos or linux unix windows . We have all features we are discussing

  • @garrettross7987
    @garrettross7987 Місяць тому

    Anyone know the software he uses to make the diagrams?

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

    Also, as a general piece of advice, unless you absolutely know, to 100% certainty, that a relational database won't work for your use-case, just stick to a relational database and spend a lot of thought into data modeling.

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

    Which tool you use to create nice diagrams?

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

    I want to design e-commerce web site. Which DB do you prefer?

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

    What tools you are using to create these system design videos?

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

    database ~ boring is good
    i love this

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

    I heard many terms which I don't understand. E.g P99. Is there any other video where you talk about different parameters with which DB should be measured? Or with other db concepts?

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

      Take the opportunity to search these terms and understand and make notes about them - while these guys are very helpful, you can't expected them to present this technical content at a completely ELI5 level.

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

      We do plan to make some videos on system design fundamentals in the future.
      In the meantime, like others have suggested, write down the terms you don’t understand, do a bit of homework on your own, and don’t hesitate to come back for more questions.
      We are all beginners on some things and at some point. We have all been there. Hang in there.

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

      @@ByteByteGo👍 thank you