Google Docs Design Deep Dive with Google SWE! | Systems Design Interview Question 13

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 24

  • @Ms452123
    @Ms452123 2 ปีที่แล้ว +5

    Do you think you making PowerPoints of the concepts that you covered in this entire series helped you with your long term understanding of the fundamentals. Essentially can creating a PowerPoint on a topic be a high yield method of learning.

    • @jordanhasnolife5163
      @jordanhasnolife5163  2 ปีที่แล้ว +1

      I believe that writing things down that you're trying to learn has proven to be one of the most effective methods of studying

  • @shubhankar915
    @shubhankar915 ปีที่แล้ว +2

    Can we use cassandra to store the document changes in Operational transformation as well? What advantages does HBase give over cassandra! Thanks!

    • @jordanhasnolife5163
      @jordanhasnolife5163  ปีที่แล้ว

      HBase is column oriented storage which is nice if you want to get lower latency just getting the characters in the doc as opposed to a bunch of metadata which will probably be in the db

  • @Awaytake
    @Awaytake 5 หลายเดือนก่อน +2

    Credits: Martin Kleppmann (th-cam.com/video/yCcWpzY8dIA/w-d-xo.html)

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 หลายเดือนก่อน +1

      I'm a dirty plagiarizer!

    • @HustlerMS
      @HustlerMS 5 หลายเดือนก่อน +1

      Nah, your content is superb. I posted the link for someone who might be interested in that talk. Thanks for uploading.

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 หลายเดือนก่อน

      @@HustlerMS haha thanks man, was just messing around I appreciate you attaching it

  • @utkarshgupta2909
    @utkarshgupta2909 2 ปีที่แล้ว +3

    Jordon can you please make a video series on databases... We guys really have lot of problem choosing the right database sometimes.

  • @mann8737
    @mann8737 ปีที่แล้ว +3

    Hey Jordan! First, Your videos are really helping me out for interview prep. I have a question tho about HBase. How would the HBase schema look like for storing documents? What is going to be the row key, sort key and what about the columns?

    • @jordanhasnolife5163
      @jordanhasnolife5163  ปีที่แล้ว +1

      Yeah so think of it like this:
      Partition key: documentId
      Sort key: documentIndex
      Columns: characterAtIndex

    • @yusufsipahi3916
      @yusufsipahi3916 ปีที่แล้ว +1

      hello @@jordanhasnolife5163 , I want to clarify the db schema for an event of an insertion in OT. Let's say our server gets an insert request for a document at index "i". In that case I believe this request does not only effect documentIndex at "i" but we also need to propagate this change to rest of the indexes by incrementing them by 1 in our db. Don't you think this has negative impact on db writes?

    • @jordanhasnolife5163
      @jordanhasnolife5163  ปีที่แล้ว

      @@yusufsipahi3916 In theory sure, in practice you could use like a linked list or something

    • @hemanthaugust7217
      @hemanthaugust7217 ปีที่แล้ว

      So, based on the schema given below, what is documentIndex? I understand documentId is unique for entire document. Is docIndex similar to pageNumber? So, each docId has multiple docIndexes?
      Does each character become a separate Row in the DB? Isn't it a lot? Can't we store entire line as a Row?

  • @Snehilw
    @Snehilw 2 ปีที่แล้ว +4

    Not true dude, I listen to all your videos sometimes multiple times end to end and know a few friends who do too. Keep up the good work!

  • @yusufsipahi3916
    @yusufsipahi3916 ปีที่แล้ว +1

    how would you change your design for video/image insertion into the documents?

    • @jordanhasnolife5163
      @jordanhasnolife5163  ปีที่แล้ว

      Barely to be honest, you're just adding a link to s3 instead of text

  • @2tce
    @2tce 2 ปีที่แล้ว +1

    So what would you handle character deletions as opposed to insertions? Just delete that index?

    • @jordanhasnolife5163
      @jordanhasnolife5163  2 ปีที่แล้ว

      Yes but deletions are tricky in the sense that they require FIFO broadcast - you can't delete a character unless it already exists, so you need to make sure that at least from a single client, all of the operations are being broadcast in the correct order

  • @theghostwhowalk
    @theghostwhowalk 2 ปีที่แล้ว +4

    Great explanation!!

  • @mhp647
    @mhp647 ปีที่แล้ว +1

    it would be way more easy to follow if you would have some images or slides on screen to focus on them, not your face

    • @jordanhasnolife5163
      @jordanhasnolife5163  ปีที่แล้ว +1

      Remaking all of these starting in a month, that's the plan