- 1. Adım olarak App server üzerinden hangi data isteniyorsa onun bilgisi ‘Cache’ üzerine gelir. Eğer istenen data için önceden işlem yapıldıysa ve halihazırda bellek içindeyse diske gitmeden bellek üzerinden geri dönülür ve data iletilmiş olur.Adım ise istek gelir ama bellekte yoktur. O zaman istek ‘Disk Queue’ ve varsa replikasyon için ‘Replication Queue’ üzerine gider.
- 2. Adım ise istek gelir ama bellekte yoktur. O zaman istek ‘Disk Queue’ ve varsa replikasyon için ‘Replication Queue’ üzerine gider.
- 3. Adımda ise Disk Queue üzerinden diske girer ve veriyi alır .
- Son adım olarak aldığı veriyi geri cache getirir orda bir kopyasını bıraktıktan sonra App server’a döner.
Peki ‘Write’ işlemi nasıl yapılmakta.
- 1. Adımda yazılacak data, cache içine gelir ve oraya kaydedilir. Sonrasında replikasyon için replication queue ve disk için disk queue üzerine yollanır.
- 2. Veri, cache üzerine geldiği zaman işlemin başarılı olduğuna dair App server’a bilgi döner ama hala disk üzerine yazılmadığından başarılı olup olmama durumu belli değildir. Buna rağmen başarılı olarak döner(Default tanımlanması durumunda).
- 3. Adımda veri disk queue üzerinden diske yazılır ve işlem biter.
Cache Ejection
Belleğe yeni veriler yazılırken, diske önceden yazılmış bazı veriler bellekte yer açılması için bellekten silinir. Couchbase mimari özelliklerinden güç alarak bellekten veri alma işlemini maksimuma çıkartır. Bu sebeple çalışma seti için RAM miktarının uygun şekilde boyutlandırılması önemlidir. Diske veriler yazılırken eğer belleğimiz belli bir dolululuk oranına ulaşması ‘en son kullanılan’ veriler bellekten silinir.
Cache Miss
Eğer verimiz bellekte bulunmuyorsa, sadece diskte bulunuyorsa, o zaman veri okuma işleminde bellekten okuyamaz diske gitmez zorunda kalır.