Get my Introduction to Database Engineering course. Head to database.husseinnasser.com for a discount coupon. Link redirects to udemy with coupon applied.
amazing course, i'm having a lot of fun. By the way, it would be nice to have a course of caching engineering fundamentals explaining the the big ideas behind and comparing multiple nowadays solutions and also discussing their architectures and its internals.
The statement, “without understanding what step is causing performance issue or slowing down the application & instead just adding a cache layer is just bad practice”. I was is (kind of) in the process to the same, this hit me hard & got me thinking & I think know I now what instead I should be doing. Thanks.
he‘s saying decent things but not out of this world knowledge. For me, it‘s relaxing to see another engineer knowing the depth of things and seeing him be concerned of the same things, it‘s a validating comfortable feeling
10:15 Fundamentally there is nothing wrong with pushing to a CDN. The issue is that you need to add extra complexity to your application when the end result is optimizing the response time for one user (per edge server). It also requires you to know your user's access patterns well. If it's a personal blog it's an easy to decision to add your latest blog post as there will be a surge of traffic to it when you publish it. But what if you are a blogging platform? Some user's new posts may be read by very few people, so whose new posts should be pushed to the CDN? The CDN is in a much better place to know what resources are being requested and which are the most popular and which aren't and should be remvoed from the cache. Cloudflare, Cloudfront, and Google Cloud CDN, don't even support being pushed to AFAIK. This kind of shows there isn't a market demand for it.
Great video, Hussein! The last part where you talked about why we cache sure hit it home. I will definitely keep those aspects in mind going forward with my own code.
Can you go more into “pushing is unpredictable”? If I were designing a system, I’d opt for pushing to the CDN to avoid unnecessary polls. Why poll once a second if nothing had changed? I’d like to read more on this topic if you have references.
Just a beginner question, why can't edge caching work with encrypted media file ? Let's say for example our cache is a KV pair, the key is known but the value is encrypted. Why don't we use something like a MAC hash for validation that doesn't till too much about the encrypted content yet signifies if it was changed or not ?
Good question, When you encrypt with TLS, a new ephemeral symmetrical key is used. So that even if you take the same piece of content it will create a completely different encrypted cipher (thats the power of encryption) As a side effect you have no idea what is the content being encrypted so you can’t cache it.
@@hnasr It can. Netfilx encrypts videos in its cache (for DRM purposes). In regards to having the origin sign a response that can get replayed by a CDN chrome supports signed exchanges but it complicates things when you could just trust your CDN provider. There is a trade off between using nontechnical measures (i.e. contracts or trust) and technical measures (i.e. encryption or signatures) when protecting a system.
For the database caching, I think maybe the problem can be solved if there are some special keywords to tell the database that the attribute is a cache in the other table and what the cache invalidation should be. I wonder if there are databases that already do it
Hi guys, could you advise me when to use redis, hazelcast and memcache I'm choosing a caching technology for our project. I tried to find the comparison between redis and hazelcast and memcache online but they just talk about the basic characteristics, I mean it's quite ambiguity
I read somewhere (not sure where): If you don't think that managing the state and caching are hard then consider the fact that 90% of the problems in a system go away after reboot
hi good- i have this message-Or use my current location This IP, site or mobile application is not authorized to use this API key. Request received from IP address 82.165.88.128, with empty referer can you help us for this ?
Get my Introduction to Database Engineering course. Head to database.husseinnasser.com for a discount coupon. Link redirects to udemy with coupon applied.
amazing course, i'm having a lot of fun. By the way, it would be nice to have a course of caching engineering fundamentals explaining the the big ideas behind and comparing multiple nowadays solutions and also discussing their architectures and its internals.
There are only two hard problems in computer science: cache invalidation, naming things & off-by-one errors
My favorite computer science joke
came here for this
Poetic software engineering. A message for the future generations: "This guy is a legend!"
Hussein man, keep this show (BE engineering Show) ongoing. The knowledge gained from episodes of this show are golden!
Will do ! 🙏 appreciate it
The statement, “without understanding what step is causing performance issue or slowing down the application & instead just adding a cache layer is just bad practice”.
I was is (kind of) in the process to the same, this hit me hard & got me thinking & I think know I now what instead I should be doing. Thanks.
I learn so much from your videos, thank you. Your channel is so underrated
he‘s saying decent things but not out of this world knowledge. For me, it‘s relaxing to see another engineer knowing the depth of things and seeing him be concerned of the same things, it‘s a validating comfortable feeling
10:15 Fundamentally there is nothing wrong with pushing to a CDN. The issue is that you need to add extra complexity to your application when the end result is optimizing the response time for one user (per edge server). It also requires you to know your user's access patterns well. If it's a personal blog it's an easy to decision to add your latest blog post as there will be a surge of traffic to it when you publish it. But what if you are a blogging platform? Some user's new posts may be read by very few people, so whose new posts should be pushed to the CDN? The CDN is in a much better place to know what resources are being requested and which are the most popular and which aren't and should be remvoed from the cache.
Cloudflare, Cloudfront, and Google Cloud CDN, don't even support being pushed to AFAIK. This kind of shows there isn't a market demand for it.
maybe in blogging platform you can predict which one to cache based on previous pattern, like maybe that user that posting always so much view etc..
@@wahdangun Yes, it's possible, but it's high complexity for a low reward.
Will you be talking about the atlassian outage?
Great video, Hussein! The last part where you talked about why we cache sure hit it home. I will definitely keep those aspects in mind going forward with my own code.
if you cache in a db table you could use a trigger to update it.
your voice is so chill, like it bro❤️
Is it possible to implement cache in load balancer?
Can you go more into “pushing is unpredictable”? If I were designing a system, I’d opt for pushing to the CDN to avoid unnecessary polls. Why poll once a second if nothing had changed? I’d like to read more on this topic if you have references.
Just a beginner question, why can't edge caching work with encrypted media file ? Let's say for example our cache is a KV pair, the key is known but the value is encrypted. Why don't we use something like a MAC hash for validation that doesn't till too much about the encrypted content yet signifies if it was changed or not ?
Good question,
When you encrypt with TLS, a new ephemeral symmetrical key is used. So that even if you take the same piece of content it will create a completely different encrypted cipher (thats the power of encryption)
As a side effect you have no idea what is the content being encrypted so you can’t cache it.
@@hnasr Got it. Thank you 🙏
Plus hashing might be computationally expensive to do at scale just to verify content changes.
@@hnasr It can. Netfilx encrypts videos in its cache (for DRM purposes).
In regards to having the origin sign a response that can get replayed by a CDN chrome supports signed exchanges but it complicates things when you could just trust your CDN provider.
There is a trade off between using nontechnical measures (i.e. contracts or trust) and technical measures (i.e. encryption or signatures) when protecting a system.
For the database caching, I think maybe the problem can be solved if there are some special keywords to tell the database that the attribute is a cache in the other table and what the cache invalidation should be. I wonder if there are databases that already do it
actually, trigger functions already do the job
Hi guys, could you advise me when to use redis, hazelcast and memcache
I'm choosing a caching technology for our project. I tried to find the comparison between redis and hazelcast and memcache online but they just talk about the basic characteristics, I mean it's quite ambiguity
I read somewhere (not sure where): If you don't think that managing the state and caching are hard then consider the fact that 90% of the problems in a system go away after reboot
Will u make a new udemy course soon ?
Yes working on a new one.
@@hnasr looking forward to it
But why he deleted that article?
I have a serious question, where do you find these tech articles?
Google news, and people send me articles. This one was sent to me in order to react and give my opinion on .
can you pls suggest few books that you have read and which helped in your learning journey
I started re-reading Transaction Processing: Concepts and Techniques by Gray, Reuter. Really good book for understanding database workloads.
Just needed this 💯💯
I have tons of JIRA's issue because of stupid cache
You forgot off by one errors
Another one : Exactly once semantics.
Caches are like eidi. Everyone gets a cache. You get a cache, you get a cache and you get a cache !
Cache
I thought time was hardest problem in CS? 🕒 🤪
Caching is kicking my @ss. Django caching tutorials or 8 lines long.
👍👍
hi good- i have this message-Or use my current location
This IP, site or mobile application is not authorized to use this API key. Request received from IP address 82.165.88.128, with empty referer
can you help us for this ?
nice
#amflearningbydoing #amflearning