JavaRush /Kurslar /All lectures for UZ purposes /NoSQL Ma'lumotlar Bazalari bilan Tanishing

NoSQL Ma'lumotlar Bazalari bilan Tanishing

All lectures for UZ purposes
Daraja, Dars
Mavjud

1.1 NoSQL ma'lumotlar bazasi qanday ishlaydi

NoSQL ma'lumotlar bazalari ma'lumotlarga kirish va boshqarish uchun turli ma'lumotlar modellarini ishlatadi. Ular katta hajmdagi ma'lumotlar bilan ishlaydigan va past kechikishga ega hamda moslashuvchan ma'lumotlar modellarini talab qiluvchi ilovalar uchun optimallashtirilgan. Buning uchun boshqa BD turlariga xos bo'lgan qat'iy izchillik talablariga yumshoqroq yondashiladi.

Oddiy kitoblar ma'lumotlar bazasini model qilamiz.

  • Relatsion ma'lumotlar bazasida kitob haqidagi yozuv ko'pincha bir nechta qismlarga bo'linadi (yoki "normallashtiriladi") va alohida jadvallarda saqlanadi. Ular orasidagi munosabatlar asosiy va tashqi kalitlar cheklovlari bilan belgilanadi. Misol uchun, "Kitoblar" jadvalida "ISBN", "Kitob nomi" va "Nashr raqami" ustunlari, "Mualliflar" jadvalida "Muallif ID" va "Muallif nomi" ustunlari, "Muallif–ISBN" jadvalida esa "Muallif" va "ISBN" ustunlari mavjud. Relatsion model ma'lumotlar bazasidagi jadvallar o'rtasidagi bog'lanish ma'lumotlarining yaxlitligini ta'minlash uchun yaratilgan. Ma'lumotlar ortiqcha takrorlanishlarni kamaytirish va saqlash uchun optimallashtirilgan holda normallashtirilgan.
  • NoSQL ma'lumotlar bazasida kitob haqidagi yozuv odatda JSON hujjati sifatida saqlanadi. Har bir kitob yoki element uchun "ISBN", "Kitob nomi", "Nashr raqami", "Muallif nomi" va "Muallif ID" kabi qiymatlar yagona hujjatda atributlar sifatida saqlanadi. Ushbu ma'lumotlar modeli intuitsiyaga mos ishlab chiqish va gorizontal kengayish uchun optimallashtirilgan.

1.2 NoSQL ma'lumotlar bazalarini nima uchun ishlatish mumkin?

NoSQL ma'lumotlar bazalari zamonaviy ilovalar, masalan, mobil, o'yin va internet ilovalari uchun ideal. Ular moslashuvchanlik, kengayuvchanlik, yuqori samaradorlik va keng funksionallikni taqdim etadi, bu esa foydalanish qulayligini maksimal darajada oshiradi.

  • Moslashuvchanlik. NoSQL ma'lumotlar bazalari odatda moslashuvchan sxemalarga ega, bu esa ishlab chiquvchilarga kodni tezroq yozish va bosqichma-bosqich o'zgartirishlarni amalga oshirish imkonini beradi. Bunday modellar qisman tuzilgan va tuzilmagan ma'lumotlar uchun mos keladi.
  • Kengayuvchanlik. NoSQL ma'lumotlar bazalari o'sish uchun qimmatli ishonchli serverlar o'rniga tarqatilgan apparat klasterlaridan foydalanishga mo'ljallangan. Ba'zi bulutli xizmat provayderlari ushbu jarayonni orqa planda avtomatlashtirib, to'liq boshqariladigan xizmatni taqdim etadi.
  • Yuqori samaradorlik. NoSQL ma'lumotlar bazalari konkret modellar va kirish usullariga moslashtirilgan, bu esa relatsion BDlarga qaraganda ko'proq samaradorlikni taqdim etadi.
  • Keng funksionallik. NoSQL ma'lumotlar bazalari tegishli ma'lumotlar modellariga moslashtirilgan API va keng funktsiyalarga ega ma'lumot turlarini taqdim etadi.

1.3 NoSQL ma'lumotlar bazalari turlari

Agar ma'lumotlarni jadvalga joylashtirish imkoni bo'lmasa, NoSQL ma'lumotlar bazalari ishlatiladi. Ma'lumotlar turli formatlarda bo'lishi mumkin. Odatda, NoSQL ma'lumotlar bazalarining 6 asosiy turini ajratish mumkin.

"Kalit-qiymat" juftliklari asosidagi ma'lumotlar bazalari

