Skip to main content

Ön Bellek (Cache)

Sistem Analizi

Veri ve DepolamaPRODUCTION

Normal Davranış

Uygulamalardan okuma sorgularını (read queries) alır, önbellek isabetinde (cache hit) önbelleğe alınmış verileri anında döndürür ve önbellek ıskalamasında (cache miss) kaydı temel veritabanından getirir, atanmış bir Yaşama Süresi (Time-to-Live - TTL) veya tahliye politikası (eviction policy - örneğin LRU: En Az Yakın Zamanda Kullanılan) ile bellekte depolar ve istemciye döndürür.

Çöküş Davranışı

Bir anahtar sona erme (key expiration) zinciri, binlerce eşzamanlı önbelleğe alınmamış sorguyu doğrudan ilişkisel veritabanına gönderen bir gürleyen sürüye (cache stampede - önbellek izdihamı) neden olur ve veritabanı bağlantı havuzu tükenmesine (connection pool exhaustion), aşırı CPU sıçramalarına ve tam bir uygulama kesintisine (outage) yol açar.

İş Sonuçları

Bir önbelleğe alma katmanı (caching layer) tehlikeye girdiğinde, altta yatan sistemler bir 'önbellek izdihamı' (cache stampede) veya 'gürleyen sürü' (thundering herd) etkisi yaşar. Veritabanları ve akış aşağı (downstream) hizmetleri, ağır okuma trafiğinin tüm hafifletilmemiş darbesiyle aniden yüzleşir; bu da CPU kullanımının %100'e fırlamasına, yanıt sürelerinin milisaniyelerden saniyelere düşmesine ve nihayetinde kullanıcı işlemlerini ve reklam gelirlerini durduran tam sistem kesintilerine neden olur.

Görsel Tezahür

"Veritabanı CPU kullanımı grafikleri dikey olarak fırlarken uygulama yanıt gecikmesi (response latency) ısı haritalarının (heatmaps) tamamen kırmızıya dönmesi."

Satirical Behavior

"A temporary bucket for data that developers use to hide the fact that their database queries take three minutes to run."

Bilinen İsimler

Caching LayerRedisMemcachedCDN

Teknik Terminoloji

cache hitcache missttleviction policylruwrite-throughcache stampede

Hata Göstergeleri

stale datacache stampedethundering herdeviction failure

Sistem Mimarisi

Click or hover to interact

Kullanan Karakterler

FAQ

Normalde nasıl davranır?

Uygulamalardan okuma sorgularını (read queries) alır, önbellek isabetinde (cache hit) önbelleğe alınmış verileri anında döndürür ve önbellek ıskalamasında (cache miss) kaydı temel veritabanından getirir, atanmış bir Yaşama Süresi (Time-to-Live - TTL) veya tahliye politikası (eviction policy - örneğin LRU: En Az Yakın Zamanda Kullanılan) ile bellekte depolar ve istemciye döndürür.

Nasıl çöker?

Bir anahtar sona erme (key expiration) zinciri, binlerce eşzamanlı önbelleğe alınmamış sorguyu doğrudan ilişkisel veritabanına gönderen bir gürleyen sürüye (cache stampede - önbellek izdihamı) neden olur ve veritabanı bağlantı havuzu tükenmesine (connection pool exhaustion), aşırı CPU sıçramalarına ve tam bir uygulama kesintisine (outage) yol açar.

İş sonuçları nelerdir?

Bir önbelleğe alma katmanı (caching layer) tehlikeye girdiğinde, altta yatan sistemler bir 'önbellek izdihamı' (cache stampede) veya 'gürleyen sürü' (thundering herd) etkisi yaşar. Veritabanları ve akış aşağı (downstream) hizmetleri, ağır okuma trafiğinin tüm hafifletilmemiş darbesiyle aniden yüzleşir; bu da CPU kullanımının %100'e fırlamasına, yanıt sürelerinin milisaniyelerden saniyelere düşmesine ve nihayetinde kullanıcı işlemlerini ve reklam gelirlerini durduran tam sistem kesintilerine neden olur.

What is the difference between Cache-Aside (Lazy Loading) and Write-Through caching patterns?

In Cache-Aside, the application first checks the cache and, on a miss, reads from the database and updates the cache manually. In Write-Through, the application writes directly to the caching layer, which synchronously updates both the in-memory cache and the backend database before returning success, ensuring strong read consistency at the cost of higher write latency.

How does the XFetch algorithm prevent cache stampedes on hot keys?

XFetch introduces probabilistic early recomputation: as a cached item approaches its expiration time, background read requests probabilistically trigger an asynchronous database refresh based on compute time, remaining TTL, and access frequency, refreshing the key before it ever completely expires.

AI özeti

Cache is a DATA_AND_STORAGE system in TinyCTO.tv. Receives read queries from applications, returns cached data immediately on a cache hit, and on a cache miss fetches the record from the underlying database, stores it in memory with an assigned Time-to-Live (TTL) or eviction policy (such as LRU - Least Recently Used), and returns it to the client.