Bosh sahifa Wiki Memcached

Memcached

Memcached — Bred Fitspatrik tomonidan 2003-yilda LiveJournal blog platformasi uchun yaratilgan, xotirada (in-memory) ishlaydigan taqsimlangan kesh tizimi. Uning yagona maqsadi — tez-tez so’raladigan ma’lumotlarni ma’lumotlar bazasiga har safar murojaat qilmasdan, tezkor xotirada saqlash.

LiveJournal uchun yaratilish sababi

2000-yillar boshida LiveJournal foydalanuvchilar sonining tez o’sishi natijasida ma’lumotlar bazasi ustidagi yuklama tez ko’payib borayotgan edi. Fitspatrik tez-tez so’raladigan, ammo kamdan-kam o’zgaradigan ma’lumotlarni (masalan, foydalanuvchi profili) operativ xotirada saqlab, ma’lumotlar bazasiga so’rovlar sonini keskin kamaytiruvchi oddiy tizim yaratdi.

Xotirada ishlaydigan oddiy kesh modeli

Memcached juda sodda kalit-qiymat modeliga asoslangan — dastur kerakli ma’lumotni kalit orqali saqlaydi va keyinroq xuddi shu kalit orqali qayta oladi. Tizim ataylab minimalistik qilib loyihalashtirilgan, murakkab so’rov tili yoki tuzilmalarni qo’llab-quvvatlamaydi, faqat tezkor saqlash va olishga e’tibor qaratadi.

Ma’lumotni saqlamasligi

Memcached’ning muhim xususiyati — u ma’lumotni diskka yozmaydi (persistence yo’q). Server qayta ishga tushirilsa yoki ishdan chiqsa, xotiradagi barcha ma’lumot butunlay yo’qoladi. Bu, aslida, ataylab qilingan dizayn qarori — Memcached faqat vaqtinchalik kesh sifatida ishlatilishi kerak, asosiy ma’lumot manbai sifatida emas.

Redis bilan farqi

Redis Memcached’ga o’xshash xotiradagi kalit-qiymat ombori bo’lsa-da, u ma’lumotlar tuzilmalari (ro’yxatlar, to’plamlar, hash‘lar), ma’lumotni diskka saqlash (persistence) va replikatsiya kabi ancha boy imkoniyatlarni taqdim etadi. Shu sababli ko’plab yangi loyihalar oddiy keshlashdan ko’proq narsa kerak bo’lganda Redis‘ni afzal ko’radi.

Hozirgi qo’llanilishi

Garchi Redis ko’proq imkoniyat taklif qilsa-da, Memcached’ning soddaligi va yuqori samaradorligi uni hamon faqat oddiy, tez keshlashga muhtoj tizimlarda, ayniqsa Facebook kabi ba’zi yirik kompaniyalarning muayyan xizmatlarida qo’llanilishida davom ettirmoqda.

Bog’liq tushunchalar

Redis, Kesh, Xotiradagi ma’lumotlar bazasi, LiveJournal, Kalit-qiymat ombori, Taqsimlangan kesh, Ma’lumotlar bazasi