Gaurav, you have tremendous ability to articulate modern day computer science concepts. Its great to see someone so young having this charisma and tech flair which is a rare combo. I have been in software for 20 years and sadly i was never taught like this or then around early 2000's there were no youtube channels like yours. You are redefining online learning with your videos. Keep it up mate.
Great Video! A small point to add, Most of the NoSQL offerings also offer, Consistency levels for users to choose. So, If I want to make sure my users read always consistent data I can have strong consistency which means a write is acknowledged only when a quorum of replicas have also acknowledged it. This makes sure, consistency is present even when one of the replicas go down. But obviously the tradeoff is the writes are slow. If availability is preferred over consistency, then Eventual consistency can be choosen in which the writes are acknowledged when the present replica writes it in memory, hoping that all other replicas catch up with the write "eventually" .
In a strange way, I watched this Video like a proud father lol You are amazing and it shows how much you care to explain rather than show off.
It is a difficult skill to be able to understand/comprehend the lower layers of a given technology AND also be able to present it in a clear, concise manner that many can grasp. You have this skill and are able to present the data in a way that is simple with stacks that are complex. This is why being an "instructor" or "presenter" requires skills beyond just knowing the technology really well. Anyway, I appreciate the videos as its a wealth of valuable information!
21:50 Two corrections 1) Cassandra do not store log file in-memory. Rather it stores on disk. That's how it can recover from during failures 2) Cassandra do not append in-memory it rather appends to commit log on disk. So, in-memory the data is sorted Memtable. When it reaches certain limit then it flushes to the disk on SSTable
In Cassandra, “strong consistency” is typically expressed as W + R > RF, where W is the write consistency level, R is the read consistency level, and RF is the replication factor.
Truth has been spoken at 9:26 "inner join,outer join,left join the things that we didn't read in college"
Was just randomly browsing to know about NOSQL and I must say i couldn't move forward without watching full video and I feel confident with the concept. Thank you Gaurav
When a Non DB guy can understand this.... there is nothing else as better ! Thanks a Ton for you Videos. Your Videos are one of the things that helped me through 2020 Lockdown.
I am kind of confused that how No-SQL databases can have the read time as a disadvantage along with data aggregation as an advantage. Isn't a lot of read required for aggregating the data?
Hey, 1. When you say that NoSQL is better for insertion and retrieval, you say that Relational DBs are slower because you will have to join the two tables with address as foreign key. If that's the scenario, we should not normalize the table here and have address also in the same table for faster reads. Also, locks are still present in implementations of NoSQL DBs because of concurrency. So both are comparable actually and anyone can be slower than the other as it depends on the way you have decided the structure to store data. Ofcourse, retrieving data with a join in SQL will turn out to be slower. 2. Then at 7:58 you say NoSQL is not read-optimized and in advantages you mentioned its used for aggregations as well as. I think it makes sense not to have such comparisons made out as NoSQL databases can be implemented in variety of ways. In-memory databases are also subset of NoSQL and pretty pretty fast to read because of RAM coming into play. Talking about consistency at scale, one is user's choice of stronger v/s eventual but we can't say that Relational DBs will be slow because locks will still be there in implementations of NoSQL databases because of concurrency. To win that, we have concept of granular locks in Relational Databases so that lock is placed only on necessary part. I think the journey to scale any database is pretty complex and only experience can teach us exactly how to do that. YouTube is running on Relational DB after all - but I am sure its much more complex with portions of NoSQL, CDNs, caching, and what not flying around in their backend architecture.
This is misleading. Not all NoSQL store data as a key-value pair. What you are talking about is only a subset of NoSQL. There are 4 meain types of NoSQL databases: Document, key-value, wide-column and graph.
@ 7:56 you say the read times are slower and I get the reasoning for it. But if that's the case then how are NoSQL DBs optimized for analytics?
thank you. i finally understand 'schema'. i'm only 4:44 in, paused the video to post this.
One of the best explanation for nosql over youtube...so far... Keep up the good work
1.@8:03, i think at back-end the No sql must be understanding what kind of data is stored in it or does it blindly dump the value of a key? I mean if i want to find age by some criteria, it will scan all entries, but can i smartly access each attribute instead of scanning all data?there must be a way,right?You goto particular record, and then access the age column as the json is just key value and it must be optimised stored and we should be able to read age without reading entire block.Because no sql also supports indexing so they must have a way to access given attribute of data in constant time instead reading entire record for that entry. 2. DOnt u think that quoram factor u told will put more read load ,as for each request you need to read nodes? 3.@15:21,I think in case we are having replicas, then write should always goto one node from where replicas can sync, otherwise if we allow write to goto any node,then each node need to sync from each node which is a time consuming i guess Please clear my confusion?
If we can skip the address in NoSQL(4:30) straightaway then whats the difference between error mentioning Error 1 : No address found Error 2 : Address field is empty ???
this is the first IT explanation video made by Indian guy, that I enjoyed watching
@RameshAdavi