How Pinterest Scaled to 11 Million Users With Only 6 Engineers

Поділитися
Вставка
  • Опубліковано 23 лип 2024
  • In this video, we will be exploring how Pinterest managed to scale to 11 million users with only 6 engineers. We are going to explore their early tech stacks, issues they ran into with scaling and how they overcame those obstacles.
    Original article link: highscalability.com/blog/2013/...
    Timeline:
    00:00:00 - Intro
    00:00:10 - Background story
    00:01:48 - What is clustering?
    00:03:20 - What is Sharding?
    00:03:37 - Sharding prereq work
    00:04:04 - Issue 1
    00:04:42 - Transition to sharding
    00:06:35 - Issue 2
    00:07:14 - Other issues
    00:08:01 - Takeaways and ending
    Credits:
    - Copyright Music] Chill Lo-fi Hip Hop Beat FREE Instrumental (Copyright Free) Chillhop Music: • [No Copyright Music] C...
    - (no copyright music) lofi type beat “biscuit” | free vlog music | prod. by lukrembo : • (no copyright music) l... - Pieces - After The Fall - • Pieces - After The Fall
  • Наука та технологія

КОМЕНТАРІ • 161

  • @mysticrustacean4065
    @mysticrustacean4065 5 місяців тому +279

    This video proves two important things to me:
    1. Quality is far over quantity in hiring for engineers.
    2. Simplicity principles like KISS is a blessing in any form of engineering

    • @verainsardana
      @verainsardana 5 місяців тому

      @yestechguy-fj9tm Depends on work in quantity vs quality.

    • @verainsardana
      @verainsardana 5 місяців тому +3

      @yestechguy-fj9tm im a software engineer and sometimes there are alot of features to implement which are pretty basic. Ofcourse designing a scalable application isn’t one of them

    • @kikisbytes
      @kikisbytes  5 місяців тому +3

      agreed and even more critical if you're just starting out!

    • @ciprianparaschiv7591
      @ciprianparaschiv7591 5 місяців тому +1

      The less 'moving parts' there are, the less prone to failure something will be.

    • @JAODc-fo9gf
      @JAODc-fo9gf Місяць тому

      Absolutely, the book The Mythical Man-Month written by Fred Brooks talks about this, I recommend a lot reading this book, it helps you prevent erros that when you know it, it seems obvious, but when you don't know, it leads to a catastrophe

  • @jatiquep5543
    @jatiquep5543 5 місяців тому +216

    As a very new developer... I do not understand many things he is saying.... I am just amazed by the ingenuity of engineers... I hope to be like one one day

    • @abtuly
      @abtuly 5 місяців тому +18

      read the first few chapters in Designing data intensive application

    • @kikisbytes
      @kikisbytes  5 місяців тому +35

      Heyy don't worry if you don't understand these concepts as you're starting out! I honestly didn't know much myself when I first started. Had to spend a lot of time studying system design for interviews and that's how I started to learn more about system architecture.
      If you're interested github.com/donnemartin/system-design-primer is a really good resource.

    • @jatiquep5543
      @jatiquep5543 5 місяців тому

      Thanks

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

      me neither, lol.
      done projects using postgresql for about 3 years, but haven't used any of these tools or faced problems like this due to projects being built for low user counts (local industrial facilities etc)

    • @MannysTechWorld
      @MannysTechWorld 5 місяців тому

      Read up on scaling up a database....that's the basics basically then a lot of it is system design

  • @rigveddesai5843
    @rigveddesai5843 5 місяців тому +70

    very beautifully made video, i wonder how it has only 2.7k views with such high quality

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

      haha thank you! I just like making these type of videos and I just hope that my viewers learn a thing a two :)

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

      the views are coming

    • @Kabodanki
      @Kabodanki 5 місяців тому

      Way interessting that primegean screaming like an idiot and giving hot takes on everything

  • @davianthule2035
    @davianthule2035 5 місяців тому +15

    As an ops Person, these software devs did a solid job of designing their infrastructure

  • @baetz2
    @baetz2 5 місяців тому +1

    Great content, definitely need more stories like this!

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

    Amazing video. I appreciate every bit of effort you put into creating this video.

    • @kikisbytes
      @kikisbytes  5 місяців тому

      Thank you for taking the time to watch this video! :)

  • @ayushw
    @ayushw 5 місяців тому +15

    Best tech channel I've seen in a long time, great thumbails and content, you're bound to blow up! I would say to keep going on the company architecture case studies with practical takeaways, they're super insightful as a viewer. Also don't be afraid to ask people to subscribe if they enjoyed the video at the end, I think it's been proven to actually work.

    • @kikisbytes
      @kikisbytes  5 місяців тому

      I showed your comment to my gf who is my thumbnail designer and she was very happy to hear this! Thank you for making her day!
      And yeah I'll definitely be giving your suggestion a try in the next video.

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

    Please continue to do these types of videos it’s such an important insight that isn’t common on youtube

  • @Harsooo
    @Harsooo 5 місяців тому +31

    Interesting case study! Thanks for the great explanation and engaging visuals; keep it up :)

    • @kikisbytes
      @kikisbytes  5 місяців тому

      I'm glad the visuals were engaging!

  • @RandomGuy-hv7tb
    @RandomGuy-hv7tb 5 місяців тому +2

    Damn 🔥, you'll react 1M soon. The quality of video and explanation is quite smooth.

  • @AllanJeremy
    @AllanJeremy 4 місяці тому +1

    Just stumbled upon this channel.
    This video is top tier!
    ---
    Earned a sub

  • @KAUSHALDOKANIA
    @KAUSHALDOKANIA 5 місяців тому +4

    Great content, very well explained with nice animations.
    Can you tell which tool you are using for this animations?

  • @kidneygod644
    @kidneygod644 5 місяців тому +1

    great content, we need more of this.

    • @kikisbytes
      @kikisbytes  5 місяців тому

      Thank you and more are coming!

  • @budstep7361
    @budstep7361 5 місяців тому +1

    This was great, thank you for sharing!

    • @kikisbytes
      @kikisbytes  5 місяців тому

      thank you for taking the time to watch!

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

    Great content and nice story telling...

  • @sf-spark129
    @sf-spark129 4 місяці тому

    It’s a lot of data engineering and data infra work, which not many people appreciate. Great content.

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

    This channel is a god send. As i am moving into more senior roles, these videos are gold mine.

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

      That's awesome hopefully you will stick around for more videos like this!

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

      @@kikisbytes you bet. Notifications turned on 🫡

  • @matthewboyea3860
    @matthewboyea3860 5 місяців тому +1

    This is GOLD, thank you for sharing!

    • @matthewboyea3860
      @matthewboyea3860 5 місяців тому

      Where do you get this information?

    • @kikisbytes
      @kikisbytes  5 місяців тому

      Thank you for watching! The original blog is in the description if you want to check it out :)

  • @lokylee7872
    @lokylee7872 5 місяців тому +1

    Another great video!

    • @kikisbytes
      @kikisbytes  5 місяців тому

      Glad you enjoyed it!

  • @youKnowMe4real
    @youKnowMe4real 5 місяців тому

    teaching style very cool and easy thx

  • @adriablancafort
    @adriablancafort 5 місяців тому

    Very valuable content! Love this case studies

    • @kikisbytes
      @kikisbytes  5 місяців тому

      Heyy thank you very much! Also I checked out your channel and damn some very interesting videos! How long did it take to build one of those lego cars?

    • @adriablancafort
      @adriablancafort 5 місяців тому

      @@kikisbytes Some of the projects take a lot of time. I imagine your elaborated videos also must take a lot of time and effort to complete (research, script, animations, etc)
      I hope I had more time to make videos more often but at the moment I'm very busy with uni and some web dev and ml projects. I hope this summer I will have more time to release new content again.
      Keep up the good work!

    • @kikisbytes
      @kikisbytes  5 місяців тому

      looking forward to seeing you publish your next video!

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

    Great video.

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

    My guy. Great use case. Would love to hear more abstract strategies how to solve general problems. But this was neat and awesome. Great entertainment plus could use it for my work.
    Ps. : an other suggestion would be to evaluate if sharding with consistent hashing would be a good avenue to follow. Generally, I might be great solution

  • @charliecoppinger
    @charliecoppinger 5 місяців тому

    Great video, thank you very much. Subbed.

    • @kikisbytes
      @kikisbytes  5 місяців тому

      much appreciated!! Stay tune for more!

  • @skyhappy
    @skyhappy 4 місяці тому +1

    Using a cache to compensate for replication lag is brilliant

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

    the sharding part is very complex topic. I have never done sharding the database. I read somewhere that sharding is probably the last option you should do when it comes to scaling the database because of how difficult it is

  • @elielhdz2503
    @elielhdz2503 5 місяців тому +1

    Hi Kiki, the video was very informative and I really enjoyed the visuals. What do you use to make them?

    • @elielhdz2503
      @elielhdz2503 5 місяців тому

      Motion canvas. Sorry for bothering you before checking other comments!

    • @kikisbytes
      @kikisbytes  5 місяців тому

      hahaha no worries!! And yeah I use motion canvas for the animations. I was inspired by the creator of motion canvas to start using it. His channel on youtube is `aarthificial` if you're curious.

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

    When you upload a new image into an albums. Then immediately when you come back to the album, the new image shows up wrong. And only after the 2nd refresh, would it show the correct new image. I noticed this as of 2023/4

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

    This was great. Could you also make a video explaining the working of sites like Canva? Thank you

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

    great video

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

    I have such a hard time trying to not think "OK so all they needed was two larger, but not large, AIX boxes or RAC and instead they engineered around" till they had finally cleaned up things back to a manageable design.

  • @SamosiaB
    @SamosiaB 5 місяців тому +3

    nice and clean presentation. What app/solution did you use for the visualization?

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

      I did most of the animation using motion canvas!

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

    nice,keeeeeeeeeeeeeep going 🚀🚀🚀

  • @jordankendall86
    @jordankendall86 5 місяців тому +1

    When you said Membase, is that the same thing as Couchbase?

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

    Bro how do you get all this operational detail. Great stuff

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

      The original article in the description if you want to learn more. It was quite hard to follow so that I had to spend a bit of time trying to understand what they were doing.

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

    What tool is used to create these animations?

  • @rosesandsins
    @rosesandsins 5 місяців тому +1

    good job

  • @id104335409
    @id104335409 5 місяців тому

    Wow!
    How do you know this stuff? How programs worked and how they changed and what software they used?

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

      the original blog is in the description which I used to understand what was done and I fill in missing details as needed (how some technology work etc).

  • @dennisestenson7820
    @dennisestenson7820 5 місяців тому +1

    3:20 not to be confused with sharting, which is *much* less favorable.

  • @altertopias
    @altertopias 4 місяці тому +1

    Explained distributed databases better than my professor! Thank you

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

      3 questions:
      1. How many years of experience did your professor have in the industry?
      2. Am curious, how exactly did the video explain it better?
      3.. Which university was this if you don't mind sharing?

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

      @@skyhappy1. Ten years
      2. Well, now that I think about it, I think I just needed examples. He did a good job of explaining the conflicts one might have with distributed databases when there are lag/shutdowns, but he didn't cover sharding very clearly. But yeah, personally I learn a lot through examples and he didn't give many.
      3. University of Manchester

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

      @@altertopias Examples are super important, I like them as well. One of my grips with professors at my uni, uni of Toronto, is that they give textbook definitions but barely any examples. This happened in the SQL databases course, operating systems, networking, and more. I think it's a sign of poor knowledge on their part, as they are just regurgitating what the textbook says. Only someone who understands it well is able to give good examples.
      Also, what year did you take the class? Wondering how recent it was.

  • @andreadi-n
    @andreadi-n 5 місяців тому

    Thanks!

    • @kikisbytes
      @kikisbytes  5 місяців тому

      Thank you for watching!

  • @gangsterism
    @gangsterism 5 місяців тому

    very good very nice

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 5 місяців тому +1

    i love denormalization

  • @oliversmall
    @oliversmall 5 місяців тому

    How do you know the issues they faced with such detail?!

    • @kikisbytes
      @kikisbytes  5 місяців тому

      you can check out the original blog in the description!

  • @rodrigo.xavier
    @rodrigo.xavier 5 місяців тому

    Which technologies did you use to create this awesome video? haha

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

      thank you for the compliment! I use motion canvas for the animations

  • @monadstack
    @monadstack 5 місяців тому

    How do they manage that lots of instances?

    • @kikisbytes
      @kikisbytes  5 місяців тому

      that's a good question and I don't know the answer to but I'm sure they have load balancing, service discovery, auto scaling and some monitoring to handle the scale.

  • @vectoralphaSec
    @vectoralphaSec 5 місяців тому +1

    Im new to web development so i dont understand anything here. What is EC2, S3, CloudFront, NGINX? What even are they used for?

    • @soundzthevibewalker
      @soundzthevibewalker 5 місяців тому +1

      Everything except nginx is a AWS Service with a fancy name, oversimplified the services are as follows:
      EC2 -> A virtual private server (VPS)
      S3 -> Some kind of external HDD with a fancy api
      CloudFront -> A CDN, Webservers serving static files like images but from a server which is physically as close to you as possible
      Nginx -> A webserver, compare it to apache2

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

      Cool. Thank you for taking the time to respond. All of this is just so confusing.@@soundzthevibewalker

    • @kikisbytes
      @kikisbytes  5 місяців тому +3

      heyy first of all thank you for taking the time to watch the video!
      What are your thoughts if I add some brief descriptions of these technologies in the description? Would that be helpful in future videos?

    • @vectoralphaSec
      @vectoralphaSec 5 місяців тому +1

      @kikisbytes Yes. That would be tremendous help. Especially for beginners like me to help us go along with your videos and not get lost.

  • @respect_expert5511
    @respect_expert5511 5 місяців тому

    what Pinterest whatsap and discord have to do with erlang?

  • @wrathofainz
    @wrathofainz 5 місяців тому +1

    "Everything will fail, so try to keep it simple." - wise engineer

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

      yeah that's why I will integrate AI, ML, deep learning, blockchain, cryptocurrency into my todo app.

  • @evancombs5159
    @evancombs5159 5 місяців тому +1

    Software doesn't require that many engineers if you put quality first. Once something is done it doesn't require change unless you did something wrong.

    • @whatisamodel8252
      @whatisamodel8252 5 місяців тому

      lmao okay. I wish I had that experience.

    • @kikisbytes
      @kikisbytes  5 місяців тому

      Yep one of the takeaway that they mentioned which really resonates here

  • @ali.ai.101
    @ali.ai.101 5 місяців тому +19

    I just sharded my pants

    • @kikisbytes
      @kikisbytes  5 місяців тому +7

      LOOOL what. At least you can clean each part of your pants individually :P

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

    They basically created MongoDB with MySQL

  • @TheGrimravager
    @TheGrimravager 5 місяців тому

    Thank you algorithm for bringing me this amazing and hidden content

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

      awhhh 😭 thank you so much for the kind words!!!

  • @aibarra11
    @aibarra11 5 місяців тому +1

    Are they still running php?

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

      They never ran PHP. The video mentioned the LAMP stack only as an example of what other comanies were using. They used mysql like in LAMP but they used python instead, with a mix of modified Django for their initial service and other frameworks for specific parts.
      They also adopted react early to try to make the frontend avoid repeated requests to the server if it had already fetched the relevant data.

    • @aGj2fiebP3ekso7wQpnd1Lhd
      @aGj2fiebP3ekso7wQpnd1Lhd 5 місяців тому

      ​@BosonCollider they would have been better off with PHP as it's orders of magnitude faster, requires less resources, and highly scalable.

  • @rajatsharma2441
    @rajatsharma2441 5 місяців тому

    very nice video subscribed if you keep the graphics same and use the same topics like these

    • @kikisbytes
      @kikisbytes  5 місяців тому

      thank you! Def will be seeing a bunch more type of videos coming soon

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

    After watching your other videos of companies growing to scale it seems like the engineers at pinterest always chose the most complicated solutions 😭

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

      it's called job security 😉

  • @gimaal1184
    @gimaal1184 5 місяців тому

    sharting!

  • @I_SEE_RED
    @I_SEE_RED 5 місяців тому +1

    sharting

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

    i mean, the site doesnt do anything useful so im not surprised they managed. the amount of times ive looked for an image only to find frikkin pinterests thumbnail-sized (resized) crap was what lead me to make the google chrome extension that removes all pinterest results from your google searches

    • @kikisbytes
      @kikisbytes  5 місяців тому

      that sounds interesting, is your extension open source by any chance? Would love to check it out.

    • @Name-og4th
      @Name-og4th 5 місяців тому

      @@kikisbytes Ofcause those extensions are open source just like any Javascript program. Those extensions to prorect people from malicious Pinterest's practices were available for all the browsers in various forms.

  • @iCrimzon
    @iCrimzon 5 місяців тому

    Shardt

  • @panegyr
    @panegyr 5 місяців тому +1

    The real answer is SEO spam and making image search unusable

  • @Crftbt
    @Crftbt 5 місяців тому

    What happened since 2012? :)

  • @r_mclovin
    @r_mclovin 5 місяців тому

    2:15 Alogirthm?? ALOGIRTHM??!

    • @kikisbytes
      @kikisbytes  5 місяців тому

      omfg I can't believe I missed this 🙈

  • @studioxxswe
    @studioxxswe 5 місяців тому

    so they had 40 engineers 10+ years ago, guess they have thousands now.

    • @kikisbytes
      @kikisbytes  5 місяців тому

      yeah I wouldn't be surprised if their employee number is in the thousands.

  • @AndrewTa530
    @AndrewTa530 5 місяців тому

    sharding not to be confused with sharting

    • @kikisbytes
      @kikisbytes  5 місяців тому

      🙈

    • @pluto8404
      @pluto8404 5 місяців тому

      similar concept though. Your digestive system gets over loaded and you shart out a mess.

  • @trevoro.9731
    @trevoro.9731 5 місяців тому +2

    A place with a lot of cr*p pictures ? I often have to remove pininterest results from the search to avoid irrelevant data. Regrettably, trash is getting popular these days.

  • @pedroyanez2638
    @pedroyanez2638 5 місяців тому

    haha, Alogirthm

    • @kikisbytes
      @kikisbytes  5 місяців тому

      so embarrassing haha 🙈

  • @GnomeEU
    @GnomeEU 5 місяців тому

    Only 6 engineers?
    That costs a million dollars a year In the US.
    Why would you need a hundred devs.
    Small teams get stuff done.

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

      Pinterest has a very specific focus and feature set, where as other platforms are often doing several dozen things, like a phone system, a Messenger system, video Infrastructure and in some cases being outright full blown ISPs

  • @discreaminant
    @discreaminant 5 місяців тому +1

    Bcz they didn’t use Rust

    • @aGj2fiebP3ekso7wQpnd1Lhd
      @aGj2fiebP3ekso7wQpnd1Lhd 5 місяців тому

      Rust didn't exist and would have slowed build time wayyy down. Go or PHP would have been far better than Python

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

    bUt wHy NoT JuST haVE a MONOl1tH

  • @Sebastian-hg3xc
    @Sebastian-hg3xc 5 місяців тому +1

    I know the answer from experience: Spam. They somehow convinced Google to show them whenever I search for pictures. None of the pictures they host are available for free, so people who are desperate become customers. That's not a model I'd recommend anyone else reproduce and it's certainly nothing to admire.

  • @dickgrayson4237
    @dickgrayson4237 4 місяці тому +1

    Loved the videos and as a cs student, I hope to become a problem solver as these guys.
    I am also interested in learning database design, would you recommend any course(preferable) or books?

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

      thank you and you will eventually!!!
      Hmm I recommend checking out:
      1. Hussein Nasser's channel on youtube. He has some really cool videos on backend.
      2. Alex Xu's system design books (honestly helped soo much back then)
      3. Designing Data-Intensive Applications (book)
      Hope these help you on your journey!

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

      ​@@kikisbytesThese sound good for future but I was actually asking for some core database resources like once that teaches the core concepts like ACID principles, normalisation, etc.
      I had one database book during my uni but that was dense theory and not very practical. If you have any recs for that then I would appreciate you sharing them

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

      @@dickgrayson4237 ahh I get you. Yeah sorry I don't really have any specific course that I can recommend :( I learned about these concepts through interview prep, work and blogs that I come across.

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

    they made a worse version of cassandra

  • @bk1507
    @bk1507 5 місяців тому

    That's nothing. Whatspp got to billions of users with just 35 employees.

    • @kikisbytes
      @kikisbytes  5 місяців тому

      That's one of the case study that I want to cover in the future :)

  • @WoWUndad
    @WoWUndad 5 місяців тому +1

    Pinterest loading is built like garbage, not like doomscroll addicts seem to car about their pictures taking 30 seconds to load

    • @ouya_expert
      @ouya_expert 5 місяців тому

      You kidding? It takes like a second max to load everything in every page. It just seems slower because no lazy loading elements

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

    tl;dr they stole the internet

  • @ashleigh3021
    @ashleigh3021 4 місяці тому +1

    Pinterest is a blight on the internet. Utterly pointless website that pollutes search engines.

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

    So sharding, eww.

  • @vladimirgorea8714
    @vladimirgorea8714 5 місяців тому +3

    pinterest is the cancer of internet and i'm baffled that it existed for so long time

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

      Go cry that you can't do anything like it 😂

  • @MultiDringus
    @MultiDringus 5 місяців тому

    I could tell you're asian without seeing your face
    It's your accent

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

      guess you'll have to stick around to find out :p

  • @renanmonteirobarbosa8129
    @renanmonteirobarbosa8129 5 місяців тому

    If they started using Parquet and did not just copy and paste tech stacks it would only need 1 engineer