How Pinterest Scaled to 11 Million Users With Only 6 Engineers

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024

Комментарии • 165

  • @mysticrustacean4065
    @mysticrustacean4065 6 месяцев назад +302

    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 6 месяцев назад

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

    • @verainsardana
      @verainsardana 6 месяцев назад +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  6 месяцев назад +3

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

    • @ciprianparaschiv7591
      @ciprianparaschiv7591 6 месяцев назад +1

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

    • @JAODc-fo9gf
      @JAODc-fo9gf 2 месяца назад

      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 6 месяцев назад +235

    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 6 месяцев назад +18

      read the first few chapters in Designing data intensive application

    • @kikisbytes
      @kikisbytes  6 месяцев назад +36

      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 6 месяцев назад

      Thanks

    • @kirillvoloshin2065
      @kirillvoloshin2065 6 месяцев назад +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 6 месяцев назад

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

  • @davianthule2035
    @davianthule2035 6 месяцев назад +20

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

  • @rigveddesai5843
    @rigveddesai5843 6 месяцев назад +75

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад +6

      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 6 месяцев назад +2

      the views are coming

    • @Kabodanki
      @Kabodanki 6 месяцев назад

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

  • @shisui2575
    @shisui2575 5 месяцев назад +1

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

  • @ayushw
    @ayushw 6 месяцев назад +19

    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  6 месяцев назад +1

      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.

  • @Harsooo
    @Harsooo 6 месяцев назад +34

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      I'm glad the visuals were engaging!

  • @NadjibSamsung
    @NadjibSamsung 6 месяцев назад +11

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

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

  • @skyhappy
    @skyhappy 6 месяцев назад +2

    Using a cache to compensate for replication lag is brilliant

  • @mohitkumar-jv2bx
    @mohitkumar-jv2bx 5 месяцев назад

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

    • @kikisbytes
      @kikisbytes  5 месяцев назад +1

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

    • @mohitkumar-jv2bx
      @mohitkumar-jv2bx 5 месяцев назад

      @@kikisbytes you bet. Notifications turned on 🫡

  • @RandomGuy-hv7tb
    @RandomGuy-hv7tb 6 месяцев назад +2

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

  • @KAUSHALDOKANIA
    @KAUSHALDOKANIA 6 месяцев назад +4

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

  • @sf-spark129
    @sf-spark129 6 месяцев назад

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

  • @AllanJeremy
    @AllanJeremy 6 месяцев назад +1

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

  • @baetz2
    @baetz2 6 месяцев назад +1

    Great content, definitely need more stories like this!

  • @udirt
    @udirt 6 месяцев назад +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.

  • @budstep7361
    @budstep7361 6 месяцев назад +1

    This was great, thank you for sharing!

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      thank you for taking the time to watch!

  • @jesusromero9167
    @jesusromero9167 Месяц назад

    This is gold! Thank you!!

  • @dennisestenson7820
    @dennisestenson7820 6 месяцев назад +1

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

  • @kazifardinislamabir2352
    @kazifardinislamabir2352 5 месяцев назад

    Great content and nice story telling...

  • @joaodiasconde
    @joaodiasconde 6 месяцев назад +6

    bUt wHy NoT JuST haVE a MONOl1tH

  • @altertopias
    @altertopias 6 месяцев назад +1

    Explained distributed databases better than my professor! Thank you

    • @skyhappy
      @skyhappy 6 месяцев назад

      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 6 месяцев назад

      @@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 6 месяцев назад

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

  • @matthewboyea3860
    @matthewboyea3860 6 месяцев назад +1

    This is GOLD, thank you for sharing!

    • @matthewboyea3860
      @matthewboyea3860 6 месяцев назад

      Where do you get this information?

    • @kikisbytes
      @kikisbytes  6 месяцев назад

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

  • @kidneygod644
    @kidneygod644 6 месяцев назад +1

    great content, we need more of this.

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      Thank you and more are coming!

  • @tyo007
    @tyo007 6 месяцев назад

    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

    • @user-ub6pz4up8r
      @user-ub6pz4up8r 6 дней назад

      It's probably not as bad as you're imagining in most cases. So long as you can logically delineate the data then you won't have an issue. You can think of it as adding a layer of indirection, before you fetch data you need to know which database the data is in. If you can find a simple way to solve that problem in your application, then you won't have any issues.

  • @FredoCorleone
    @FredoCorleone 6 месяцев назад +4

    They basically created MongoDB with MySQL

  • @ohwii
    @ohwii 6 месяцев назад

    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

  • @aliyevruslan936
    @aliyevruslan936 4 месяца назад

    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

  • @adriablancafort
    @adriablancafort 6 месяцев назад

    Very valuable content! Love this case studies

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      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 6 месяцев назад

      @@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  6 месяцев назад

      looking forward to seeing you publish your next video!

  • @youKnowMe4real
    @youKnowMe4real 6 месяцев назад

    teaching style very cool and easy thx

  • @future62
    @future62 6 месяцев назад +2

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад +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.

  • @elielhdz2503
    @elielhdz2503 6 месяцев назад +1

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

    • @elielhdz2503
      @elielhdz2503 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      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.

  • @lokylee7872
    @lokylee7872 7 месяцев назад +1

    Another great video!

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      Glad you enjoyed it!

  • @jordankendall86
    @jordankendall86 6 месяцев назад +1

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

  • @evancombs5159
    @evancombs5159 6 месяцев назад +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 6 месяцев назад

      lmao okay. I wish I had that experience.

    • @kikisbytes
      @kikisbytes  6 месяцев назад

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

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 6 месяцев назад +1

    i love denormalization

  • @shisui2575
    @shisui2575 5 месяцев назад

    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  5 месяцев назад

      it's called job security 😉

  • @charliecoppinger
    @charliecoppinger 6 месяцев назад

    Great video, thank you very much. Subbed.

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      much appreciated!! Stay tune for more!

  • @SamosiaB
    @SamosiaB 6 месяцев назад +3

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад +2

      I did most of the animation using motion canvas!

  • @wrathofainz
    @wrathofainz 6 месяцев назад +1

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад +1

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

  • @sidharthvyas5883
    @sidharthvyas5883 6 месяцев назад

    Great video.

  • @garimaaggarwal6793
    @garimaaggarwal6793 6 месяцев назад

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

  • @ali.ai.101
    @ali.ai.101 6 месяцев назад +20

    I just sharded my pants

    • @kikisbytes
      @kikisbytes  6 месяцев назад +7

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

  • @AbinJoseph1996
    @AbinJoseph1996 Месяц назад

    Why didn't they just use nosql(Cassandra) then? It had all these capabilities built-in

  • @ssadel
    @ssadel 6 месяцев назад

    great video

  • @TheEssentialAI
    @TheEssentialAI 6 месяцев назад

    What tool is used to create these animations?

  • @vectoralphaSec
    @vectoralphaSec 6 месяцев назад +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 6 месяцев назад +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 6 месяцев назад +2

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад +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 6 месяцев назад +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.

  • @rodrigo.xavier
    @rodrigo.xavier 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад +1

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

  • @mahdimagroun118
    @mahdimagroun118 6 месяцев назад

    nice,keeeeeeeeeeeeeep going 🚀🚀🚀

  • @rosesandsins
    @rosesandsins 7 месяцев назад +1

    good job

  • @id104335409
    @id104335409 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад +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).

  • @ashleigh3021
    @ashleigh3021 6 месяцев назад +2

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

  • @dickgrayson4237
    @dickgrayson4237 6 месяцев назад +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  6 месяцев назад +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 6 месяцев назад

      ​@@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  6 месяцев назад

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

  • @TheGrimravager
    @TheGrimravager 6 месяцев назад

    Thank you algorithm for bringing me this amazing and hidden content

    • @kikisbytes
      @kikisbytes  6 месяцев назад +1

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

  • @oliversmall
    @oliversmall 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      you can check out the original blog in the description!

  • @trevoro.9731
    @trevoro.9731 6 месяцев назад +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.

  • @gangsterism
    @gangsterism 6 месяцев назад

    very good very nice

  • @andreadi-n
    @andreadi-n 7 месяцев назад

    Thanks!

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      Thank you for watching!

  • @aibarra11
    @aibarra11 6 месяцев назад +1

    Are they still running php?

    • @BosonCollider
      @BosonCollider 6 месяцев назад +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 6 месяцев назад

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

  • @monadstack
    @monadstack 6 месяцев назад

    How do they manage that lots of instances?

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      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.

  • @panegyr
    @panegyr 6 месяцев назад +1

    The real answer is SEO spam and making image search unusable

  • @respect_expert5511
    @respect_expert5511 6 месяцев назад

    what Pinterest whatsap and discord have to do with erlang?

  • @I_SEE_RED
    @I_SEE_RED 6 месяцев назад +1

    sharting

  • @gimaal1184
    @gimaal1184 6 месяцев назад

    sharting!

  • @r_mclovin
    @r_mclovin 6 месяцев назад

    2:15 Alogirthm?? ALOGIRTHM??!

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      omfg I can't believe I missed this 🙈

  • @rajatsharma2441
    @rajatsharma2441 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

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

  • @Crftbt
    @Crftbt 6 месяцев назад

    What happened since 2012? :)

  • @iCrimzon
    @iCrimzon 6 месяцев назад

    Shardt

  • @GnomeEU
    @GnomeEU 6 месяцев назад

    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 6 месяцев назад +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

  • @studioxxswe
    @studioxxswe 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

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

  • @AndrewTa530
    @AndrewTa530 6 месяцев назад

    sharding not to be confused with sharting

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      🙈

    • @pluto8404
      @pluto8404 6 месяцев назад

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

  • @discreaminant
    @discreaminant 6 месяцев назад +1

    Bcz they didn’t use Rust

    • @aGj2fiebP3ekso7wQpnd1Lhd
      @aGj2fiebP3ekso7wQpnd1Lhd 6 месяцев назад

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

  • @WoWUndad
    @WoWUndad 6 месяцев назад +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 6 месяцев назад

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

  • @pedroyanez2638
    @pedroyanez2638 6 месяцев назад

    haha, Alogirthm

    • @kikisbytes
      @kikisbytes  6 месяцев назад

      so embarrassing haha 🙈

  • @AriinPHD
    @AriinPHD 6 месяцев назад +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  6 месяцев назад

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

    • @Name-t9fbd
      @Name-t9fbd 6 месяцев назад

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

  • @scootndute579
    @scootndute579 6 месяцев назад

    tl;dr they stole the internet

  • @Sebastian-hg3xc
    @Sebastian-hg3xc 6 месяцев назад +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.

  • @ReadThisOnly
    @ReadThisOnly 6 месяцев назад

    they made a worse version of cassandra

  • @bk1507
    @bk1507 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

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

  • @2gbeh
    @2gbeh 6 месяцев назад

    So sharding, eww.

  • @vladimirgorea8714
    @vladimirgorea8714 6 месяцев назад +3

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

    • @ruslan_yefimov
      @ruslan_yefimov 6 месяцев назад +3

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

  • @MultiDringus
    @MultiDringus 6 месяцев назад

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

    • @kikisbytes
      @kikisbytes  6 месяцев назад

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

  • @renanmonteirobarbosa8129
    @renanmonteirobarbosa8129 6 месяцев назад

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