How to Choose a Database (SQL vs. NoSQL)

Ғылым және технология

In this video I will describe my process of choosing a database between row and column oriented SQL databases, as well as NoSQL databases.
For convenience here are the chapters:
00:30 - SQL databases
00:38 - Row oriented databases
03:41 - Column oriented databases
05:14 - NoSQL databases
05:25 - Document databases
08:00 - Sharding
09:16 - Streaming databases
=== Links ===
☕️ Discord
links.withmarko.com/discord
☕️ My free Mac window manager
links.withmarko.com/one-menu
☕️ My Notion Template
links.withmarko.com/notion-te...
☕️ Wallpapers:
withmarko.com/wallpapers
=== Business Inquiries ===
Email: business@withmarko.com
Instagram: @withmarko

Пікірлер: 125

  • @sidorrobert
    @sidorrobertАй бұрын

    Great stuff, +1 for next episode about vector, graph, object oriented etc. databases!

  • @anashe5417

    @anashe5417

    Ай бұрын

    uuuuh something about vectors or graphs would be nice

  • @richardkraus5557

    @richardkraus5557

    27 күн бұрын

    yes please! make a video about graph databases

  • @gborgesw

    @gborgesw

    11 күн бұрын

    Totally! Would love one about these!

  • @danielgilleland8611
    @danielgilleland861127 күн бұрын

    For others out there, normalization isn't there just because of "limited disk space". The reduction of data duplication is to help prevent anomalies (i.e.: potential corruption) from inserts, updates and deletes. I'm sure Marko knows that, but for those just learning, that's another aspect to why normalization is often done.

  • @Andrew-wh7uy
    @Andrew-wh7uyАй бұрын

    Nice explanation, Marko! Personally, I choose pretty simply: if I need joints I stick to SQL, if not, I choose NoSQL :)

  • @withmarko

    @withmarko

    Ай бұрын

    Fair 👍

  • @uriastriumph4780
    @uriastriumph4780Ай бұрын

    Absolutely love how you broke these down so, YES! I would definitely appreciate a video or videos on other database types. As an AI Engineer, I work with vector databases a lot. Hearing another perspective on how they are built and how they work would definitely be of benefit. Cheers.

  • @withmarko

    @withmarko

    Ай бұрын

    Hey thanks for the comment! :) I would love to do another deep dive soon! :)

  • @latch909
    @latch909Ай бұрын

    honestly super helpful high level summary for me! Love to see more of this style

  • @xvekii3236
    @xvekii3236Ай бұрын

    That was awesome, Marko! I'd love to see more content about databases and their use cases for sure! Hvala i lijep pozdrav! :)

  • @raptisj
    @raptisj28 күн бұрын

    Definitely want a follow-up video. I really like the way you explan things and would enjoy watching a deep dive.

  • @1MelkaZ
    @1MelkaZАй бұрын

    this was very informative, thank you marko. Keep em coming!

  • @reecey1504
    @reecey1504Ай бұрын

    Thanks Marko, I test the builds of SQL based scripts so it’s great to get an understanding of the design choices behind them.

  • @beatricecapelli7634
    @beatricecapelli7634Ай бұрын

    Amazing video! I'd really love to see the second part with the other types of database. Really good format in my opinion!

  • @KarunJose-hb8ou
    @KarunJose-hb8ouАй бұрын

    A great explanation of different types of databases. Great work, Marko!!

  • @withmarko

    @withmarko

    Ай бұрын

    Thanks!

  • @kodfam
    @kodfamАй бұрын

    This is a masterpiece, I have not seen different DB engines broken down in a simplest form like this. Great video ❤️

  • @withmarko

    @withmarko

    Ай бұрын

    Hey thank! I'm glad you enjoyed the video :)

  • @AugustoKalahary
    @AugustoKalahary27 күн бұрын

    Mannn what a class you just gave. Great explanations!!

  • @vengrinv
    @vengrinvАй бұрын

    This is really nice. Nice byte sized (pun intended), cohesive and straight to the point. It doesnt get into unwanted depth and focuses on the important distinction between the DB types. Well done

  • @withmarko

    @withmarko

    Ай бұрын

    Hey thanks, I really appreciate this comment 🙏

  • @WhiteRickRoss
    @WhiteRickRossАй бұрын

    Awesome! Keep going with this format.

  • @HABIBMUHD92
    @HABIBMUHD9227 күн бұрын

    Great explanation! Love this type of content.

  • @sl3mey
    @sl3meyАй бұрын

    Bro this video came perfect, i'm about to choose a databse

  • @hapaise2924
    @hapaise2924Ай бұрын

    this was a very nice video, really enjoyed it

  • @perlhacker
    @perlhacker29 күн бұрын

    awesome explaination, thanks for that, it made all the documentation that i have read more clear.

  • @sugarod_
    @sugarod_29 күн бұрын

    loving the more technicals vids!

  • @danielgilleland8611
    @danielgilleland861127 күн бұрын

    Nice overview! Gotta show my students this.

  • @Mo_ali2905
    @Mo_ali290525 күн бұрын

    Hey Man. I am living in Oslo, and I've been following you in your page since a year. Thanks for the valuable information 🙂.

  • @brunomaia6253
    @brunomaia6253Ай бұрын

    Nice and simple explanation. TOP!

  • @md.manzeralam6508
    @md.manzeralam6508Ай бұрын

    Great video and explanation!

  • @lazarkap
    @lazarkapАй бұрын

    Great video, learned some new stuff 🙌

  • @humaizuddinahmed2946
    @humaizuddinahmed2946Ай бұрын

    Would definitely like to see more videos like this.

  • @datascience_azamat
    @datascience_azamat29 күн бұрын

    Great videos educational and entertaining!

  • @UserFH9698
    @UserFH9698Ай бұрын

    Wow, I learn something new and interesting today, thanks.

  • @user-le2tz1wj6v
    @user-le2tz1wj6vАй бұрын

    this is really great video Thank you

  • @ginger-viking
    @ginger-vikingАй бұрын

    Great video, thanks!

  • @lyndontheman4093
    @lyndontheman4093Ай бұрын

    Nice! good info to take note! As always superb content marko! From Philippines! (Amping = "take care")

  • @NihadBadalov
    @NihadBadalovАй бұрын

    Hi, amazing video. What graphics tablet are you using?

  • @swarupmahata9717
    @swarupmahata9717Ай бұрын

    Very Helpful Video:)

  • @josem3363
    @josem3363Ай бұрын

    Great explanation about the different databases :) With that title I was expecting some real example about some specific use case, the db you choose and why.

  • @withmarko

    @withmarko

    Ай бұрын

    Oh, thanks for the comment :) I changed it to "How to Choose a Database" to be clearer!

  • @elav6899
    @elav689929 күн бұрын

    Hi Marko, love you videos, they are great!! Anther thing, can you tell me please what is the name of your draw program that you used in this video? Thanks!!

  • @Master-lo5df
    @Master-lo5df25 күн бұрын

    Amazing Video!

  • @zoran.stojkovic
    @zoran.stojkovic28 күн бұрын

    super video Marko

  • @bryanwi09
    @bryanwi09Ай бұрын

    Thank you so much for making this video and explaining it in detail. I am a novice at using DBs and this helped clear some questions I had. Please make more videos like this on different subjects. I have used PrismaDB (SQL) in a React app that I have made for a URL shortener I wrote in TypeScript. I like the interface Prisma uses does noSQL offer an interface like this?

  • @cody_codes_youtube
    @cody_codes_youtubeАй бұрын

    Side note: I think the chapters need to be 00:00 format for the video to update the chapters on the video itself. The 0:00 still behave as links to those parts of the video, but you get the visual chunking on the play timeline if you do 00:30

  • @withmarko

    @withmarko

    Ай бұрын

    Hey thanks, updated :)

  • @cody_codes_youtube

    @cody_codes_youtube

    Ай бұрын

    @@withmarkoOH!! That wasn’t it. It didn’t chapter because you didn’t have a beginning. You need to include 00:00

  • @Foodie-Techie
    @Foodie-TechieАй бұрын

    It was an interesting and informative video.

  • @sathyanarayanan1654
    @sathyanarayanan1654Ай бұрын

    Bro we need this kind of vlogs also

  • @faizansaleem4423
    @faizansaleem4423Ай бұрын

    I have always had a bit of hard time in understanding the reasoning behind choosing a right database. I am like 3.5 years into software engineering profession and I recently started studying a book on this very topic as I want to be able to answer questions like why I chose a certain database. Your explanation made me understand that, been following you from start and love your videos as always. Looking forward to the next episode.

  • @withmarko

    @withmarko

    Ай бұрын

    Hey thank you for such a nice comment! I'm glad the video was useful :) Good luck on your dev journey :)

  • @faizansaleem4423

    @faizansaleem4423

    Ай бұрын

    @@withmarko Thank you :)

  • @code_with_rares
    @code_with_raresАй бұрын

    That's it. I'm getting a drawing tablet! What model did you get?

  • @ankbG
    @ankbG21 күн бұрын

    What is a drawing table you acquired? How it feels to use so far, would you suggest for someone else to use?

  • @govnewchewskees
    @govnewchewskeesАй бұрын

    Please make this kind of videos more often

  • @TE_-.-
    @TE_-.-Ай бұрын

    Is there perhaps an app on the iPad that can do this too, where you can start a screen recording and the background is removed?

  • @aymenbachiri-yh2hd
    @aymenbachiri-yh2hdАй бұрын

    Keep posting like this

  • @erickisee
    @erickiseeАй бұрын

    Great explanation. The streaming dbs are used for notifications? What are the different use cases for them?

  • @withmarko

    @withmarko

    Ай бұрын

    Thanks, yes notifications are one use case for sure, if there is any communication between 2 services where one of them is expected to be unavailable for some time, or not be able to process data as quickly as it’s arriving, it’s a good idea to have a streaming database in between

  • @maxreuv
    @maxreuvАй бұрын

    Interesting take on message brokers as databases...

  • @LoranMaes
    @LoranMaesАй бұрын

    Hahaha insane, tomorrow I have a meeting with my internship to choose a DB for my bachelor thesis hahahaha. I'll enjoy this one :p

  • @withmarko

    @withmarko

    Ай бұрын

    Awesome, great coincidence 😃

  • @parcidioandre914
    @parcidioandre914Ай бұрын

    this is great... now it makes sense that kafka would be used for a payment processing application

  • @vishaltambi1400
    @vishaltambi1400Ай бұрын

    whoo great video@Marko you really did explain it well !!!

  • @inakisanchez2552
    @inakisanchez25526 күн бұрын

    big stuff,.. also the background video would be perfect as a separated video to just chill

  • @muurimc
    @muurimcАй бұрын

    Great video

  • @JDMAnt
    @JDMAntАй бұрын

    Great video, what tablet did you get?

  • @withmarko

    @withmarko

    Ай бұрын

    Hey thanks 🙏 I got the Wacom intuos 😃

  • @j.h.a6254
    @j.h.a6254Ай бұрын

    Hi! What are the specs of your MacBook? 🙂

  • @Fun9to5
    @Fun9to54 күн бұрын

    Not clear how to choose to me... You can denormalize data in relational db. You can also persist a tree of objects in json in a clob field. You can do partionning and i guest sharding in relational database. So how to choose ? Are NoSql db really more performant than relational db in that case ?

  • @abhinavghosh725
    @abhinavghosh725Ай бұрын

    I cant tell you how many people I have seen just by default go with NoSQL as its just "better" than SQL, and for some reason the popular notion is SQL is outdated. Good, short video btw !!

  • @simbolmina
    @simbolmina29 күн бұрын

    Hmm i just noticed i used mongodb like a sql db with refs all over place lol. So usage of mongodb for ecommerce i would save actual user data in documents where they are always used together, keep track of that use cases and update all of them if user changed these data, correct?

  • @withmarko

    @withmarko

    29 күн бұрын

    Hey that's a good question! If you have a very high number of reads and you are always reading a few documents together, it makes sense to just bundle them up in a single document. But if you don't have very many reads, it's not worth it.

  • @uchmd9302
    @uchmd9302Ай бұрын

    Did u delete some video in ur channel, cus i remember there is a rainy day vlog which i really enjoy to watch has disappeared😢

  • @ApurvoPal
    @ApurvoPalАй бұрын

    Do your laptop gets warm?

  • @ChristopherState
    @ChristopherStateАй бұрын

    Great explanation! Thank you! 🌟

  • @simpingsyndrome
    @simpingsyndrome29 күн бұрын

    Now i'm using Graph Relational Database like EdgeDB foe my project

  • @eytanbenittah
    @eytanbenittah24 күн бұрын

    What Tablet Is That?

  • @Simple_OG
    @Simple_OGАй бұрын

    What's your view on using Golang as a backend?

  • @withmarko

    @withmarko

    Ай бұрын

    It’s a great choice, I wish I knew that language better, but I really like the design philosophy of it

  • @ermarscaster4553
    @ermarscaster4553Ай бұрын

    bro can you talk about internship offers ?

  • @IgorBondarenko
    @IgorBondarenkoАй бұрын

    wow, so cool

  • @jimprix179
    @jimprix179Ай бұрын

    You know, just asking, but where do you work now??

  • @Iker_Tech

    @Iker_Tech

    Ай бұрын

    He's working at kahoot

  • @Le0chkh4idze

    @Le0chkh4idze

    Ай бұрын

    I'm Pretty Sure He Works At The Kahoot Office In Norway!

  • @withmarko

    @withmarko

    Ай бұрын

    Yep that’s true 😃

  • @justinkim7202
    @justinkim720227 күн бұрын

    Normalisation does have the advantage of saving disk space but the question is, was normalisation designed with the main goal of saving disk space? I don't think so. I'd argue that the main design goal was avoiding data inconsistency due to data redundancy over space efficiency. So I personally wouldn't claim that "normalisation" was designed as a means to save disk space.

  • @Gabriel-ue3jf
    @Gabriel-ue3jfАй бұрын

    How many hours of coding does your laptop lasts on battery?

  • @withmarko

    @withmarko

    Ай бұрын

    Hey if I’m just coding, not running some crazy docker containers, then 10 hours easy

  • @hezypubgmobile
    @hezypubgmobileАй бұрын

    Bro which mac are you using?

  • @withmarko

    @withmarko

    Ай бұрын

    Hey this is an M1 Pro 16in

  • @hezypubgmobile

    @hezypubgmobile

    Ай бұрын

    @@withmarko Thanks:)

  • @webcoderph
    @webcoderphАй бұрын

    Oh yeaaaah🎉

  • @jamesfraser1622
    @jamesfraser1622Ай бұрын

    I'm learning SQL, want to be a Data Analyst

  • @svmrat14
    @svmrat14Ай бұрын

    Hey Marko !

  • @withmarko

    @withmarko

    Ай бұрын

    Hey 😃

  • @aaaaanh
    @aaaaanhАй бұрын

    If anyone wants to get into the nitty gritty things of exchanging/storing/mutating data between systems, highly recommend the enterprise integration patterns book

  • @withmarko

    @withmarko

    Ай бұрын

    Hey thanks for the recommendation 🙏

  • @NodeWanted
    @NodeWantedАй бұрын

    I thought Cassandra was a NoSQL database?

  • @gourabsarker9552
    @gourabsarker9552Ай бұрын

    Sir if you earn 800k Kroners a year before taxes then what is your take home pay after taxes and deductions in Norway? Plz reply. Thanks a lot.

  • @withmarko

    @withmarko

    Ай бұрын

    Hey please google “income tax in Norway” 😃

  • @karliszemitis3356

    @karliszemitis3356

    Ай бұрын

    Depends on tax deductions. But generally around 45k nok/month

  • @DontAsk12
    @DontAsk12Ай бұрын

    hi

  • @AliImam-cs9ni
    @AliImam-cs9niАй бұрын

    Hello Marko

  • @znydd
    @znyddАй бұрын

  • @MarlonRibunal
    @MarlonRibunalАй бұрын

    If I am asked, I always say SQL. I'm a SQL DBA damnit!

  • @nikichashadow
    @nikichashadowАй бұрын

    hi marko :)

  • @withmarko

    @withmarko

    Ай бұрын

    Hello 😃

  • @chedilahmer

    @chedilahmer

    Ай бұрын

    @@withmarko please more of this videos i learned so much 🥰

  • @Elisei178
    @Elisei178Ай бұрын

    second

  • @rayansattarkhan6807
    @rayansattarkhan6807Ай бұрын

    I guess I am the first.

  • @Elisei178
    @Elisei178Ай бұрын

    fest

  • @Apenschi
    @ApenschiАй бұрын

    This explanation is far too simplified, even though I know it's difficult to do in 11 minutes. SQL databases have many decades of optimization behind them and what they do cannot be done any faster! If a system claims to be faster, it leaves out essential functions (see “ACID”). The decision in favor of NoSQL should probably mainly made in the case of unstructured or weakly structured data. You also have to be sure in advance that you won't need complex queries later on. I fear that the decision in favor of NoSQL is mainly made because it is easier to use... which is the wrong reason! By the way, the reason for normalization is not storage space, but speed and data integrity.

  • @nikichashadow

    @nikichashadow

    Ай бұрын

    thankks for explaing

  • @withmarko

    @withmarko

    Ай бұрын

    It’s very oversimplified of course haha, KZread is not university. The sentence “what they do cannot be done any faster”doesn’t carry much information. Don’t criticize and then hedge like that🙃 I totally agree I missed the point with data integrity, that’s a big one. Thanks for the comment, I appreciate it 🙏

  • @Fran-kc2gu

    @Fran-kc2gu

    Ай бұрын

    Yeah, pretty basic information every developer should know

  • @Apenschi

    @Apenschi

    Ай бұрын

    @@withmarko “what they do cannot be done any faster” carries the information that a database can't be faster without loosing essential features. If you don't need these features, because you have document-like data and only need primitive read requests, it's absolutely fine to choose a NoSQL Database, BUT you should be aware of what you are loosing. So, in a video that is comparing the two, you should at least mention the advantages of SQL Databases, what would cost only 2 mins more. That said, I appreciate your work and already watched a lot of your videos and enjoyed them!

  • @TheLukasz222
    @TheLukasz222Ай бұрын

    I think that explaining how SQL / NoSQL databases work is a bit insulting to your viewers :D

  • @nikichashadow

    @nikichashadow

    Ай бұрын

    i am pesonaly not good with backend so it kinda helped me

  • @withmarko

    @withmarko

    Ай бұрын

    Haha, didn’t mean to insult 😃 I know people in my audience are smart, but then again… I wanted to try the drawing tablet 🤓

  • @nikichashadow

    @nikichashadow

    Ай бұрын

    @@withmarko I hope it serves you well

Келесі