How Notion Scaled to 100 Million Users Without Their Database Exploding

Поділитися
Вставка
  • Опубліковано 20 гру 2024

КОМЕНТАРІ • 287

  • @kikisbytes
    @kikisbytes  2 місяці тому +124

    Notion hit 100 million users recently so I wanted to do quick cover of their database evolution. Hope you get to learn something from this. Thank you again for taking the time to watch this video and for your continued support!

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

      What tools do you use to make your videos? I love them!

  • @jackdavenport5011
    @jackdavenport5011 2 місяці тому +760

    This video has made me realise how much of a nightmare it must be to scale up a database in production. But Notion is insanely fast now so it obviously paid off well.

    • @kikisbytes
      @kikisbytes  2 місяці тому +12

      hahah definitely!!

    • @Ergydion
      @Ergydion 2 місяці тому +26

      In which world is notion fast?
      Always takes notable amount of time to just load my shopping list

    • @user-jt4hx
      @user-jt4hx Місяць тому +11

      notion is many thing but not fast 🤣

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

      I'm passing by this nightmare in my company right now, in our case we're gonna migrate to TiDB instead of sharding

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

      @@Ergydion I find the initial load can take a second or two but making edits are basically instant

  • @smithwillnot
    @smithwillnot 2 місяці тому +158

    What do you want to shard?
    Notion engineers: YES

  • @GuRuGeorge03
    @GuRuGeorge03 2 місяці тому +137

    coming up with this solution is tough for sure but the real challange is orchestrating all the teams and people involved in this. that job is incredible and I bet there were a few key people who managed all this and had to do a lot of overtime to achieve it, especially when critical errors & bugs popped up

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

      Exactly what I was thinking... I was reminescing over what my company went through when we converted from a monolith to a micro-services architecture, but this... this is something you can't do without investor money, the literal best talent, and some of the best management in the world.
      Whoever these engineers and project managers are should be incredibly proud.
      Also, can you imagine being a new backend dev or database guy at Notion :D:D:D:D:D:D

  • @bhaaratsharma6023
    @bhaaratsharma6023 Місяць тому +19

    We recently did a db upscale with around 12tb of data which is just a fraction of what Notion did and it was already a herculion task for us. It took us weeks of planning and work to make it a success. Working with data is one of the most challenging things in IT

  • @тимур_атмосферный
    @тимур_атмосферный 2 місяці тому +348

    bro casually dropped 1mil+ youtuber level content

    • @kikisbytes
      @kikisbytes  2 місяці тому +16

      hahaha that so nice for you to say!!

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

      Думаю классный коммент, а тут еще и ру

  • @foreverskeptical1
    @foreverskeptical1 2 місяці тому +76

    Your videos are so short and clean. Even though I am just a recent grad I get a lot of value from these vids. also didnt realize you could scale so much wwith postgresql

    • @kikisbytes
      @kikisbytes  2 місяці тому +2

      yay I'm so glad! As long as you can learn something new I'm happy!! Are you currently job hunting or already working?

    • @anirbanpatra3017
      @anirbanpatra3017 2 місяці тому +1

      ​@@kikisbytes
      I am job hunting. 😂Help me get a job

  • @andrefu4166
    @andrefu4166 2 місяці тому +170

    insanely underrated channel, you're gonna be huge

    • @kikisbytes
      @kikisbytes  2 місяці тому +13

      hahah thank you!! Just want to make videos that are educational and fun to watch :)

    • @Kasukke
      @Kasukke 2 місяці тому +2

      Agreed. I wish there was more of this type of content. In-depth, real problem solving.

  • @siddair
    @siddair 2 місяці тому +3

    Great video!! Loved this level of detail along with the animations. This is a differentiating factor from many other videos on such topics that don't go into detail but cover such topics at a very high level. You could link to explanations of some of the concepts mentioned for understanding but continue keeping this level of detail as that is what makes it great in the first place!

  • @code5834
    @code5834 2 місяці тому +89

    Engineering team at notion did a fantastic job !

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

      for sure!

    • @Flocksta
      @Flocksta 2 місяці тому +4

      Yea they did an amazing job hiring a young freelancers underpaying theym by a factor of 2/3.

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

      @@Flocksta yeah that is very true !
      i totally agree with you.
      Talent is used to maximum but compensation is tried to keep at minimum for them to improve the profit margins, sad reality!

  • @captdev
    @captdev 2 місяці тому +27

    This is crasy good content dude! You will be 1+ million views in no time

    • @kikisbytes
      @kikisbytes  2 місяці тому +4

      awhhh thank you, I appreciate that!! 😭

  • @ask_carbon
    @ask_carbon 2 місяці тому +8

    Good god I feel tired just going through this can't even imagine the stress on DBAs and System architects in Notion

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

    This is great PR for Notion. I loved Notion when it arrived, went all in, then it slowed to a painful pace so I jumped to Obsidian.... This has got me buzzed to come back to Notion! Great video

  • @justlovecode2522
    @justlovecode2522 2 місяці тому +4

    nice English subtitles, wow. you deserve a like!

  • @kiro_f
    @kiro_f 2 місяці тому +21

    These videos are always so good, always happy to see when a new one is posted :)

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

      Awhh thank you so much for your support! I truly appreciate that!

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

    Great video! Just want to appreciate your videos as no one else does good summaries of engineering blogs or writeups, and I appreciate the lack of dilution of the concepts since there's just way too much content catered to beginners and not enough of more mid-level content like yours (digestable, consumable summaries of interesting solution architecture writeups) out there on UA-cam.

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

      Thank you for letting me know! It’s definitely a goal to make videos for people with experience. I was also worried that people wouldn’t be able to follow. But I’m glad that intermediate folks are okay with the pace

  • @TokuyuuTV
    @TokuyuuTV 2 місяці тому +3

    so educational and entertaining at the same time!! i know nothing about systems but the video was so well-paced and funny I kept watching

    • @kikisbytes
      @kikisbytes  2 місяці тому +1

      Thank you Tokuyuu I'm going to cry now😭 Awaiting your next release!

  • @SPOOKEXE
    @SPOOKEXE 2 місяці тому +1

    Watched a couple vids and they're wicked! Love the newer videos you've been uploading!

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

    Amazing Video! I'll have to rewatch this over and over to understand it more.

  • @Redyf
    @Redyf 2 місяці тому +1

    What an amazing video, production quality at its highest level. 😁

  • @reggielj
    @reggielj 2 місяці тому +179

    I'm not smart enough to be here.

    • @kratosgodofwar777
      @kratosgodofwar777 2 місяці тому +36

      Bro for real I'm gonna shard myself in a minute

    • @lukababu
      @lukababu 2 місяці тому +7

      @@kratosgodofwar777 "Go shard yourself" might be the most CS insult ever

    • @hd_y
      @hd_y 2 місяці тому +4

      yeah same, i'm just nodding the entire time like i know what i'm watching

  • @ruslan_yefimov
    @ruslan_yefimov 2 місяці тому +2

    Great animations! Don't stop this

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

      ty ty glad you enjoyed this video!

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

    A company I worked for faced similar issues during Covid. We were IOPS heavy, relied on SMB, Windows nested folders additionally. It was fixed using a technique similar to what Notion did here.

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

      Heh the profile Pic explains why it's so

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

    Very interesting video with some cool networking and ideas related to breaking up problems relating to their datastructures

  • @davidmata3104
    @davidmata3104 2 місяці тому +6

    Wouldn't it be easier to use a No-SQL database like Cassandra?
    Cassandra already manages all the logic to distribute the data in partitions.
    It also distributes the data into the different nodes and by its nature it scales horizontally.

    • @cestlacroix
      @cestlacroix 2 місяці тому +2

      that's exactly what i suggested

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

      or easier, they could use YugabyteDB or CockroachDB, they are almost 100% postgres compatible and scales horizontally by automaticaly sharding the data

    • @Aramik-lp5fn
      @Aramik-lp5fn 2 місяці тому +4

      My guess is that in their core product they are relying heavily on some sql features that they couldn’t afford to lose and that’s why chose extreme sharding compared to no-sql

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

      Their data is relational, why would they use non-relational database?

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

      ​@@alexander_farkas you are right. Why would someone would want to use a hammer to drive a nail if they already have drill? 😂

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

    Great video. Great topic. Adapting your infrastructure to your customer growth is one of the hardest thing to do. Sooo many constraints. Great job notion !

  • @tarun-hacker
    @tarun-hacker 20 днів тому

    Very well explained, on the scaling aspects.

  • @atomiccoding
    @atomiccoding 2 місяці тому +1

    Awesome video!
    How do you make such awesome animations?

  • @69k_gold
    @69k_gold 2 місяці тому +28

    I think Notion is still pretty slow for a majorly text-oriented application. I mean yes it does support non-text objects, but it's majorly text-based, and it's as slow as OneNote sometimes. Should text really take that long to load? Idk

    • @F7gi87j63aZq
      @F7gi87j63aZq 2 місяці тому +2

      Go, Obsidian, go!!!

    • @user-dc9zo7ek5j
      @user-dc9zo7ek5j 2 місяці тому

      @@F7gi87j63aZq Obsidian is a local application that works with files, while Notion is a shared application that works with databases between million users.

    • @user-dc9zo7ek5j
      @user-dc9zo7ek5j 2 місяці тому

      Its slow not because there is a lot of text, but because they have a lot of abstractions and services that they ask for your data in a representable format. Just like any other big company app, making many requests to many things at once seems like a fine approach. This is probably so that they allow large teams to work independently. I remember a Doordash developer interview that said they have around 500 microservices which is a bit too much for me. Good performant alternative to Notion is MediaWiki. Its design is "old-school" and it runs very quick.

    • @veryCreativeName0001-zv1ir
      @veryCreativeName0001-zv1ir 2 місяці тому +2

      if you value time you use notion else use obsidian

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

      @@veryCreativeName0001-zv1ir lol that's the stupidest comparison between Notion and Obsidian. I have been using Obsidian aggressively since more than a year, I can't be shifted to any other platform.

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

    Document based database seems the best data architecture here. Notion is very document centric. Having 1 document as a doc in db makes so much sense. Sharding and clustering would be a lot easier because the relationship between documents will be minimized.
    I guess they had a wrong architecture in the first place and its too hard to change in the middle of the exponential growth.

  • @hecker688
    @hecker688 2 місяці тому +1

    awesome information so in-depth, would be great if you could explain the research that went behind learning about how they did it and why they did it! insane video 💯

    • @kikisbytes
      @kikisbytes  2 місяці тому +1

      Thank you for the feedback!! Yeah I definitely cut down some details to try to fit within the time limit but will keep that in mind for the future

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

    beautifully illustrated

  • @kittoh_
    @kittoh_ 2 місяці тому +1

    Awesome content! What did you use for that animation? Very smooth.

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

    awesome video dude, thanks for this great video

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

      Thank you for taking the time to watch this video!

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

    Congrats for the content Kiki!

  • @t3chnicolor
    @t3chnicolor 2 місяці тому +2

    How did you make this video? Was it all AFX from scratch, or something like Prezi?

  • @mrexplorerrishabh2185
    @mrexplorerrishabh2185 2 місяці тому +1

    Great video. Very nicely explained. Which software do you use to create these kind of animated videos ?

  • @googleaccount7252
    @googleaccount7252 2 місяці тому +1

    Really nice how do you edit your videos?

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

    Thanks for the video
    Amazing job

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

    How are these animations made if you dont mind sharing? They are glorious! :) is it motion canvas??

  • @BenHouston3D
    @BenHouston3D 2 місяці тому +19

    Just continually sharding their DB across more and more machines seems like a linear solution to their exponential user growth. Isn't there something they can change in their architecture to avoid needing 96 separate DB instances? That is sort of ridiculous.

    • @KenSnyder1
      @KenSnyder1 2 місяці тому +11

      My thought too. I suspect they could make the application much smarter by putting in-progress work into a non-sql database to avoid frequent writes to postgres. Also, one row for each text block seems over normalized. End armchair analysis.

    • @user-dc9zo7ek5j
      @user-dc9zo7ek5j 2 місяці тому +6

      Their team is big (It says that they are around 500 total employees), probably around 200, working on different parts of the app. Most of them probably fall into "this is not my job" or "I don't have enough power to say" type of situation and they keep patching.

    • @Zuriki09
      @Zuriki09 2 місяці тому +4

      ​@@KenSnyder1 seems like it would just shift the problem to another system. OK, your pgsql isn't getting hammered with writes, but now your redis, mongodb, etc. is and then it's still going to push all that data to pgsql anyway and also you have to pull down from both pgsql for committed data and then reconcile that with uncommitted data in your intermediate store in order to get consistency for the user.
      For users they also tend to notice read delays more than write delays unless the write delay is substantial or catastrophically fails.
      Besides which, this video is narrowly focused on how they fixed specifically a database problem. We don't know if they already had other performance solutions in place such as caching unchanged blocks or whole documents to avoid database reads.

    • @JoãoLinharesGomes
      @JoãoLinharesGomes 2 місяці тому +4

      Yeah, it kind of seems like they should've stuck with writing to a NoSQL database like Dynamo and streamline everything to be stored in the postgres database, maybe. Maybe they didn't do it because Notion needs immediate reads after writing data as events, but that would be probably faster using Kafka. But who am I to tell this is the best solution. That's not easy at all Imao.

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

      @@JoãoLinharesGomes One of their goal was also to reduce cost. Introducing Dynamo to such a large model would certainly not do that :D

  • @aadarsh8306
    @aadarsh8306 2 місяці тому +2

    Awesome make more videos explaining these stuff

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

      Thank you, will do for sure!!

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

    thank you for this good explanation

  • @raghavmahajan3341
    @raghavmahajan3341 2 місяці тому +2

    tldw: sharding + better connection pooling + pub-sub based migration

  • @rigveddesai5843
    @rigveddesai5843 2 місяці тому +2

    amazing engineering and a great video explaining it all, just wondering why you would be happy with ~20% cpu utilization during peak hours, sorry if it sounds like a noob question but i genuinely don't get it

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

      CPU utilization is the amount of the CPU that the application is using up. So high CPU utilization is a bad thing. CPU utilization at 100% means your application taking up all the computational power of the CPU, which is bad because now no other programs can run

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

      @@sakamad4856 i assume notion would be running their dbs on dedicated servers? i get why 100% would be bad, but 20 seems too low lol

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

      I think they're saying is what used to be 90-100%+ utilization is now 20%, not that 20% is some magical number they landed on

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

      This is a good question! I used to work at a team where our postgres instance was nearing and sometimes hitting full utilization. This was scary because we were running some critical services and our db performance was soo bad that our queries were super slow to a point where requests were being dropped. So I can see why notion was happy that it dropped to ~20% and not having to deal with these types of issues. On the plus size, it gives room for future growth that they won't have to worry about for a while.

    • @user-dc9zo7ek5j
      @user-dc9zo7ek5j 2 місяці тому

      They allowed the utilization to go down because of the optimization they did. Keeping your utilization high can be dangerous because peak usage can cause bottlenecks and even cascade failures from time contraints. I had a project that was using 10% for 22 hours, but the other 2 hours it was taking 80% CPU. It is always better to have more space than you need. Plus at that scale that they are operating it does not really matter the cost and wastefulness.

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

    Thank you for the Heavenly Path cameo!

  • @vorandrew
    @vorandrew 2 місяці тому +1

    how do you do your animations?

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

    Having a record for each block of the document is crazy, I wonder what was the reason behind this decision.

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

    Hi Kiki. I enjoyed this video. In the future try to slow down a little during presentation & graphics for a better learning experience.

  • @nlama-i7y
    @nlama-i7y 2 місяці тому

    how to take backup and restore in case of sharding

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

    This video overwhelms me🤯

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

    Great channel 🎉

  • @Friendry
    @Friendry 2 місяці тому +1

    Really enjoying your videos, keep them up!

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

    how you edit videos

  • @groli3335
    @groli3335 13 днів тому

    Cuz they have very love sync freq, when you update something it doesnt appear for another user for minutes.

  • @adamjones9600
    @adamjones9600 11 днів тому

    Such a great video. How do you get this info in curious? Subscribed.

    • @mathesukk
      @mathesukk 11 днів тому

      the refs are in the description

  • @Gabzes
    @Gabzes 14 днів тому

    Definitely seems to me like a document database would be the solution to store that type of data

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

    Why didn't they use a database layer like Redis for caching?😊

    • @ODoyleRules-uh4hc
      @ODoyleRules-uh4hc Місяць тому

      It's quite possible they wouldn't see enough benefit from caching to justify using it. There might not be enough people sharing the same documents to see much performance improvement, and every time someone made an edit to a document the cache would need to be updated.
      I suppose it depends on how they check for updates, etc.

  • @somedayitsgonnamakesense
    @somedayitsgonnamakesense 2 місяці тому +11

    as a newbie Sol Archi. my brain hurts lmao

    • @kikisbytes
      @kikisbytes  2 місяці тому +4

      Haha dw some day it’s gonna make sense 😉

    • @kikisbytes
      @kikisbytes  2 місяці тому +4

      Jokes aside how was your transition to solution architect?

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

    Amazing video!

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

      Ken!!! Omg thank you for taking the time to watch this video!!

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

    You deserve more subscribers.

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

    Great video thanks

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

    Imagine being the new guy on the DB team at Notion...

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

    Can and do they do backups?

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

    Noting to never interview for Notion XD.. But jokes aside, it's a huge effort collaborating with the team all the while maintaining the development of such a feature.. kudos to the team

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

    imagine going to the meeting with stakeholders and explaining to them why the billing jump 400% in one month.

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

    Were those inconsistent size blocks within blocks within blocks stored out in the wild instead of belonging to a specific user?
    Also, having an id for each and every action must be a nightmare especially since they didn't do ULIDs.

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

    This is amazing!

  • @vedangmirashi
    @vedangmirashi 2 місяці тому +4

    Awesome in-depth video. As stated in some other feedback comment, it might be a bit overwhelming for beginners or people with non-expert level of tech understanding (who are majority of the target audience on UA-cam).
    You could maybe incorporate some short explainations in about a concept (shard, pgbouncer, etc.). People who are interested in learning that concept can always go to a more detailed in-depth video (you can also route them to your topic related videos if available)
    More power to you and good luck! Subscribed

    • @xetera
      @xetera 2 місяці тому +2

      I disagree, it's nice to see a channel just tell an animated story like an engineering blog without watering everything down to a tutorial like every other channel

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

    I’m curious if any in-memory caching was considered or also used on this expansion odyssey. Not every read needs to go to the database.

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

    Hello, thats a amazing content!!! keep doing and you will become 10ml channel soon!!!
    what do you use for animations?

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

    if their user is exploding again then they would need to do the same thing again right? is this the industry standard on scaling the database or did they just stuck on this tech? I feel like this kind of scaling will hit a wall sometimes soon

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

    timeline and team size would be nice to know

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

    What is the Team count at that time ?

    • @kikisbytes
      @kikisbytes  2 місяці тому +1

      Don't quote me on this but iirc back in 2021 they had around 150 employees. So their engineering team is probably 50-70 I wanna say. I could be wrong

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

    Another top level video

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

    Is this the same as db normalisation.

  • @Pipe0481
    @Pipe0481 2 місяці тому +7

    That was an awesome explanation, I almost understood some of it!
    Not your fault though, I'm not the brightest

    • @kikisbytes
      @kikisbytes  2 місяці тому +1

      Thank you for watching and please let me know how I can improve to make it even easier to understand!

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

      @@kikisbytes I personally think this video was perfectly paced and is the right length of time for what it covered. You obviously need some background in the concepts to understand them, so making it easier to understand would be to actually teach the concepts / technologies as well which would be an entirely different video, in my opinion.

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

    Next level of DB scalability is Decentrailzed Storage solutions.

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

    The things that come to mind when I see this: replication and upgrades. Good luck Notion!

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

    Great video. To the point without any zig zag, but the audio do not feel natural.

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

      Thank you for the feedback. I'm still trying to figuring out audio so please bear with me while I get the right settings :)

  • @thiagomiranda3
    @thiagomiranda3 6 днів тому

    I don't get why they use this block model. Aren't those blocks only used in a single document? Why put this in multiple rows instead of creating a single document row that contains all blocks? This would decrease the number of requests to the database so much, they maybe wouldn't even need to scale up so much

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

    What did I just listen to at 4 in the morning

  • @mohitkumar-jv2bx
    @mohitkumar-jv2bx 2 місяці тому

    Awesome video. and definitely great engineering.
    But i am not getting why they are storing the actual "content" in postgres. I mean they could store the metadata in the postgres but the actual content in something like s3 or maybe minio?
    could it be because they were trying to use postgres to handle "concurrent updates" to the same blob? I would definitely like to understand their reasoning to do so

    • @jackdavenport5011
      @jackdavenport5011 2 місяці тому +3

      I assume images and file attachments would probably be in S3 or something, but I'm guessing blocks that only contain text can probably just go directly into the database.

    • @mohitkumar-jv2bx
      @mohitkumar-jv2bx 2 місяці тому

      @@jackdavenport5011 ok. Could be. In the video, the was a “content” column showing jpg, text etc. thats why i asked.

    • @kikisbytes
      @kikisbytes  2 місяці тому +1

      Jack did a good explanation here! Yeah mb I definitely should of use something else to reference the image. I was too focused on subscribe to kiki's bytes -.-

    • @mohitkumar-jv2bx
      @mohitkumar-jv2bx 2 місяці тому

      @@kikisbytes got it. I was just trying to understand. but a great video. i have this video saved so that i can use it to revise the partitioning and sharding a relational database.

    • @kikisbytes
      @kikisbytes  2 місяці тому +1

      @@mohitkumar-jv2bx awesome!! Don't mean to self plug here but my last video goes a bit more in detail with partitioning and sharding if you're curious. It just talks about how we can take a single server and scale it up and take a look at system design topics. Not sure if that will be useful at all to you but I'll leave the link below if you're curious :) Thank you again for taking the time to watch this video! ☺
      ua-cam.com/video/FxAom29OEKE/v-deo.htmlsi=DNWcmKsaq0nBIyby

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

    db migrations are always painful, great to see they had a solution

  • @_prothegee
    @_prothegee 2 місяці тому +1

    96 cpu still overwhelmed? w00t?

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

    Notions dark read testing? 7:30 this term is not existing

  • @5590priyank
    @5590priyank 2 місяці тому +2

    The reason postgres goes in read only mode when transaction ids are exhausted is - read operations do not need transactions, only write operations need. hence read operations can still go on without the need of new transaction ids for them.

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

    I wonder why they did not use a document database from the get go

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

    You are a 1 million UA-camr in disguise

    • @kikisbytes
      @kikisbytes  15 днів тому

      hahaha that means alot! One day we'll get there!

  • @abhayshandle
    @abhayshandle 2 місяці тому +1

    could have used json type of database instead.

  • @donovangg
    @donovangg 17 днів тому +1

    You gotta give us the link to the waifu document bro

    • @kikisbytes
      @kikisbytes  15 днів тому

      haha you know I can't share that 😂

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

    So what you're saying is that they should've started with Cassandra.

  • @halcyonramirez6469
    @halcyonramirez6469 10 днів тому

    So they essentially implemented a b-tree?

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

    Why would you only want 20% utilisation on your instances? Isn’t that an underutilisation of resources?

    • @rajumondal4283
      @rajumondal4283 2 місяці тому +2

      It's left for unwelcomed spikes

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

      yeah good question! I think that the reason for that is they wanted each instance to have lower load. The 20% utilization was post sharding so it's definitely going to go up as data starts to fill each shard more in the future. Considering how much they've grown, it definitely more than 20% now.

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

    Why they chose postgres?

  • @srki22
    @srki22 2 місяці тому +7

    This shows why it was better to use a distributed DB in the first place. Cassandra, DynamoDB...

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

      Exactly, would be interesting to calculate the technical debt due to Postgres in that case vs using a distributed solution

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

      "in the first place", oh wow we got a genius over here.

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

    What about firestore ? 😮

  • @prashanthb6521
    @prashanthb6521 12 днів тому

    This became so complex.

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

    These are the kinds of problems I’d kill my business to have😂

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

    Currently building product with postgres this gives me nightmares 😢