"Kalit-qiymat" juftliklari bilan ma'lumotlar bazalari ma'lumotlarni boshqacha taqsimlashga va ularni cheklovlarsiz kengaytirishga imkon beradi, bu esa boshqa BDlar bilan taqqoslaganda foydali. Bu o'yinlar, reklama ilovalari va IoT qurilmalari uchun foydali. Masalan, Amazon DynamoDB har qanday o'lchamdagi ma'lumotlarni bir necha millisekund kechikish bilan tezda qayta ishlay oladi. Bu Snapchat'ga Stories'ni DynamoDB xizmatiga o'tkazishga va saqlashdagi yuqori yuklamalarni qo'llab-quvvatlashga yordam berdi.

Hujjatlar

Ilovalar ma'lumotlarni ko'pincha JSON formatiga o'xshash ko'rinishda saqlaydi, chunki bu ishlab chiquvchilar uchun qulay va tushunarli. Hujjatlar ma'lumotlar bazalari hujjat modelini kodda qanday ishlatish mumkin bo'lsa, shunday ishlatishga imkon beradi. Model moslashuvchan, qisman tuzilgan va ierarxik, shuning uchun o'z ehtiyojlaringizga mos ravishda o'zgartirish mumkin.

Ushbu model kataloglar, foydalanuvchilar profillari va kontent boshqarish tizimlariga mos keladi, bu erda hujjatlar o'ziga xos va holatlarning o'zgarishiga qarab o'zgaradi. Amazon DocumentDB (MongoDB bilan mos) va MongoDB - bu ikkita mashhur hujjat ma'lumotlar bazasi bo'lib, ular ishlab chiqish uchun funksiya va tushunarli APIlarni taklif qiladi.

Graf ma'lumotlar bazalari

Graf ma'lumotlar bazalari ma'lumotlarga bog'langan dasturlarni yaratish va ishga tushirishga yordam beradi. Misol uchun, ijtimoiy tarmoqlar, tavsiya tizimlari, firibgarlikni aniqlash va bilim grafalari. Amazon Neptune - bu boshqariladigan graf ma'lumotlar bazalari xizmati. Neptune Property Graph va Resource Description Framework (RDF) modellarini qo'llab-quvvatlaydi va ikkita graf API: TinkerPop va RDF / SPARQL taklif qiladi. Mashhur graf ma'lumotlar bazalari - Neo4j va Giraph.

Hotira ma'lumotlar bazalari

O'yin va reklama ilovalari ko'pincha liderlar jadvali, sessiyalarni saqlash va real vaqtli analitikani talab qiladi. Javobni bir necha mikrosekun ichida olish kerak, shu bilan birga har qanday vaqtda trafikning keskin o'sishi kuzatilishi mumkin.

Amazon MemoryDB for Redis — bu Redis bilan mos hotira ma'lumotlar bazasi xizmati. U o'qishni bir necha millisekundga tezlashtiradi va ko'p zonali ishonchlilikni ta'minlaydi. MemoryDB mikroxizmatlar asosida ishlaydigan ilovalar uchun asosiy ma'lumotlar bazasi sifatida foydalanish mumkin bo'lgan samaradorlik va ishonchlilikni oshirish uchun yaratilgan.

Amazon ElastiCache - bu past kechikish va yuqori o'tkazuvchanlik bilan ish yuklamalarini qo'llab-quvvatlash uchun xizmat. U boshqariladi va Redis va Memcached bilan mos. Tinder kabi mijozlar dasturlarining tezkor javoblarni olishini ta'minlash uchun hotira ma'lumotlar bazalarini ishlatadilar. Amazon DynamoDB Accelerator (DAX) - bu yana bir ma'lumotlar ombori bo'lib, u DynamoDB'ni tezroq ishlashiga imkon beradi.

Qidiruv ma'lumotlar bazalari

Ko'plab ilovalar ishlab chiquvchilar muammolarni topish va ularni bartaraf qilish uchun jurnallar yaratadilar.

Amazon OpenSearch - bu ma'lumotlarni deyarli real vaqtda vizualizatsiya va tahlil qilish uchun maxsus ishlab chiqilgan xizmat. Bu indeksatsiya, qisman tuzilgan jurnallar va metrikalarni yig'ish va ular bo'yicha izlash orqali erishiladi.

Amazon OpenSearch - bu kuchli va yuqori samaradorlikka ega to'liq matnli qidiruv xizmati bo'lib, Expedia 150 domenni, 30 TB ma'lumotlarni va 30 milliard hujjatni kuzatish, nosozliklarni bartaraf etish, tarqatilgan ilovalar stack'ini kuzatish va xarajatlarni optimallashtirish uchun foydalanadi.

