Biz bilamizki mongodb nosql bazalar turkumiga kiradi. Demak nosqlni agar sozma soz abrivaturasini ochadigan bolsak not only sql yani nafaqat sql degan tarjimani beradi. Nosql databaseslar egiluvchan sxemaga ega boladi. Sababi misol uchun tasavvur qiling sql bazada biror bir database yaratadigan bolsak uni jadvali uchun hamma malumotlarni oldindan berib qoyishimiz kerak boladi. Misol uchun user uchun imail name password hamma malumotlarni oldinda jadvalga kiritamiz. Va owa jadval asosida malumotlarni kiritib boramiz. Nosql bazada proses davomida ham ozgarib ketishi mumkin bizning sxemamiz. Wuning uchun bu egiluvchan sxamaga ega hisoblanadi. Demak nosqllar relative bolmagan databeses hisoblanadi. Biz bilamizki sqlllar relative. No sql esa relative bolmagan database hisoblanadi. Shunday qilib biz undan foydalanganda qanaqa quluyliklarga ega bolamiz:egiluvhcanlik maswtablawuvchanlik yani bemalol yaratayotgan dasturimiz proses davomida yani keyinchalik vaqt otkan sayi kattaltirib ketoliwimiz mumkin. Bunda hech qanaqa qiyinchilik yuzaga kelmaydi. Ish darajasi juda tez va yuqori hisoblanadi va keng miqoyli funksionallarga ega boladi. Endi keeling shaxsan mongodbning ozi haqida gaplashamiz. Nosql databaeslarga bugungi kunda juda kop databaselar kiradi. Ulardan eng mashhuri mongodb bundan tashqari yana Kasandra dagani ham bor bundan tawqari redis bor va yana koplab nosql bolgan databaseslar mavjud va aytib otganimdek eng ommabobi mongodb hisoblanadi. 15 milliondan ortiq yuklab olish bilan MongoDB eng ko'p afzal qilingan ma'lumotlar bazasiga aylandi va butun dunyo bo'ylab dasturchilar tomonidan qo'llaniladi. Mongodbda jadval sxemalarini talab qilmaydigan databaseslar turkumiga kiradi. Yani aytib otganimdek biz hech qanaqa user uchun kerak boladigan malumotlarni oldindan yozib qoyiwimiz shart emas. Yozib qoyamiz togri lekin proses davomida ozgartirishimiz hech qanaqa qiyinchilik tugdirmaydi. Demak databases hujjatlarga asoslangan. Bilamizki sqlda jadvallarga asoslangan boladi bunda esa hujjatlarga asoslangan yani inglizchalab aytadigan bolsak document bases databe hisoblandi. Document bases dagani misol uchun document qanaqa korinishga ega boladi desak eng kop tarqalgani jsonsimon yani togriroq qilib aytadigan bolsak uni formati bison huddi json yani javascript obyektga oxshab ketadi. Saqlaydigan malumotlarni huddi obyektlarga saqlagandek qillib saqlaymiz. Agar siz javaskriptni biladigan bolsangiz bu databases bilan ishlash siz uchun maroqliroq boladi. Chunki tanish sintaksiz hisoblanadi. Mongo db ozi c++ dasturlash tilida yozilgan. Bu qowimcha malumot agar kimgadir kerak boladigan boldsa. Damek eng kop ishlatiladigan steklari asosan javascript stektida ishlatiladi. Misol uchun mern mean mevn.. steklarida. Mern degani bu mongodb express js react va notjs hisoblaadi. Mean deydigan bolsak asi wunchki angularga ozgaradi. Mevnda v viyujsni bildiradi. Asosan mana wu texnologiyalar bilan kelishib juda zor ishlaydi bu databeses MongoDB ning RDBMS ga nisbatan afzalliklari MongoDB NoSQL ma'lumotlar bazalari va relyatsion ma'lumotlar bazalari ko'p jihatdan farqlanadi. MongoDB nafaqat foydalanish uchun qulay, balki u zo'r masshtablash imkoniyatlarini ham qo'llab-quvvatlaydi. Bundan tashqari, MongoDB ning ishlash imkoniyatlari boshqa ma'lumotlar bazalariga qaraganda beqiyos. MongoDB sxemasiz: relyatsion ma'lumotlar bazalarida ma'lumotlarni aniqlash va tartibga solish uchun jadvallar, sxemalar va munosabatlar yaratishimiz kerak. Boshqa tomondan, MongoDB - bu jadvallar va boshqa qat'iy, oldindan belgilangan sxemalarni yaratishni talab qilmaydigan sxemasiz ma'lumotlar bazasi. Hujjat ma'lumotlar bazasi sifatida MongoDB barcha yozuvlarni bitta to'plamda saqlaydi. MongoDB-da birlashma yo'q: RDBMS-da ikki yoki undan ortiq jadvallarni ulash qiyin, chunki u birlashmalardan foydalanishni talab qiladi. MongoDB murakkab birlashmalarga ega emas va MongoDB-da hujjat strukturasini o'zgartirish oson, bu bizga boshqa hujjatlarni hech qanday qiyinchiliksiz ulash imkonini beradi. Asosiy kalit sozlanmagan: RDBMS dan foydalanilganda, asosiy kalitni sozlash zarur. MongoDB-da birlamchi kalitni aniq yaratishga hojat yo'q. NoSQL ma'lumotlar bazasi har bir hujjat bilan sukut bo'yicha yaratilgan _id maydonini taklif qiladi. Bu yaratilgan maydon asosiy kalit vazifasini bajaradi. Zaxiralangan _id maydoni MongoDB da asosiy kalit bo'lib xizmat qiladi va u noyob qiymat bo'lishi kerak. Shuni ta'kidlash kerakki, agar _id maydoniga hech qanday sozlama bo'lmasa, MongoDB uni avtomatik ravishda "MongoDB Id Object" bilan to'ldiradi. MongoDBning avfzallilari MongoDB nima uchun ishlab chiquvchilar orasida sevimli tanlovga aylanayotganini bilasizmi? Uning ajoyib qobiliyatlari quyida keltirilgan: Moslashuvchan hujjat sxemalari.Strukturaviy so'rovlar tili ma'lumotlar bazalaridan foydalangan holda, har safar ma'lumot kiritishga urinish bo'lganda, jadval sxemasini deklaratsiyalash va tasdiqlash kerak bo'ladi. MongoDB hujjatlar ma'lumotlar bazasi bo'lib, turli hujjatlarni bitta to'plamda saqlaydi. Oddiy qilib aytganda, MongoDB turli xil maydonlar to'plami bilan bir nechta ob'ektlarni birlashtirilgan tarzda saqlashga imkon beradi. Moslashuvchan hujjat sxemalari murakkab ma'lumotlar ustida ishlashda yoki real vaqtda ma'lumotlar bilan ishlashda katta afzalliklarni taqdim etadi. Kod-native ma'lumotlarga kirish. Ob'ektdagi ma'lumotlarni olish ko'pincha oson emas. Ko'pgina ma'lumotlar bazalarida, ehtimol, bu ishni bajarish uchun Ob'ekt bilan bog'liq xaritachilardan foydalanishingiz kerak bo'ladi. MongoDB sizni og'ir o'ramlardan foydalanishdan qutqaradi va ma'lumotlarni eng oddiy tarzda saqlash va ularga kirish imkonini beradi. Oddiy qilib aytganda, siz Python-dagi lug'atlar, JavaScript-dagi assotsiativ massivlar va Java-dagi Xaritalar kabi istalgan dasturlash tilidan kodli ma'lumotlarga kirishingiz mumkin. O'zgartirishga qulay dizayn. Ko'pgina dasturchilar ma'lumotlarni sozlash uchun sayt yoki dasturni o'chirish odatiga ega. MongoDB bilan saytni pastga tushirishning hojati yo'q, Har qanday vaqtda sxemani o'zgartirishingiz kerak bo'lsa, siz vaqtingizni yo'qotishingiz shart emas. MongoDB foydalanuvchilarga yangi ma'lumotlarni istalgan vaqtda, istalgan joyda - operatsion jarayonlarida hech qanday bezovtaliksiz qo'shish imkonini beradi. Kuchli so'rovlar va tahlillar. MongoDB-da murakkab birlashmalarning yo'qligi ham katta afzalliklarni beradi. Bu shuni anglatadiki, MongoDB qo'shilishlarsiz ma'lumotlarga muammosiz kirish imkonini beradi. MongoDB so'rovlarni bajarishda hujjatlarga qanday kirishni biladi. MongoDB so'rovlar tili (MQL) chuqur so'rovlarni osonlashtiradigan hujjatlarda kuchli dinamik so'rovlarni qo'llab-quvvatlaydi. Eng muhimi, hujjatlar bazasi JSON-ga o'xshash bir qatorli kod yordamida murakkab ma'lumotlarga kirish imkonini beradi Oson gorizontal kengayish. MongoDB ma'lumotlar bazasini taqsimlash yordamida gorizontal masshtablashni osonlashtiradi. Ma'lumotlar gorizontal tarzda tuzilganligi sababli, uni turli serverlar bo'ylab tarqatish va ularga soddalashtirilgan tarzda kirish oson bo'ladi. Ishlashni davom ettirish uchun real vaqtda replikatsiyalar va yuqori hajmli ma'lumotlarni parchalash yordamida klasterlar yaratishingiz mumkin. Ma'lumotlar bazasini bir nechta klasterlarga tarqatish uchun ma'lumotlar bazasini taqsimlash imkoniyatlaridan foydalaning. Ma'lumotlar bazasini taqsimlash yordamida siz ko'proq saqlash hajmiga ega bo'lasiz va so'rovlarga javob berish tezligini tezlashtirasiz. Juda ko'p qirrali - Strukturaviy bo'lmagan so'rovlar tili bo'lgani uchun MongoDB bilan ishlashda jadvallar yaratishga hojat yo'q. Natijada, ma'lumotlarni saqlash, boshqarish va ularga kirishda sezilarli darajada ko'p qirralilik mavjud. Ko'p qirralilik katta va tasniflanmagan ma'lumotlarni saqlashda katta afzallik beradi. Ta'sirchan tezlik - MongoDB ga yuqori talabning sabablaridan biri bu uning tezligi. Jadval yoki sxema yaratishning hojati yo'qligi sababli, ma'lumotlar bazasi tezligi ta'sirchan. MongoDB yordamida CRUD (Yaratish, o'qish, yangilash, o'chirish) tezligi boshqa ma'lumotlar bazalariga qaraganda tezroq. MongoDB so'rovi 100 baravar tezroq bo'lib, foydalanuvchilarga o'z qidiruvlarini eng tez vaqtda indekslash imkonini beradi. Agar siz JavaScript-ni ishlab chiquvchi bo'lsangiz, hujjatlar ma'lumotlar bazasiga oshiq bo'lasiz; MongoDB. Boshqa ma'lumotlar bazalari bilan solishtirganda, MongoDB foydalanish oson. Hatto yangi boshlovchi ham ma'lumotlar bazasini tushunishi va hech qanday qiyinchiliksiz undan samarali foydalanishi mumkin. MongoDB har bir yozuvni Binary JSON-ga saqlaganligi sababli, ma'lumotlar bazasidan foydalanish juda oson bo'ladi, ayniqsa siz backendda Node.js, React yoki Express.js kabi JavaScript kutubxonalaridan foydalansangiz. MongoDB dan qayerda foydalanish kerak? MongoDB - foydalanuvchilarning o'zaro ta'siri juda kam yoki umuman bo'lmagan veb-ilovalar uchun ajoyib tanlovdir. Ma'lumotni bir nechta jadvallar bo'ylab saqlash yoki hatto birlashmalarni yaratish zarurati mavjud bo'lgan relyatsion ma'lumotlar bazasidan farqli o'laroq, MongoDB qo'shimcha vazifalarni saqlaydi va buni bilvosita bajaradi. MongoDB-dan foydalanib, foydalanuvchi ma'lumotlarini eng birlashtirilgan tarzda saqlashingiz mumkin. Natijada, bitta to'plamga bitta so'rov bo'ladi va front-end ma'lumotlarni tahrirlash bilan shug'ullanishi mumkin. Katta ma'lumotlarni integratsiyalash - Agar sizning biznesingiz turli manbalardan kiruvchi ma'lumotlar to'plamini o'z ichiga olsa, MongoDB juda foydali bo'ladi. Boshqa ma'lumotlar bazalari ishlamay qolganda, MongoDB katta ma'lumotlarni muammosiz saqlash va birlashtirish uchun noyob imkoniyatlarga ega bo'ladi. Bir hujjatli ma'lumotlar bazasi katta hajmdagi turli xil ma'lumotlarni eng soddalashtirilgan tarzda saqlash uchun mustahkam imkoniyatlarni taqdim etadi. Murakkab ma'lumotlarni aniqlash - MongoDB o'rnatilgan hujjatlarga (shuningdek, ichki o'rnatilgan hujjatlar deb ataladi) ichki o'rnatilgan tuzilmalarni aniqlashga imkon beradi. Ichki hujjatlar - hujjat ichida hujjat mavjud bo'lgan hujjatlar. Hujjatlar o'rtasida bittadan ko'pga bog'liqlik mavjud bo'lganda foydalidir. Eng muhimi, MongoDB geofazoviy format kabi ixtisoslashtirilgan ma'lumotlar formatlarini qo'llab-quvvatlaydi, bu esa tahrirlardan keyin ham buzilmaydigan bardoshli omborga olib keladi. Xulosa qilib aytganda, MongoDB-dan quyidagilar uchun foydalanishingiz mumkin: Bloglar va kontentni boshqarish Elektron tijorat mahsulotlari katalogi Foydalanuvchi ma'lumotlarini boshqarish Haqiqiy vaqtda tahlil qilish va yuqori tezlikda ro'yxatga olish va yuqori miqyoslilik uchun Konfiguratsiyani boshqarish Geospatial ma'lumotlarni saqlash uchun Mobil va ijtimoiy tarmoq saytlari Diqqat: MongoDB ishonchli tranzaksiya tizimi yoki ma'lumotlar modeli oldindan ko'rsatilgan joylar uchun to'g'ri tanlov emasligini ta'kidlash muhimdir. Bundan tashqari, MongoDB-ni mahkam bog'langan tizimlar uchun ishlatish noto'g'ri qaror. Ehtimol, Strukturaviy so'rovlar tili to'g'ri keladi! Xulosa MongoDB - bu mukammal imkoniyatlarga ega mustahkam ma'lumotlar bazasi va o'rnatilgan funktsiyalari bilan ajralib turadi. Bugungi kunda IT tarmoqlari, elektron tijorat, bank ishi, logistika va boshqa ko'plab sohalar MongoDB yordamida ma'lumotlar oqimini boshqarmoqda. Bosch, Uber, Accenture, Barclays kabi ko'p millatli kompaniyalar MongoDB-dan toifalanmagan ma'lumotlarni eng murakkab tarzda saqlash uchun foydalanadilar. Agar siz ma'lumotlarni uzluksiz saqlash va unga kirish uchun eng samarali ma'lumotlar bazasini izlayotgan bo'lsangiz, MongoDB-dan yaxshiroq variant yo'q. MongoDB ishlash tahlili juda zo'r bo'lsa-da, ehtimol tranzaksiyani qo'llabquvvatlamaydi va haqiqatan ham ma'lumotlar bazasi saqlash uchun juda yuqori xotiradan foydalanadi. Biroq, MongoDB-dan foydalanish uchun olgan ajoyib xususiyatlarni yuqori xotira narxi uchun qurbon qilmaslik kerak.