This is legit “Asli Engineering” with top notch content quality in terms of explanation and breaking down the things right from the published paper. You’re actually raising the expectation bar high, and this is what the audience expects from a Google staff SE. Thanks for being a great educator. I hope this reaches out to you, and you keep making such videos.
Great explanation. I was asked in one of the Apple interviews, "are you sure CAP theorem is true in today's scenario?" I wasn't aware of any other theorems so I told the traditional definition of CAP theorem (either AP or CP ). But the interviewer was trying to point that it is possible to achieve all three what exactly is availability or consistency or partition tolerance. He told me to read papers where it was possible to achieve all three. So, I guess I came to the right video. Had I known about spanner then, I could have mentioned about it. Nevertheless, its a learning curve for me.
I think you misunderstood. Achieving all 3 is not possible. It'd not CP vs AP, rather its C vs A given P always happens. If you did find a paper that accomplishes all 3, please link it
"@Asli Engineering" What a great explanation on CAP. I request you upload videos on SOLID principles, their actual implementation and understanding required for a production-ready code. Many people just explain definition but never get in depth, on how these principles help in building a strong design of a large base code. Request you to create an extensive video on SOLID principles.
at 6:42 - I think it is not necessary to take a downtime of entire system. We are not getting the availability as per the definition of CAP ( because some non-failing nodes are choosing not to respond to read/write requests to maintain consistency as there is a partition) the system as whole need not have a downtime(outage). We can still have 99.9% kind of high availability by redirecting all reads to the other partition where writes are happening.
I agree. But while explaining it is easy for people to understand and comprehend the word downtime vs availability. In the context, I meant exactly what you wrote but just to simplify the understanding and help people build intuition I used that term. But yes. Thank you for pointing it out. This comment will definitely help people understand that you can still serve reads making your system partially available.
I dont understand one thing. In case we choose consistency in case of partition. We are expecting a downtime. (i.e. missing availability) but then since the system is down now how it is partition tolerant?
apart from your vast knowledge one thing that impresses most is your humility , keep it up dude only sky is the limit for you , blessings for your little one 😄
You said due to the use of specialized hardware Spanner gives almost 100% CAP. So, what happens when the 0.0001% happens? I presume it causes a split partition. If so, what does Spanner choose, C or A?
This is a generalization which might or might not be true. To be honest, this is not how you should look at databases, as in, which is large in numbers. 1. There are large number of databases out there 2. Nobody has gone and analysed all of them But, if you are referring to a sea of NoSQL databases that have been built in the last few years, then yes. They do prioritise Availability over Consistency. But in reality, most of them deployed within one data center so the chances of Partitioning happening is surprisingly low making them CA (for practical reasons). But theoretically and as per their code they would have to choose C or A and a lot of new DBs chose A over C.
Hi Arpit just a quick question may be i am totally wrong,In the context of the CAP theorem, when a system prioritizes consistency and availability (CA), it sacrifices partition tolerance. This means that in the event of a network partition, the system might not be able to guarantee the consistency of the data or the availability of the services,so this means every time system will not be consistent and available ,so it means there might be a chance that we will not be able to achieve any of this (CAP)
I recorded this through Reverside - www.riverside.fm/?via=arpit It is a pretty dope tool for recording and editing podcasts (although I did a single guest video) and added subtitles using that.
@@decadewgame9802 yes. Recently moved to paid tier. This was my first video using the paid tier. Subtitles and text based video editing are pretty dope. The subtitles you see are part of the paid feature.
SET GLOBAL sync_binlog = 1; Until you set this in MySQL it stays a CA system. Your video is confusing. i understood better before going through your video.
Async replicated databases are always prone to high replication lag due to partitioning. if master goes down and we switch this replica to be the master then the data is now not consistent. Also, it takes some time for replica to become the master so the system is not available during the failover. A highly available system has zero downtime during failover and it is typically dome with dual writes across nodes.
This is legit “Asli Engineering” with top notch content quality in terms of explanation and breaking down the things right from the published paper. You’re actually raising the expectation bar high, and this is what the audience expects from a Google staff SE. Thanks for being a great educator. I hope this reaches out to you, and you keep making such videos.
Great explanation. I was asked in one of the Apple interviews, "are you sure CAP theorem is true in today's scenario?" I wasn't aware of any other theorems so I told the traditional definition of CAP theorem (either AP or CP ). But the interviewer was trying to point that it is possible to achieve all three what exactly is availability or consistency or partition tolerance. He told me to read papers where it was possible to achieve all three. So, I guess I came to the right video. Had I known about spanner then, I could have mentioned about it. Nevertheless, its a learning curve for me.
Thanks for resonating 🙌 we all learn through experiences and glad you took it in a positive way. All the very best ✨
I think you misunderstood. Achieving all 3 is not possible. It'd not CP vs AP, rather its C vs A given P always happens.
If you did find a paper that accomplishes all 3, please link it
"@Asli Engineering" What a great explanation on CAP. I request you upload videos on SOLID principles, their actual implementation and understanding required for a production-ready code. Many people just explain definition but never get in depth, on how these principles help in building a strong design of a large base code. Request you to create an extensive video on SOLID principles.
A lot of depth, really love it 🤩
at 6:42 - I think it is not necessary to take a downtime of entire system. We are not getting the availability as per the definition of CAP ( because some non-failing nodes are choosing not to respond to read/write requests to maintain consistency as there is a partition)
the system as whole need not have a downtime(outage). We can still have 99.9% kind of high availability by redirecting all reads to the other partition where writes are happening.
I agree. But while explaining it is easy for people to understand and comprehend the word downtime vs availability.
In the context, I meant exactly what you wrote but just to simplify the understanding and help people build intuition I used that term.
But yes. Thank you for pointing it out. This comment will definitely help people understand that you can still serve reads making your system partially available.
I dont understand one thing. In case we choose consistency in case of partition. We are expecting a downtime. (i.e. missing availability) but then since the system is down now how it is partition tolerant?
Very informative thank you Arpit.
Great Video, Wondering if they had traded off latency to guarantee partition tolerance and high availability
Thank you for considering my suggestion of taking CAP theorem as a topic
Thank you for suggesting. Hope this clears up CAP once and for all 😅
Do suggest other topics that you want me to touch upon. Happy to accomodate.
@@AsliEngineeringYou could have a session where you analyse and decode some interesting research papers
@@hrishii.02 this has been in the back of my mind for a long time. Working on something cool around this.
Thanks for the nudge.
apart from your vast knowledge one thing that impresses most is your humility , keep it up dude only sky is the limit for you , blessings for your little one 😄
You said due to the use of specialized hardware Spanner gives almost 100% CAP.
So, what happens when the 0.0001% happens? I presume it causes a split partition. If so, what does Spanner choose, C or A?
Really good video sess! - I was reading about CAP theorem today too xD
Correct me Arpit if am wrong but I think that in reaity AP systems are more present and used than any other combinations of C, A, P.
This is a generalization which might or might not be true. To be honest, this is not how you should look at databases, as in, which is large in numbers.
1. There are large number of databases out there
2. Nobody has gone and analysed all of them
But, if you are referring to a sea of NoSQL databases that have been built in the last few years, then yes. They do prioritise Availability over Consistency.
But in reality, most of them deployed within one data center so the chances of Partitioning happening is surprisingly low making them CA (for practical reasons).
But theoretically and as per their code they would have to choose C or A and a lot of new DBs chose A over C.
@@AsliEngineering thanks Arpit! Got that fact of one data centre aspect.
You should also discuss PACELC theorem which is more relevant to the new systems
Do you give pdf notes of the session?
Very informative video
Hi Arpit, how about CQRS and Event Sourcing as a topic for this series?
Interested as well
Bhaiyya use OBS if you are just using it to record data.This looks like apne koi Video conference application mai ye khola hai, boht blurry hai
Great video!
Hi Arpit just a quick question may be i am totally wrong,In the context of the CAP theorem, when a system prioritizes consistency and availability (CA), it sacrifices partition tolerance. This means that in the event of a network partition, the system might not be able to guarantee the consistency of the data or the availability of the services,so this means every time system will not be consistent and available ,so it means there might be a chance that we will not be able to achieve any of this (CAP)
there is no network if you have ca. you can only have pc and pa if you have it over multiple networks
#AsliEngineering FTW
How do you add subtitles to your video ?
is there any easy and fast way ?
I recorded this through Reverside - www.riverside.fm/?via=arpit
It is a pretty dope tool for recording and editing podcasts (although I did a single guest video) and added subtitles using that.
@@AsliEngineering do you use the paid version?
@@decadewgame9802 yes. Recently moved to paid tier. This was my first video using the paid tier.
Subtitles and text based video editing are pretty dope. The subtitles you see are part of the paid feature.
if (P) choose C or A.
"Software hai, fatega."
SET GLOBAL sync_binlog = 1;
Until you set this in MySQL it stays a CA system. Your video is confusing. i understood better before going through your video.
Async replicated databases are always prone to high replication lag due to partitioning. if master goes down and we switch this replica to be the master then the data is now not consistent.
Also, it takes some time for replica to become the master so the system is not available during the failover.
A highly available system has zero downtime during failover and it is typically dome with dual writes across nodes.
@@AsliEngineering Thanks for replying. I was super confused yesterday. It will definitely not be a CA system.