Sobes.tech
Junior

NoSQL ma'lumotlar bazalari nima?

sobes.tech AI

AIdan javob

NoSQL (Not Only SQL) — bu relatsiyadan tashqari ma'lumotlar bazalari sinfi bo'lib, ular an'anaviy jadvallar bilan ta'minlangan qat'iy sxemadan farq qiladigan tuzilmalarni ishlatadi. Ular katta hajmdagi no strukturaviy, yarim strukturaviy va ko'p strukturali ma'lumotlar bilan ishlash uchun ishlab chiqilgan bo'lib, moslashuvchan kengaytirish va yuqori mavjudlikni ta'minlaydi.

NoSQL ma'lumotlar bazalarining asosiy toifalari:

  • "Kalit-qiymat" (Key-Value Stores): Ma'lumotlarni kalit-qiymat juftlari shaklida saqlaydi, bunda kalit qiymatni unikal tarzda aniqlaydi.
    # Kalit-qiymat do'koni uchun ma'lumotlarni ifodalash misoli
    user_data = {
        "user:123": {"name": "Alice", "age": 30},
        "product:456": {"name": "Laptop", "price": 1200}
    }
    
  • "Ustunli" (Columnar Databases): Ma'lumotlarni satr emas, ustunlar bo'yicha saqlaydi. Analitik so'rovlar va katta hajmdagi ma'lumotlarni ishlash uchun optimallashtirilgan.
  • "Hujjatli" (Document Databases): Ma'lumotlarni hujjatlar (masalan, JSON, BSON, XML) shaklida saqlaydi. Ma'lumotlar sxemasi moslashuvchan.
    // Hujjatli ma'lumotlar bazasida hujjat misoli
    {
      "_id": "prod_abc",
      "name": "Smartphone",
      "brand": "XYZ",
      "specs": {
        "display": "6.5 inch",
        "camera": "48MP"
      },
      "tags": ["elektronika", "mobil"]
    }
    
  • "Graf" (Graph Databases): Vertex (tugunlar) va edge (aloqalar) shaklida ifodalangan ma'lumotlarni saqlash va ishlash uchun mo'ljallangan. Aloqalarni tahlil qilish uchun ishlatiladi.

SQL asosidagi relatsion ma'lumotlar bazalaridan farqi:

Xususiyat Relatsion (SQL) NoSQL
Ma'lumot sxemasi Aniq, qat'iy Moslashuvchan, dinamik
Kengaytirish Vertikal (server kuchini oshirish) Gorizontal (serverlar qo'shish)
Normalizatsiya Yuqori (ortiqchilikni kamaytirish) Past (ma'lumotlarni takrorlash)
ACID tranzaktsiyalar Odatda to'liq qo'llab-quvvatlash O'zgaruvchan qo'llab-quvvatlash (ba'zan BASE)
So'rov tili SQL Varyant (ko'pincha API, maxsus tillar)

NoSQL ma'lumotlar bazalari yuqori kengaytirish, sxema moslashuvchanligi, katta hajmdagi ma'lumotlarni tez ishlash (Big Data), yarim strukturali/nestukturali ma'lumotlar bilan ishlash yoki maxsus ma'lumotlar modellari (masalan, graflar) talab qilinadigan holatlar uchun tanlanadi.