How to Choose a Database (SQL vs. NoSQL)

Поділитися
Вставка
  • Опубліковано 5 тра 2024
  • 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
  • Наука та технологія

КОМЕНТАРІ • 127

  • @sidorrobert
    @sidorrobert Місяць тому +86

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

    • @anashe5417
      @anashe5417 Місяць тому +1

      uuuuh something about vectors or graphs would be nice

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

      yes please! make a video about graph databases

    • @gborgesw
      @gborgesw 23 дні тому

      Totally! Would love one about these!

  • @Andrew-wh7uy
    @Andrew-wh7uy Місяць тому +22

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

  • @danielgilleland8611
    @danielgilleland8611 Місяць тому +2

    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.

  • @uriastriumph4780
    @uriastriumph4780 Місяць тому +5

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

  • @raptisj
    @raptisj Місяць тому +1

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

  • @latch909
    @latch909 Місяць тому +1

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

  • @reecey1504
    @reecey1504 Місяць тому +1

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

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

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

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

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

  • @AugustoKalahary
    @AugustoKalahary Місяць тому +1

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

  • @sl3mey
    @sl3mey Місяць тому +6

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

  • @kodfam
    @kodfam Місяць тому +1

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

  • @KarunJose-hb8ou
    @KarunJose-hb8ou Місяць тому

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

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

    Great explanation! Love this type of content.

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

    Nice overview! Gotta show my students this.

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

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

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

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

    Nice and simple explanation. TOP!

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

    this was a very nice video, really enjoyed it

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

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

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

    Would definitely like to see more videos like this.

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

    loving the more technicals vids!

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

    Great video, learned some new stuff 🙌

  • @md.manzeralam6508
    @md.manzeralam6508 Місяць тому

    Great video and explanation!

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

    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!

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

    Very Helpful Video:)

  • @zoran.stojkovic
    @zoran.stojkovic Місяць тому

    super video Marko

  • @Master-lo5df
    @Master-lo5df Місяць тому

    Amazing 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!

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

    Bro we need this kind of vlogs also

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

    Interesting take on message brokers as databases...

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

    Please make this kind of videos more often

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

  • @Foodie-Techie
    @Foodie-Techie Місяць тому

    It was an interesting and informative video.

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

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

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

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

    Great video

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

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

  • @inakisanchez2552
    @inakisanchez2552 19 днів тому

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

  • @aymenbachiri-yh2hd
    @aymenbachiri-yh2hd Місяць тому

    Keep posting like this

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

  • @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  Місяць тому +1

      Awesome, great coincidence 😃

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

  • @Kraked312
    @Kraked312 2 дні тому +1

    hello Marko! can you tell me the name of the stand desk you have under the monitor please?

  • @JDMAnt
    @JDMAnt Місяць тому +1

    Great video, what tablet did you get?

    • @withmarko
      @withmarko  Місяць тому +2

      Hey thanks 🙏 I got the Wacom intuos 😃

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

  • @cody_codes_youtube
    @cody_codes_youtube Місяць тому +1

    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  Місяць тому +1

      Hey thanks, updated :)

    • @cody_codes_youtube
      @cody_codes_youtube Місяць тому +1

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

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

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

  • @TE_-.-
    @TE_-.- Місяць тому +1

    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?

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

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

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

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

  • @opencode1
    @opencode1 День тому

    Hey Marko what drawing tablet do you use?

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

    Great explanation! Thank you! 🌟

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

    wow, so cool

  • @j.h.a6254
    @j.h.a6254 Місяць тому

    Hi! What are the specs of your MacBook? 🙂

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

    Oh yeaaaah🎉

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

    Do your laptop gets warm?

  • @Fun9to5
    @Fun9to5 16 днів тому

    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 ?

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

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

    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  Місяць тому

      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.

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

    bro can you talk about internship offers ?

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

  • @jimprix179
    @jimprix179 Місяць тому +5

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

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

      He's working at kahoot

    • @Le0chkh4idze
      @Le0chkh4idze Місяць тому +1

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

    • @withmarko
      @withmarko  Місяць тому +5

      Yep that’s true 😃

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

    What Tablet Is That?

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

    Bro which mac are you using?

  • @jamesfraser1622
    @jamesfraser1622 Місяць тому +1

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

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

    Hey Marko !

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

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

  • @aaaaanh
    @aaaaanh Місяць тому +1

    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 🙏

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

    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.

  • @AliImam-cs9ni
    @AliImam-cs9ni Місяць тому

    Hello Marko

  • @DontAsk12
    @DontAsk12 Місяць тому +1

    hi

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

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

    hi marko :)

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

      Hello 😃

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

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

  • @NodeWanted
    @NodeWanted Місяць тому +1

    I thought Cassandra was a NoSQL database?

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

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

  • @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, UA-cam 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 Місяць тому +1

      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 Місяць тому +1

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

    • @withmarko
      @withmarko  Місяць тому +2

      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