NoSQL is a popular database storage method. It keeps data as key value pairs. The advantages and disadvantages of NoSQL compared with RDBMS (which uses SQL) are discussed here, using the Cassandra architecture as an example.
We talk about sharding, redundancy, load balancing, compaction and some other features in NoSQL databases. This allows them to scale efficiently.
Preparing for design Interviews? Check out the “Grokking the system design interview” course:
System Design Video Course:
A complete course on how systems are designed. Along with video lectures, the course has architectural diagrams, capacity planning, API contracts and evaluation tests.
Use the coupon code ‘earlybird’ for a 20% discount!
System Design Book:
Designing Data Intensive Applications –
References:
Sharding:
Load Balancing:
Efficient merge sort:
Cassandra Architecture:
Compaction:
Become a channel member!
0:00 Intro
1:08 NoSQL explanation and comparison
10:27 Cassandra Architecture
18:00 Quorum
21:30 Compaction of SST tables
You can follow me on:
LinkedIn:
Instagram:
Quora:
Twitter:
#NoSQL #Database #Cassandra
Tag: nosql tutorial, system design, interview preparation, software interview, problem solving, design interview, system design interview, nosql, why use nosql, why nosql, cassandra, what is cassandra, cassandra architecture, nosql database, nosql architecture, nosql benefits, nosql problems, nosql drawbacks, nosql explained, database, cassandra database, database interview, nosql features, cassandra features, gaurav sen, sorted string table, bigdata, big data
Xem thêm: https://gócdigital.vn/category/review
Nguồn: https://gócdigital.vn
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" .
First off, great video, must have taken a lot to put together
I have been in this field since 1992, and I have seen it all, mostly. The Crays, the rdbms, object oriented Nosql dbs and so on.
I tell you though, you can’t do a lot of stuff you can in rdbms with nosql. And yes the other way is also true. Each has its place and application.
You can expect rdbms to stay for another 30 or so years at the least!
Anyways, great video, keep up the good work.
Great Video Gaurav!
I just want to add that apache Cassandra use LSM (Log Structured Merge Trees). The idea is that they want to avoid updating records when using SSD(Solid State Drive) due to the fact that they allow X number of updates before they die. Using LSM they just append new values no matter if they exists or no and as you mentioned they mark the old records with a tombstones.
Thats the first introduction that was acctualy an introduction. Great Video.
Excellent presentation on NoSQL DBs.
i believe id can be outside of address list. it can be just below john doe (person name) and part of PERSON object not address object. just nearly putting into the same object will establish the relationship.
John doe is little old for SDE ..at least make him SDE-2 😀
Brilliant explanation… Except that at 08:42 what you said was not correct , the master address record for '23' can exist without having a corresponding row in the employees table . ( It was actually the other way round ) 🙂
Really great video very detailed and very specific covers every necessary concept. keep up the good work !!!!
This video is so dope. Thank you!
hi Gaurav. can you suggest some books which are having good system designs and solutions based on new technology like kuberenetes, docker etc
Very Precise, Keep it up Gaurav. Excellent Job!
I guess NoSQL are great but Postgres is really awesome and powerfull
System Desgin is a great playlist. I am using it to get prepared for my interview. Thanks! Just one suggestion: I think you should talk a little bit slower, it's too much information to process so talking slower will allow people watching the video without need to stop it, analyse what you said and then resume the video 🙂 … It's just my opinion
Hi Gaurav! Can you please share which software you use for editing the videos? TIA 🙂
You seems so knowledgeable and professional ❤️
If quorum factor is 2 then that means that atleast 2 nodes have to agree to a particular value. But if 5 is down and 1 says it doesn't have the data and 2 says it has data shouldn't that return No record found message to the user. Since only 2 has the data and there are no majority votes.
ohmygod great explaining
All your videos are mouthwatering 😋😋,for information . I need to buy your system design video that you sell from your website. Need to see all your videos. Surprised to know that whatsapp doesn't have database
Thanks bro
I look at you as an ambassador for all of us who are not from top tier universities especially IIT. I'm glad to you explain and code stuffs effiecently and faster than most IIT'ians
Really appercieted, great
Awesome my dear!!
Wait a minute, who cares if joins are hard in nosql, you can always manipulate the partition key the way you want then do it manually for only the stuff you really need it to. Joins are pretty expensive anyway so I'd still won't abuse it even in sql.
NoSQL databases isn't limited to Document databases and Cassandra…
I saw a couple of video on datastax developers channel on cassandra. You have mixed up commit log and memtable. Actually, it is the memtable that gets flushed into SSTable. Btw nice explanation👌🏻
Very Good explanations and correlations . Thank you very much for the knowledge shared !
why have you not added this video in your system design playlist?
[email protected]: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?
[email protected]: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?
Do u personally like each of our comments or u wrote some sort of program to do it automatically 😂
Thank you for the video! I've finally understood why NoSQL is considered faster and in what scenarios it's actually worse! Also thanks for educative.io link and contribution! All these materials are helping a lot!
I only have a question about one thing I have not entirely understood. Approximately, on 6th minute you are saying that NoSQL are good for metrics. So, if I need to get the average age of employees, NoSQL would be my darling. But one minute later (app. 7:36) you are saying that getting all the ages from a NoSQL is more difficult since they are not read-optimized. But in case of calculating average age we would also have to go through all the records (and read, of course), get all ages and then divide by the amount of entries in DB. Could you please specify what am I missing? Why it's good for metrics while being not read-optimized?
As I understand it, reads are better for NoSQL when you need the entire object, while it's better in SQL when you read by a specific attribute. But in that case I still don't see why metrics would be more efficient with NoSQL.
Also, I've been trying to understand and asking several people, but I still don't feel that I get a deep understanding… . NoSQL are considered faster. But if we have 1million users in NoSQL and 1million in SQL, and we then need to get a single user, what difference would it make: get through 1 million entries in SQL DB or NoSQL? Or are there some underlying algorthms taking place and the reason is not in the essence of these conceptual approach? Another question is, they say that SQL is more reliable. Here I also don't understand, if I have some controls and backups, then both SQL and NoSQL would be reliable. Or do they usually mean "consistency" when using "reliable"?
Thanks!
JSON data can be stored in relational db like Postgre
Any boook/site you can refer to practice code.