Ma'lumotlar qayerda keshlanadi? Caching turlari
1. Client-side Cache (Mijoz tomonidagi kesh)
Bu kesh eng ko'p ishlatiladigan qatlamlardan biri. U sizning brauzeringizda yoki mobil ilovangizda joylashadi.
Qanday ishlaydi? Siz birinchi marta veb-saytga kirganingizda, serverdan kelgan ma'lumotlar (HTTP javoblari) maxsus "expiration date" bilan birga kompyuteringizga saqlanadi. Keyingi safar o'sha sahifani ochganingizda, brauzer avval keshini tekshiradi. Agar ma'lumot eskirgan bo'lmasa, uni serverga so'rov yubormasdan yuklaydi.
2. CDN (Content Delivery Network)
CDN - bu dunyoning turli nuqtalarida joylashgan serverlar tarmog'i. Asosan statik resurslarni (rasm, video, skriptlar) keshlash uchun xizmat qiladi.
Qanday ishlaydi? Foydalanuvchiga resurslar geografik jihatdan unga eng yaqin serverdan yetkazib beriladi. Bu esa ma'lumot yuklanish vaqtini (latency) kamaytiradi.
3. Load Balancer
Load Balancer ning asosiy vazifasi - kiruvchi so'rovlarni bir nechta serverlar o'rtasida taqsimlash. Ammo u ham keshlovchi vazifasini bajarishi mumkin.
Agar minglab foydalanuvchilar bir xil so'rovni (masalan, "bugungi yangiliklar") yuborayotgan bo'lsa, Load Balancer bu so'rovga javobni o'zida keshlashi va ortdagi serverlarni bezovta qilmasdan foydalanuvchilarga qaytarishi mumkin.
4. Message Broker (Kafka)
Kafka kabi tizimlar odatiy cachinglar uchun emas, lekin ma'lumotlarni vaqtinchalik saqlash orqali kesh vazifasini bajara oladi.
Qanday ishlaydi? Xabarlar (masalan, foydalanuvchidan kelgan eventlar) avval Kafka klasterlaridagi disklarga yoziladi. Consumer servislar esa bu xabarlarni o'zlariga qulay vaqtda o'qib oladi. Ma'lumotlarda retention policy bo'ladi va shu sozlamaga qarab bir necha kun davomida saqlanib turishi mumkin. Bu usul murakkab tizimlardagi qismlar o'rtasidagi bog'liqlikni kamaytiradi.
5. Services (Servislar ichidagi kesh)
Har bir microservice yoki dasturning o'zi ham bir necha darajali keshlashga ega.
CPU Cache (L1, L2, L3): Eng tezkor kesh. Protsessorning ichida joylashgan, eng ko'p ishlatiladigan mashina buyruqlarini saqlaydi.
RAM Cache: Protsessor keshidan sekinroq, lekin diskdan ancha tez ishlaydigan tezkor xotira. Asosiy ma'lumotlar ko'proq shu yerda saqlanadi.
Disk Cache: Ma'lumotlar qattiq diskda saqlanadi. Bu RAMdan sekinroq, lekin masofadagi ma'lumotlar bazasiga murojaat qilishdan tezroq.
6. Distributed Cache (Redis)
Redis kabi in-memory (xotirada ishlovchi) keshlar bir nechta servislar uchun umumiy bo'lgan markazlashgan kesh tuzish imkonini beradi.
Ma'lumotlar key-value ko'rinishida RAMda saqlanadi. Bu esa dbga nisbatan o'qish/yozish operatsiyalarini ancha tezlashtiradi.
7. Full-text Search (Elasticsearch)
Elasticsearch kabi tizimlar ma'lumotlarning bir nusxasini olib, ularni qidiruv uchun optimallashtirilgan maxsus indekslarga joylaydi. Bu ham o'ziga xos kesh hisoblanadi.
Qanday ishlaydi? Ma'lumotlar bazasida LIKE '%matn%' so'rovi bilan qidirish juda sekin ishlaydi. Elasticsearch esa oldindan indekslangan ma'lumotlar tufayli murakkab matnli qidiruvlarni juda tez amalga oshiradi.
Misol: Internet-do'kondagi mahsulotlarni nomi yoki tavsifi bo'yicha qidirish, log fayllarini tahlil qilish.
8. Database (Ma'lumotlar bazasi)
Hatto ma'lumotlar bazasining o'zi ham ishlashni tezlashtirish uchun bir nechta kesh mexanizmlaridan foydalanadi.
WAL (Write-ahead Log): O'zgarishlar asosiy ma'lumotlar fayliga yozilishidan oldin shu logga yoziladi. Bu tizim ishdan chiqqanda ma'lumotlar yo'qolmasligini ta'minlaydi.
Bufferpool: Databaseda RAMda o'zi uchun ajratilgan maxsus joy, eng ko'p so'raladigan ma'lumotlarni (jadvallar, indekslar) shu yerda saqlaydi.
Materialized View: Murakkab va ko'p resurs talab qiladigan so'rovlar natijasi oldindan hisoblanib, alohida jadval sifatida saqlanadi. Bu esa har safar so'rovni qayta ishga tushirishni oldini oladi.
Transaction Log, Replication Log: Bular tranzaksiyalar va ma'lumotlar nusxalari (replicas) o'rtasidagi sinxronizatsiya holatini qayd etib borish uchun xizmat qiladi.
@mabrur_dev
Post #1514
2.65K

- 🔥 17
- ❤ 3