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.
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
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?
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?
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?
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
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.
I believe that writing things down that you're trying to learn has proven to be one of the most effective methods of studying
Can we use cassandra to store the document changes in Operational transformation as well? What advantages does HBase give over cassandra! Thanks!
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
Credits: Martin Kleppmann (th-cam.com/video/yCcWpzY8dIA/w-d-xo.html)
I'm a dirty plagiarizer!
Nah, your content is superb. I posted the link for someone who might be interested in that talk. Thanks for uploading.
@@HustlerMS haha thanks man, was just messing around I appreciate you attaching it
Jordon can you please make a video series on databases... We guys really have lot of problem choosing the right database sometimes.
Perhaps I shall
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?
Yeah so think of it like this:
Partition key: documentId
Sort key: documentIndex
Columns: characterAtIndex
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?
@@yusufsipahi3916 In theory sure, in practice you could use like a linked list or something
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?
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!
how would you change your design for video/image insertion into the documents?
Barely to be honest, you're just adding a link to s3 instead of text
So what would you handle character deletions as opposed to insertions? Just delete that index?
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
Great explanation!!
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
Remaking all of these starting in a month, that's the plan