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.