1.4 SQL (relatsion) va NoSQL (norelatsion) ma'lumotlar bazalari taqqoslanishi

NoSQL ko'plab afzalliklarga ega. Shuning uchun o'z vositangizni yozishni boshlashdan oldin, allaqachon mavjudligini bilish muhim. Mana NoSQL va SQL ma'lumotlar bazalarini taqqoslash:

To'g'ri ish yuklamalari

Relatsion BDlar tranzaksiyalarni qayta ishlash ilovalari uchun mo'ljallangan, ular qat'iy izchillikni talab qiladi va real vaqtda ishlaydi (OLTP). Ular, shuningdek, real vaqtda tahliliy qayta ishlashga (OLAP) ham mos keladi.

NoSQL ma'lumotlar bazalari bir nechta ma'lumotlarga kirish turlarini taqdim etadi, jumladan, past kechikishli ilovalar. NoSQL qidiruv BDlar qisman tuzilgan ma'lumotlar uchun tahlilga mos keladi.

Ma'lumotlar modeli

Relatsion model ma'lumotlarni satrlar va ustunlar bilan jadvallarda tashkil qiladi. Bu ma'lumotlar bazasida jadvallar, satrlar, ustunlar, indekslar va boshqalarni qanday bog'lashni ko'rsatadi. Bu bog'liq ma'lumotlarning yaxlitligini ta'minlaydi.

NoSQL ma'lumotlar bazalari turli ma'lumot turlarini, masalan, "kalit-qiymat" juftliklari, hujjatlar va graflarni taklif etadi, ular tez va yuklamaga barqaror ishlaydi.

ACID xususiyatlari

Relatsion ma'lumotlar bazalari ACID xususiyatlarining: atomiklik, qarama-qarshilikning yo'qligi, izolyatsiya va ishonchlilik to'plamini ta'minlaydi.

  • Atomiklik tranzaksiya yoki to'liq bajarilishi yoki umuman bajarilmasligini talab qiladi.
  • Qarama-qarshilikning yo'qligi tranzaksiyalar tugagandan so'ng barcha ma'lumotlarning ma'lumotlar bazasi jadvaliga mos kelishini anglatadi.
  • Izolyatsiya parallel tranzaksiyalarni bir-biridan alohida bajarilishini talab qiladi.
  • Ishonchlilik tizimdagi kutilmagan muammolardan yoki elektr ta'minotining to'xtatilishidan so'ng oxirgi saqlangan holatni qayta tiklash imkonini anglatadi.

NoSQL ma'lumotlar bazalari ko'pincha gorizontal kengayish imkoniyatini saqlab qolish uchun moslashuvchan ma'lumotlar modeliga ega bo'lgan kompromissni taklif qiladi. Bu katta o'tkazuvchanlik va past kechikish bo'lgan, bir instansning cheklovlarisiz kengaytirish kerak bo'lgan misollar uchun NoSQL BDni yaxshi tanlov qiladi.

Samaradorlik

Asosiy jihatdan, samaradorlik disklik subsistema bilan bog'liq. Maksimal samaradorlikka erishish uchun ko'pincha so'rovlar, indekslar va jadval tuzilishini optimallashtirish kerak bo'ladi.

Samaradorlik apparat klasterining o'lchami, tarmoq kechikishi va uni chaqirayotgan ilova orqali belgilanadi.

Kengaytirish

Relatsion ma'lumotlar bazalari odatda apparat imkoniyatlarini oshirish yoki o'qish uchun qo'shimcha nusxalar qo'shish orqali kengaytiriladi.

NoSQL ma'lumotlar bazalari odatda tarqatilgan arxitektura asosida kengaytirish imkoniyatiga ega kirish shablonlarini qo'llab-quvvatlaydi. Bu cheksiz keng ko'lamda o'tkazuvchanlikni oshirishga va barqaror samaradorlikni ta'minlashga imkon beradi.

API

Ma'lumotlarni yozish va olish SQL tilida yozilgan so'rovlar orqali amalga oshiriladi. So'rovlarni relatsion ma'lumotlar bazasi tahlil qiladi va bajaradi.

Ob'ektga yo'naltirilgan API dasturchilarga ma'lumotlarni yozish va olishni oson qiladi. Ilovalarning obyektlari va atributlarini o'z ichiga olgan "kalit-qiymat" juftliklari, ustunlar yoki qisman tuzilgan hujjatlar orqali qidiruv qilish mumkin.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION