What are Distributed CACHES and how do they manage DATA CONSISTENCY?

  Рет қаралды 967,151

Gaurav Sen

Gaurav Sen

Күн бұрын

Caching in distributed systems is an important aspect for designing scalable systems. We first discuss what is a cache and why we use it. We then talk about what are the key features of a cache in a distributed system.
The cache management policies of LRU and Sliding Window are mentioned here. For high performance, the cache eviction policy must be chosen carefully. To keep data consistent and memory footprint low, we must choose a write-through or write-back consistency policy.
Cache management is important because of its relation to cache hit ratios and performance. We talk about various scenarios in a distributed environment.
System Design Video Course:
interviewready.io
00:00 Who should watch this video?
00:18 What is a cache?
02:14 Why not store everything in a cache?
03:00 Cache Policies
04:49 Cache Evictions and Thrashing
05:52 Consistency Problems
06:32 Local Caches
07:49 Global Caches
08:56 Where should you place a cache?
09:35 Cache Write Policies
11:38 Hybrid Write Policy?
13:10 Thank you!
A complete course on how systems are designed. Along with video lectures, the course has architecture diagrams, capacity planning, API contracts, and evaluation tests.
System Design Playlist: • System Design for Begi...
Code: github.com/coding-parrot/Low-...
You can follow me on:
Facebook: / gkcs0
Quora: www.quora.com/profile/Gaurav-...
LinkedIn: / gaurav-sen-56b6a941
Twitter: / gkcs_
References:
Guava Cache - github.com/google/guava/wiki/...
LRU - www.mathcs.emory.edu/~cheung/C...
en.wikipedia.org/wiki/Cache_r...
Implementation of Sliding Window Cache policies (Caffeine) - github.com/ben-manes/caffeine
highscalability.com/blog/2016/...
docs.microsoft.com/en-us/prev...)
#SystemDesign #Caching #DistributedSystems

Пікірлер: 525
@VrajaJivan
@VrajaJivan 5 жыл бұрын
Gaurav nice video. One comment. Writeback cache refers to writing to cache first and then the update gets propagated to db asynchronously from cache. What you're describing as writeback is actually write-through, since in write through, order of writing (to db or cache first) doesn't matter.
@gkcs
@gkcs 5 жыл бұрын
Ah, thanks for the clarification!
@KumarAbhishek123
@KumarAbhishek123 5 жыл бұрын
Yes, would be great if you can add a comment saying correction about the 'Write back cache'. Thanks for the great video!
@gururajsridhar7314
@gururajsridhar7314 5 жыл бұрын
I agree.. a comment in the video correcting this would be good update to this.
@mrityunjoynath7673
@mrityunjoynath7673 4 жыл бұрын
So Gaurav was also wrong in saying "write-back" is a good policy for distributed systems?
@jyotipandey9218
@jyotipandey9218 4 жыл бұрын
@Gaurav Yes that would be great. That part was confusing, had to read about that separately.
@waterislife9
@waterislife9 3 жыл бұрын
Write-through: data is written in cache & DB; I/O completion is confirmed only when data is written in both places Write-around: data is written in DB only; I/O completion is confirmed when data is written in DB Write-back: data is written in cache first; I/O completion is confirmed when data is written in cache; data is written to DB asynchronously (background job) and does not block the request from being processed
@rajee120
@rajee120 Жыл бұрын
Q
@GK-rl5du
@GK-rl5du 5 жыл бұрын
Other variants 1. There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. 2. There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery
@gkcs
@gkcs 5 жыл бұрын
Hahahaha!
@GK-rl5du
@GK-rl5du 5 жыл бұрын
@@gkcs A humble suggestion, I think you should have a sub-reddit for the channel, because these are such critical topics [not just for cracking interviews], I'm sure they'd definitely encourage healthy discussions. I think YT's comment system is not really ideal to have/track conversations with fellow channel members.
@RAJATTHEPAGAL
@RAJATTHEPAGAL 4 жыл бұрын
This is an underrated comment .... 😂😂😂
@kumarakantirava429
@kumarakantirava429 4 жыл бұрын
​@@gkcs Can you please give some hints on WHY "out of order Delivery" is a problem in distributed systems, if the application is running on TCP ..................PLease Kindly reply.
@kumarakantirava429
@kumarakantirava429 4 жыл бұрын
@goutham Kolluru , Can you please give an hint on WHY "out of order Delivery" is a problem in distributed systems, if the application is running on TCP ..................PLease Kindly reply.
@mengyonglee7057
@mengyonglee7057 Жыл бұрын
Notes: In Memory Caching - Save memory cost - For commonly accessed data - Avoid Re-computation - For frequent computation like finding average age - Reduce DB Load - Hit cache before querying DB Drawbacks of Cache - Hardware (SSD) much more expensive than DB - As we store more data on cache, search time increases (counter productive) Design - Database (Infinite information) vs Cache (Relevant information) Cache Policy - Least Recently Used (LRU) - Top entires are recent entries, remove least recently used entries in cache Issue with caches - Extra calls - When we couldn’t find entry in cache, we query from database. - Threshing - Input and output cache without ever using results - Consistency - When update DB, we must maintain consistency between cache and DB Where to place the cache - Close to server (in memory) - Benefit - Fast - Issue - Maintaining consistency between memory of different servers, especially for sensitive data such as password - Close to DB (global cache, i.e. Redis) - Benefit - Accurate, Able to scale independently Write-through vs Write-back - Write-through - Update cache, before updating DB - Not possible for multiple servers - Write-back - Update DB, before updating cache - Issue: Performance - When we update the DB, and we keep updating the cache based on that, much of the data in the cache will be fine and invalidating them will be expensive - Hybrid - Any update first write to cache - After a while, persist entries in bulk to database
@pushp3593
@pushp3593 5 ай бұрын
nice, but write through and write back notes part is wrong, pls correct it. you can check other comments. thanks
@cheerladinnemouli2864
@cheerladinnemouli2864 2 ай бұрын
Nice notes
@mannion1985
@mannion1985 4 жыл бұрын
I can already hear the interviewer asking "with the hybrid solution: what happens when the cache node dies before it flushes to the concrete storage?" You said youd avoid using that strategy for sensitive writes but you'd still stand to lose upto the size of the buffer you defined on the cache in the e entire of failure. You'd have to factor that risk into your trade off. Great video, as always. Thank you!
@bhavyeshvyas2990
@bhavyeshvyas2990 5 жыл бұрын
Dude you are the reason for my system design interest Thanks and never stop making system design videos
@jsf17
@jsf17 3 жыл бұрын
The world needs more people like you. Thank you!
@legozxx6655
@legozxx6655 5 жыл бұрын
Great explanation. You are making my revision so much easier. Thanks!!
@AnonyoX
@AnonyoX 4 жыл бұрын
Great video. But I wanted to point out that, I think what you are referring to as 'write-back' is termed as 'write-around', as it comes "around" to the cache after writing to the database. Both 'write-around' and 'write-through' are "eager writes" and done synchronously. In contrast, "write-back" is a "lazy write" policy done asynchronously - data is written to the cache and updated to the database in a non-blocking manner. We may choose to be even lazier and play around with the timing however and batch the writes to save network round-trips. This reduces latency, at the cost of temporary inconsistency (or permanent if the cache server crashes - to avoid which we replicate the caches)
@jajasaria
@jajasaria 5 жыл бұрын
always watching your videos. topic straight to the point. keep uploading man. thanks always.
@SatyadeepRoat
@SatyadeepRoat 3 жыл бұрын
I am actually using write back redis in our system but this video actually helped me to understand what's happening overall. GReat video
@anjurawat9274
@anjurawat9274 4 жыл бұрын
I watched this video 3 times because of confusion but ur pinned comment saved my mind thank you sir
@user-oy4kf5wr8l
@user-oy4kf5wr8l 4 жыл бұрын
each of ur videos, i watched ay least twice lol, thank you!! WE ALL LOVE U! U R THE BEST!
@rishiraj9131
@rishiraj9131 2 жыл бұрын
I also watch his videos mamy times. At least 4 times to be precise.
@devinsills1281
@devinsills1281 2 жыл бұрын
A few other reasons not to store completely everything in cache (and thereby ditching DBs altogether) are (1) durability since some caches are in-memory only; (2) range lookups, which would require searching the whole cache vs a DB which could at least leverage an index to help with a range query. Once a DB responds to a range query, of course that response could be cached.
@kabooby0
@kabooby0 3 жыл бұрын
Great content. Would love to hear more about how to solve cached data inconsistencies in distributed systems.
@vakul121
@vakul121 4 жыл бұрын
It is a really great video.Finally found a detailed video.Thank you for sharing your knowledge!!
@Sound_.-Safari
@Sound_.-Safari 3 жыл бұрын
Cache doesn’t stop network calls but does stop slow costly database queries. This is still explained well and I’m being a little pedantic. Good video, great excitement and energy.
@rahuljain5642
@rahuljain5642 2 жыл бұрын
If someone explains any concept with confidence & clarity like you in the interview, he/she can rock it seriously. Heavily inspired by you & love your content of system design. Thanks for the effort @Gaurav Sen
@an_R_key
@an_R_key 4 жыл бұрын
You articulate these concepts very well. Thanks for the upload.
@rajeevkulkarni2888
@rajeevkulkarni2888 2 жыл бұрын
Thank you so much for these videos!. Using this I was able to pass my system design interview.
@akash.vekariya
@akash.vekariya 3 жыл бұрын
This man is literally insane in explanation 🔥
@zehrasubas9768
@zehrasubas9768 4 жыл бұрын
Hi Guarav, I really like your videos thank you for sharing! I need to point out something about this video. Writing directly do DB and updating cache after, is called write around not write back. The last option you have provided, writing to cache and updating DB after a while if necessary, is called write back
@gkcs
@gkcs 4 жыл бұрын
Thanks Zehra 😁
@mayankvora8329
@mayankvora8329 3 жыл бұрын
I don't know how people can dislike your video Gaurav, you are a master at explaining the concepts.
@harisridhar6698
@harisridhar6698 2 жыл бұрын
Hi Gaurav - good video on distributed caching! This expands a bit more on what I learned in my computer architecture class - I didn't recall thrashing the cache too well, or what distinguished write-through vs. write-back. I think learning caching in the context of networks is more interesting, since it was initially introduced as a way to avoid hitting disk ( on a single machine ), but is also a way to reduce network calls invoked from server to databases.
@enfieldli9296
@enfieldli9296 2 жыл бұрын
I just can't find a better content on YT than this, thanks man!
@kfqfguoqf
@kfqfguoqf 4 жыл бұрын
Your System Design videos are very good and helpful, thanks!
@neeraj91mathur
@neeraj91mathur 3 жыл бұрын
Nice video Gaurav, really like your way of explaining. Also, the fast forward when you write on board is great editing, keeps the viewer hooked.
@semperfiArs
@semperfiArs 5 жыл бұрын
Extremely good video series bro. Just subscribed yesterday and loving it so far. Suggest you to start a interview series where you can answer a few important questions. Will be helpful.
@NohandleReqd
@NohandleReqd 2 жыл бұрын
Teaching and learning are processes. Gaurav makes it fun to learn about stuff, then let it be systems or the egg dropping problem. I might just take the InterviewReady course to participate in the interactive sessions. Take a bow!
@aswath_s
@aswath_s 3 жыл бұрын
Awesome explanation gaurav. You're cool man. We want a lottt more from you. We admire your ability to explain topics with great simplicity.
@Not0rious7
@Not0rious7 3 жыл бұрын
You continue to offer great content. thank you !
@Satu0King
@Satu0King 4 жыл бұрын
Description for write back cache is incorrect. Write-back cache: Under this scheme, data is written to cache alone and completion is immediately confirmed to the client. The write to the permanent storage is done after specified intervals or under certain conditions. This results in low latency and high throughput for write-intensive applications, however, this speed comes with the risk of data loss in case of a crash or other adverse event because the only copy of the written data is in the cache.
@gkcs
@gkcs 4 жыл бұрын
Thanks for pointing this out Satvik 😁👍
@justinmancherje6168
@justinmancherje6168 4 жыл бұрын
I believe the description in the video given for write-back cache is actually a write-around cache (according to grokking system design)
@mostinho7
@mostinho7 4 жыл бұрын
What if the cache itself is replicated? Will write-back still has risk of data loss
@arpansen964
@arpansen964 2 жыл бұрын
Yes, as per my understanding, write-through cache : when data is written on the cache it is modified in the main memory, write back cache: when dirty data (data changed) is evicted from the cache , it is written on the main memory, so write back cache will be faster. The whole explanation around there two concepts given in this video seems fuzzy.
@JinkProject
@JinkProject 4 жыл бұрын
this video was gold. studying for my facebook on-site and i need to understand a bit more how backend works. cheers @gaurav sen
@muhammadanas11
@muhammadanas11 3 жыл бұрын
The way you explained concepts is AWSOME. Can you please create a video that decribes DOCKER and Containers in your style.
@happilysmpl
@happilysmpl 2 жыл бұрын
Excellent! Great video with tremendous info and design considerations
@codingart7736
@codingart7736 5 жыл бұрын
Loved your sharing Thanks a lot
@manasbudam7192
@manasbudam7192 4 жыл бұрын
What you explained as write-back cache is actually a write-around cache. In write-back cache...you update only the cache during the write call and update the db later (either while eviction or periodically in the background).
@renon3359
@renon3359 5 жыл бұрын
Keep making these videos brother, great job as always. :)
@sandeepk9640
@sandeepk9640 3 жыл бұрын
Nicely packed lot of information for glimpse.. Great work
@prakharpanwaria
@prakharpanwaria 2 жыл бұрын
Good video around basic caching concepts. I was hoping to learn more about Redis (given your video title)!
@TheHalude
@TheHalude 4 жыл бұрын
Thanks this was a good video for a high level overview of cache, easy to follow,
@andreigatej6704
@andreigatej6704 5 жыл бұрын
Very well explained! Thank you
@jayantsogani8389
@jayantsogani8389 5 жыл бұрын
Thanks Gaurav, your lecture helped me to crack MS. Keep posting video's
@gkcs
@gkcs 5 жыл бұрын
Congrats!
@shubham.1172
@shubham.1172 4 жыл бұрын
Are you in the Hyd campus?
@grijeshmnit
@grijeshmnit 4 жыл бұрын
Your explanations are improved a lot now... correct sequence of information was missing in your earlier vdos... May you can improve your flow chart, fig further for less confusing...
@ashwinasokan
@ashwinasokan Жыл бұрын
Bhai. u r a life saver! Brilliant tutoring. Thank you!
@OwenValentine
@OwenValentine 4 жыл бұрын
Gaurav, what you initially described as write-back at around 10:30 I have seen described as write-around. Write-back is where you write to the cache and get confirmation that the update was made, then the system copies from the cache to the database (or whatever authoritative data store you have) later... be it milliseconds or minutes later. Write through is reliable for things that have to be ACID but it is slower than write back. You later describe what I have always heard as write-back at around 12 and a half minutes
@gkcs
@gkcs 4 жыл бұрын
Yes, I messed up with the names. Thanks for pointing it out 😁
@oscarjesusresendiz100
@oscarjesusresendiz100 4 жыл бұрын
Great explanation Dude! You killed it!
@1970mcgraw
@1970mcgraw 3 жыл бұрын
Excellent info and presentation - thanks!
@muraliboddu4007
@muraliboddu4007 2 жыл бұрын
nice quick video to get an overview. thanks Gaurav. you are helping a lot of people.
@RpraneelK
@RpraneelK 3 жыл бұрын
Very informative and concepts explained clearly. Thanks
@nishantmahajan55
@nishantmahajan55 4 жыл бұрын
Very helpful and to the point. Thanks.
@CloudXpat
@CloudXpat 3 жыл бұрын
Great explanation for caching. I believe you'll go far.
@psrajput09
@psrajput09 5 жыл бұрын
Superb, now I started using my free time to learn something ! Thanks!!!
@souradiptachoudhuri4724
@souradiptachoudhuri4724 5 жыл бұрын
This video is just awesome. Thank you
@timhomstad
@timhomstad 2 жыл бұрын
Do you implement caching on most systems? It will add complexity, how can you determine if it is worth the additional effort to develop. Love the videos by the way. These are a great learning tool, you do a great job.
@pat2715
@pat2715 3 ай бұрын
amazing clarity, intuitive explanations
@i2chang
@i2chang 4 жыл бұрын
Thank you, this video is very good!
@jask00
@jask00 5 жыл бұрын
Great job. Really well explained
@akashnag3879
@akashnag3879 5 жыл бұрын
Loved it.. Thank you for such amazing video.. keep coming up with more.
@silentknight2851
@silentknight2851 4 жыл бұрын
hey Gaurav, for holidays I'll watch your videos day in and day out... So please teach new topics asap. I love to listen you
@ShaliniNegi24
@ShaliniNegi24 4 жыл бұрын
Nice Explanation! Thanks :)
@chenwang7194
@chenwang7194 3 жыл бұрын
Nice video, thanks! For the hybrid mode, when S1 persists to DB in bulk, the S2 is still having the old data, right? How do we update S2?
@GustavoRodrigues-le3zw
@GustavoRodrigues-le3zw 2 жыл бұрын
Amazing Explanation!! Thanks!!
@rahulchawla6696
@rahulchawla6696 Жыл бұрын
wonderfully explained. thanks
@jatinchugh373
@jatinchugh373 5 жыл бұрын
dude your content is amazing
@AbhideepChakravarty
@AbhideepChakravarty 3 жыл бұрын
The draw back of write through you explained is equally applicable in Write Back i.e. I null the value in S1 still the value is not null in S2. Major thing is - Redis is not distributed cache. Even their own definition does not include the word "Distributed" - Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
@djanupamdas
@djanupamdas 5 жыл бұрын
I think simply telling THANK YOU will be very less for this help !!! Superb video.
@gkcs
@gkcs 5 жыл бұрын
Glad to help :)
@jagatsastry
@jagatsastry 4 жыл бұрын
I mean you can always do more by becoming a channel member 😄
@shreyasns1
@shreyasns1 2 жыл бұрын
Thank you for the video. You could have gone a little deeper about how the cache is implemented? What’s the underlying data structure of the cache?
@ivandrofly
@ivandrofly 4 жыл бұрын
My boy look very energized... keep it up!
@gkcs
@gkcs 4 жыл бұрын
😁
@asankaherath1744
@asankaherath1744 3 ай бұрын
Thank you so much..! your videos are really valuable. Really appreciate your effort, sir.!!
@ananava254
@ananava254 3 жыл бұрын
Thank you Gaurav, it was a really good explanation
@billyean
@billyean Жыл бұрын
Explained like my interviewed candidate today.
@kevinz1991
@kevinz1991 2 жыл бұрын
learned a ton in this video thanks so much
@CodeSbyAniz
@CodeSbyAniz 3 жыл бұрын
You have explained it very nicely. Thanks.
@michaelscheppert3664
@michaelscheppert3664 2 жыл бұрын
thanks for this quick tutorial :) your English is really good
@sirunworld
@sirunworld 3 жыл бұрын
Great going, Gaurav. You have a great future!
@meletisflevarakis40
@meletisflevarakis40 4 жыл бұрын
Your explanation is awesome. Keep it up!
@gkcs
@gkcs 4 жыл бұрын
Thanks!
@sakshichawla3946
@sakshichawla3946 2 жыл бұрын
Very well explained !!
@mana5473
@mana5473 2 жыл бұрын
Great video, thank you!
@kumarp1976
@kumarp1976 3 жыл бұрын
Good content. However, the Hybrid approach is based only on write through. There should be a Hybrid approach on write back too. The system (post db entry) should also not just invalidate, but update the cache with new data. That way, both persistent and cache storage has new data. No cache miss for next read. What do you think @gaurav?
@thompson7440
@thompson7440 5 жыл бұрын
Thanks for the great video! And I actually have a question about write through cache and why is it bad for handling financial data? Because it needs to write to both cache and memory and that would increase the I/O cost or there might be some inconsistency when another processor access the data from memory between the gap of writing into cache and writing into memory?
@gkcs
@gkcs 5 жыл бұрын
Thanks! It's the latter.
@chriszeng5406
@chriszeng5406 4 жыл бұрын
Good video. Thank you. From Canada.
@sharifulhaque6809
@sharifulhaque6809 3 жыл бұрын
Very easy understanding Gaurav. Thanks a lot !!!
@PalashPathak19
@PalashPathak19 5 жыл бұрын
Hi Gaurav, it is refreshing to see your System Design videos. I have a small doubt. You initially suggested that In-memory caching is not such a good idea & that we should rather use Distributed Global caching. So why did you compare write-through & write-back focusing on In-memory caching? Which one would fare better when used with Distributed Global caching? (as consistency will not be an issue in that case) Thanks in advance.
@anmolbisht8562
@anmolbisht8562 5 ай бұрын
i also have a same doubt
@bala9893
@bala9893 5 жыл бұрын
You made what i want😍
@siris3957
@siris3957 4 жыл бұрын
You explain so well! :) Thank you
@gkcs
@gkcs 4 жыл бұрын
Thanks!
@manishamulchandani1500
@manishamulchandani1500 3 жыл бұрын
I have one doubt regarding the cache policy. Gaurav explained that for critical data we use Write Back policy to ensure consistency. In write through one instance memory cache gets updated and others can remain stale. 1) My question is same can happen in Write Back, one instance's in memory cache entry gets deleted and we update DB..other instances still have that entry. So there is inconsistency in write Back as well. Why do we prefer write back for critical data because same issue is there in write back. If answer is invalidate all instances in memory cache entry then same can be done for Write through. Which makes me ask question 2. 2) My another question is : We can update all instances' in memory cache entry and then update DB. In this way consistency is maintained so why not we use this for critical data like password financial information.
@raghavabharati
@raghavabharati 4 жыл бұрын
Pls refer to the caching topic page in Educative(That you've recommended). Is the explanation in your video and that page aligned?
@ZALOP123
@ZALOP123 3 жыл бұрын
@Gaurav Sen Thanks for the video. I have a question for you: I have a system where I need to cache a small amount of data (user IDs to usernames - in a map). This is so that on the front end I can populate the data with the auto-complete feature on the UI. For this scenario, would you recommend a cache infrastructure like Redis? Or could we just use a Concurrent HashMap in a programming language like Java to do this? thanks.
@rishiraj1616
@rishiraj1616 5 жыл бұрын
This is my video on your channel and I must say that you explain very well! You seem professional, knowledgable and researched your topic well!
@kartikpandey3631
@kartikpandey3631 4 жыл бұрын
Hi Gaurav, great video and nice presentation skills (y). Just wanted to know if we can use write-through with global cache will it be a better approach as there will be consistency as well as high performance of write-through? and can it be used for critical data ?
@muthupandi4371
@muthupandi4371 4 жыл бұрын
Excellent explanation
@rsragsh55
@rsragsh55 4 жыл бұрын
Hi Gaurav, Your videos are awesome and of great help. Would really appreciate if you could make a video regarding ''how to get aws certification''.
@daysimples7658
@daysimples7658 4 жыл бұрын
Summary Caching can be used for the following purposes: Reduce duplication of the same request Reduce load on DB. Fast retrieval of already computed things. Cache runs on SSD (RAM) Rather than on commodity hardware. Don't overload the cache for obvious reasons: It is expensive(hardware) Search time will increase Think of two things:(You obviously want to keep data that is going to be most used) !So predict! When will you load data in the cache When will you evict data from the cache Cache Policy = Cache Performance Least Recently Used Least Frequently used Sliding Window Cache Policy = Cache Performance Least Recently Used Least Frequently used Sliding Window Avoid thrashing in Cache Putting data into the cache and removing it without using it again most of the time. Issues can be of Data Consistency What if data has changed Problems with Keeping cache in Server memory(In memory) -What if the server goes down(cache will go down) -How to maintain consistency in data across cache. Mechanism Write through Always write first in the cache if there is an entry and then write in DB. The second part can be synchronous. But if you have in-memory cache for every server obviously you will enter into data inconsistency again Write back Go to Db, make an update, and check-in cache if you have the entry.. Evict it. But suppose there is no any important update and you keep evicting entries from cache like this you can again fall into thrashing. One can use Hybrid approach as per the use case. Thanks to @GauravSen
@AmitKumar-je7rn
@AmitKumar-je7rn 2 жыл бұрын
I have one doubt. The definition you gave for write-back should be for write-around. In write-around, we hit the DB first and then update the cache. In write-back, we first update the cache and then wait for some time to bulk write in DB. Please let me know if my understanding is wrong.
@fakhruddintahery1561
@fakhruddintahery1561 Жыл бұрын
Great explanation
@ravimulchandani2916
@ravimulchandani2916 Жыл бұрын
Nice Explanation Gaurav. This video covers basics of caching. In one of the interviews, I was asked to design the Caching System for stream of objects having validity. Is it possible for you to make some video on this system design topic?
@VikramKumar-qo3rg
@VikramKumar-qo3rg 3 жыл бұрын
Fun part. I was going through 'Grokking The System Design Interview' course, found the term 'Redis', started searching for more on it on youtube, landed here, finished the video and Gaurav is now asking me to go back to the course. Was going to anyway! :)
@gkcs
@gkcs 3 жыл бұрын
Hahaha!
@pranavsurampudi6838
@pranavsurampudi6838 3 жыл бұрын
One Observation, cache need not run on expensive hardware, and for cache, one would use "memory" centric instances on the cloud, not SSD(s) and caches can be used in place of a database if the size is relatively small and you require high throughput and efficiency.
@user-jk1qi2gj2p
@user-jk1qi2gj2p 2 жыл бұрын
Thanks for this video
System Design Interview - Distributed Cache
34:34
System Design Interview
Рет қаралды 342 М.
What is an API and how do you design it? 🗒️✅
15:26
Gaurav Sen
Рет қаралды 705 М.
О, сосисочки! (Или корейская уличная еда?)
00:32
Кушать Хочу
Рет қаралды 6 МЛН
小路飞姐姐居然让路飞小路飞都消失了#海贼王  #路飞
00:47
路飞与唐舞桐
Рет қаралды 89 МЛН
Не пей газировку у мамы в машине
00:28
Даша Боровик
Рет қаралды 9 МЛН
Data Consistency and Tradeoffs in Distributed Systems
25:42
Gaurav Sen
Рет қаралды 177 М.
WHATSAPP System Design: Chat Messaging Systems for Interviews
25:15
Gaurav Sen
Рет қаралды 1,8 МЛН
Introduction to NoSQL databases
26:18
Gaurav Sen
Рет қаралды 761 М.
How NETFLIX onboards new content: Video Processing at scale 🎥
10:44
Cache Systems Every Developer Should Know
5:48
ByteByteGo
Рет қаралды 431 М.
System Design: TINDER as a microservice architecture
36:41
Gaurav Sen
Рет қаралды 1,2 МЛН
What is a MESSAGE QUEUE and Where is it used?
9:59
Gaurav Sen
Рет қаралды 936 М.
System Design Interview: TikTok architecture with @sudocode
45:35
О, сосисочки! (Или корейская уличная еда?)
00:32
Кушать Хочу
Рет қаралды 6 МЛН