Katta ma'lumotlar


Download 3.58 Mb.
Sana04.11.2023
Hajmi3.58 Mb.
#1746133
Bog'liq
1-2-ma\'ruza Katta ma\'lumotlar va data science


Katta ma'lumotlar va Data science

"Katta ma'lumotlar" deganda odatda ma'lumotlarni qayta ishlashning an'anaviy vositalari (masalan, RMBBT - relyatsion ma'lumotlar bazasini boshqarish tizimlari) tomonidan qayta ishlanishi uchun yetarlicha katta va murakkab bo'lgan har qanday ma'lumotlar to'plami tushuniladi. Keng tarqalgan RMBBTlar uzoq vaqtdan beri universal vosita hisoblangan, ammo katta ma'lumotlarni qayta ishlashga bo'lgan talab boshqacha ko'rsatmoqda. Data science ning konseptsiyasi katta hajmdagi ma'lumotlarni tahlil qilish va undagi ma'lumotlarni olish usullaridan foydalanishni o'z ichiga oladi. Katta ma'lumotlar va data science o'rtasidagi munosabatlar xom neft va neftni qayta ishlash zavodi o'rtasidagi kabidir. Data science va katta ma'lumotlar statistika va an'anaviy ma'lumotlarni boshqarishdan ishlab chiqilgan, ammo hozirda turli fanlar hisoblanadi.


Katta ma'lumotlarning xarakteristikalari ko'pincha "uchta V" deb ataladi:

  • Hajm (Volume) - to'plam qancha ma'lumotlarni o'z ichiga oladi?

  • Turli xillik (Variety) - har xil turdagi ma'lumotlar qanchalik farq qiladi?

  • Tezlik (Velocity) - yangi ma'lumotlar qanchalik tez hosil bo'ladi?

Ko'pincha bu xususiyatlar "to'rtinchi V" (Veracity) bilan to'ldiriladi: ma'lumotlar qanchalik aniq? Ushbu to'rtta xususiyat katta ma'lumotlarni an'anaviy ma'lumotlarni boshqarish vositalarida topilgan ma'lumotlardan ajratib turadi.
Shunga ko'ra, ular olib keladigan o'zgarishlar deyarli barcha jihatlarda namoyon bo'ladi: ma'lumotlarni yig'ish, ma'lumotlarni saqlash, qidirish, almashish, uzatish va vizualizatsiya qilish. Bundan tashqari, katta ma'lumotlar maxsus ma'lumot olish vositalaridan foydalanishni talab qiladi.
Data science - hozirda ishlab chiqarilgan juda katta hajmdagi ma'lumotlarga dosh bera oladigan statistik ma'lumotlarning kengaytmasi. Data science statistika ishlovga informatika usullarini qo'shadi. Leyni va Kartaning "Data science bilan ishlovchining rivojlanayotgan roli va data science san'ati" bular o'rtasidagi farqlarni aniqlash uchun data science chilar, statistlar va biznes ma'lumotlari tahlilchilari uchun yuzlab ish ta'riflari bilan taralgan. Data science bilan ishlovchi statistdan ajratib turadigan asosiy narsa bu katta ma'lumotlar bilan ishlash va mashinani o'rganish sohasida o'qitish, hisob-kitoblarni tashkil qilish va algoritmlarni qurish qobiliyatidir. Ularning uskunalari odatda farq qiladi; Data science bilan ishlovchi uchun ko'pincha Hadoop, Pig, Spark, R, Python va Javadan foydalanish qobiliyatini eslatib o'tadi.
Python dasturlash tili data science bilan ishlovchilar uchun ajoyib til bo’ladi, chunki u uchun ko'plab data science kutubxonalari yozilgan va u maxsus dasturlar tomonidan keng qo'llab-quvvatlanadi. Misol uchun, deyarli har bir NoSL ma'lumotlar bazasida Python uchun API mavjud. Ushbu xususiyatlar, shuningdek, maqbul ishlashni saqlab qolgan holda Python-da prototiplarni tezda yaratish qobiliyati tufayli uning data science dunyosida mashhurligi tez o'sib bormoqda.
Ma'lumotlar hajmi va undan foydalanish zarurati oshgani sayin, har bir data science bilan ishlovchini o'z faoliyati davomida katta ma'lumotlar loyihalariga duch keladi.


    1. Data science ning ko'lami va katta ma'lumotlar va ularning afzalliklari.

data science va katta ma'lumotlar tijorat va notijorat muhitda deyarli hamma joyda mavjud. Potentsial ilovalar soni juda ko'p va keltirilgan misollar ularning potentsialini deyarli yoritib bera olmaydi.
Deyarli har bir sanoat sektoridagi korxonalar mijozlar, jarayonlar, odamlar, raqobatchilar va mahsulotlar haqida ma'lumot olish uchun data sciencedan va katta ma'lumotlardan foydalanadilar. Ko'pgina kompaniyalar data science dan foydalanuvchida yaxshi taassurot qoldirish, o'zaro sotish va takliflarni shaxsiylashtirish uchun foydalanadilar.
Yaxshi misol - kontekstli reklamani ko'rsatish uchun Internet foydalanuvchilari haqida ma'lumot to'playdigan Google AdSense xizmati. MaxPoint (http://maxpoint.com/us) real vaqtda matnli reklamaning yana bir namunasidir. Ishga qabul qilish bo'yicha mutaxassislar nomzodlarni ko'rish, xodimlarning kayfiyatini kuzatish va hamkasblar orasida norasmiy aloqalarni o'rganish uchun odamlar tahlilidan foydalanadilar.
Davlat tashkilotlari ham ma'lumotlarning qimmatini yaxshi bilishadi. Ko'pgina davlat tashkilotlari qimmatli ma'lumotlarni topish uchun nafaqat o'z tahlilchilaridan foydalanadi, balki o'z natijalarini ommaga taqdim etadi. Ma'lumotlar chuqur tahlil qilish yoki ma'lumotlarga asoslangan ilovalarni yaratish uchun ishlatilishi mumkin. Data.gov bu - AQSh hukumati ochiq ma'lumotlari bir misol. Hukumat tashkilotlaridagi data science bilan ishlovchilar firibgarlik va boshqa jinoiy faoliyatni aniqlashdan tortib, loyihalarni moliyalashtirishni optimallashtirishgacha bo'lgan turli loyihalar ustida ishlaydi. Buning mashhur misoli Edvard Snouden, u AQSh Milliy xavfsizlik agentligi va Britaniya hukumati aloqa markazining ichki hujjatlarini e'lon qildi, bu esa millionlab fuqarolarni kuzatish uchun ma'lumotlar fani va katta ma'lumotlardan foydalanilganligini ko'rsatdi. Ushbu tashkilotlar Google Maps, Angry Birds, elektron pochta va matnli xabarlar kabi keng tarqalgan ilovalar va xizmatlardan 5 TBayt ma'lumot yozuvlarini to'plagan. Keyin ma'lumotni filtrlash uchun data science texnikasi qo'llanilgan.
Nodavlat notijorat tashkilotlari ham ma'lumotlardan foydalanish tajribasiga ega. Ular bu usullardan mablag‘ yig’ish va ularning sabablarini himoya qilish uchun foydalanadilar. Masalan, Xalqaro Tabiat Jamg'armasi mablag' yig'ish loyihalari samaradorligini oshirish uchun data science bilan ishlovchilarning xizmatlaridan foydalanadi.
Ko'pgina data science bilan ishlovchilar o'z vaqtlarining bir qismini NNTlarga yordam berishga bag'ishlaydilar, chunki NNTlarda ko'pincha ma'lumotlarni to'plash va data science bilan ishlovchilarni yollash uchun resurslar yetishmaydi. DataKind o'z vaqtlarini insoniyat manfaati uchun bag'ishlaydigan bunday guruhga misol bo’ladi. (Video – robot tennis)
Universitetlar o'z tadqiqotlarida va o'quv jarayoni sifatini oshirishda data science foydalanadilar. Massive Open Onlayn Course larining (MOOCs) chiqishi universitetlar ushbu turdagi ta'lim an'anaviy dasturlarni qanday to'ldirishini o'rganishi mumkin bo'lgan ko'plab ma'lumotlarni yaratdi. MOOCs data science va katta ma'lumotlar bo'yicha mutaxassis bo'lishga intilayotgan odamlar uchun bebaho manbadir: Coursera, Udacity va edX. Katta ma'lumotlar va data science ning landshafti tez o'zgarib bormoqda va MOOCs ishlanmalarni kuzatish va yetakchi universitetlarning o'quv kurslarida qatnashish imkonini beradi.

1.2. Ma'lumotlar qirralari


data science da va katta ma'lumotlarda har xil turdagi ma'lumotlar mavjud bo'lib, ularning har biri turli xil vositalar va usullarni talab qiladi. Ma'lumotlarning asosiy toifalari quyidagicha:

  • Strukturalangan ma’lumotlar.

  • Strukturalanmagan ma’lumotlar.

  • Tabiiy tildagi ma’lumotlar.

  • Mashina ma’lumotlari.

  • Graf shaklidagi ma’lumotlar.

  • Audio, video va grafikalar.

  • Oqim shaklidagi ma’lumotlar.

Batafsilroq ko'rib chiqamiz.

1.2.1. Strukturalangan ma'lumotlar


Strukturalangan ma'lumotlar ma'lumotlar modeliga bog'liq va yozuv ichidagi aniq maydonda saqlanadi. Shunga ko'ra, strukturalangan ma'lumotlar ko'pincha jadvallar, ma'lumotlar bazalari yoki Excel fayllari tarzida saqlanadi (1.1-rasm). SQL (Structured Query Language) maʼlumotlar bazalarida saqlanadigan maʼlumotlarni boshqarish va soʻrov qilishning asosiy vositasidir. Bundan tashqari, ba'zida an'anaviy relyatsion ma'lumotlar bazasida saqlash qiyin bo'lgan strukturalangan ma'lumotlar mavjud (masalan, ierarxik ma'lumotlar, masalan, oila daraxti).
Biroq, dunyofaqatgina strukturalangan ma'lumotlardan iborat emas; Faqat bushakl odamlar va mashinalar uchun qulaydir. Ko'pincha, haqiqiy ma'lumotlar strukturalanmagan shaklda saqlanadi.

1.1-rasm Strukturalangan ma'lumotlarga misol sifatida Excel jadvali

1.2.2. Strukturalanmagan ma'lumotlar


Strukturalanmagan ma'lumotlarni ma'lum bir ma'lumotlar modeliga moslashtirish qiyin, chunki uning mazmuni kontekstga bog'liq yoki o'zgaruvchan. Strukturalanmagan ma'lumotlarning bir misoli oddiy elektron pochta xabarlaridir (1.2-rasm). Xabarda strukturalangan elementlar (jo'natuvchi, sarlavha, body) bo'lsa-da, bir xil vazifalarni turli yo'llar bilan bajarish mumkin, masalan, xabarlarda ma'lum bir shaxsni eslatishning son-sanoqsiz usullari mavjud. Muammo minglab tillar va dialektlarning mavjudligi bilan yanada murakkablashadi.
Inson tomonidan yozilgan elektron pochta xabari (1.2-rasmda ko'rsatilgandek) ham tabiiy til ma'lumotlarining ideal namunasidir.

1.2.3. Tabiiy til ma'lumotlari


Tabiiy til ma'lumotlari strukturalanmagan ma'lumotlarning maxsus turini tashkil qiladi; bunday ma'lumotlarni qayta ishlash ancha murakkab, chunki u ham tilshunoslik, ham data science ning maxsus usullarini bilishni talab qiladi.
Tabiiy tilni qayta ishlash hamjamiyati ob'ektni tanib olish, mavzuni aniqlash, umumlashtirish, matnni to'ldirish va hissiyotlarni tahlil qilishda muvaffaqiyatga erishgan, lekin bir domenga moslashtirilgan modellar boshqa domenlar uchun yaxshi umumlashtirilmaydi. Hatto eng zamonaviy usullar ham mustaqil ravishda matnning ma'nosini hal qila olmaydi. Va bu haqiqat hech kimni ajablantirmasa kerak: odamlar tabiiy tilni tushunishda ham muammolarga duch kelishadi. Bu tabiatan shunday. Ma'no tushunchasining o'zi munozarali ko'rinadi. Ikki kishi bitta suhbatni tinglaydi; ular undan bir xil ma'no chiqaradimi? Hatto alohida so'zlarning ma'nosi ham so'zlovchining kayfiyatiga qarab o'zgarishi mumkin.

1.2-rasm. Elektron pochta xabari ham strukturalanmagan ma'lumotlarga, ham tabiiy til ma'lumotlariga misol.

1.2.4. Mashina ma'lumotlari


Mashina ma'lumotlari inson aralashuvisiz kompyuter, jarayon, dastur yoki qurilma tomonidan avtomatik ravishda yaratilgan ma'lumotlarni anglatadi. Mashina ma'lumotlari asosiy axborot manbalaridan biriga aylanib bormoqda. Wikibon firmasi prognozlariga ko'ra, sanoat Internetining bozor qiymati (tarmoqqa ulangan sensorlar va dasturiy ta'minotga ega murakkab jismoniy uskunani tavsiflash uchun Frost & Sullivan tomonidan kiritilgan atama) 2020 yilga kelib taxminan 540 milliard dollarni tashkil qiladi.
IDC (International Data Corporation) hisob-kitoblariga ko'ra, 2020 yilga borib tarmoq tugunlari soni aholi sonidan 26 baravar ko'p bo'ladi. Ushbu tarmoq ko'pincha buyumlar Interneti deb ataladi. (2025 yilda esa IoT qurilmalar 41.6 mlrd dan oshadi. Bunda umumiy i/ch axborot miqdori 79.4 ZBayt dan oshadi (1 ZBayt=1 mlrd TBayt. Asosan kuzatuv kameralari).

Mashina ma'lumotlarini tahlil qilish, uning katta hajmlari va tezligi tufayli, katta darajada kengaytiriladigan vositalarga bog'liq. Mashina ma'lumotlariga misollar veb-server jurnallari, qo'ng'iroqlar tafsilotlari yozuvlari, tarmoq hodisalari va telemetriya jurnallarini o'z ichiga oladi (1.3-rasm).



1.3-rasm. Mashina ma'lumotlariga misol
1.3-rasmdagi mashina ma'lumotlari klassik ma'lumotlar bazasi tuzilishiga yaxshi mos keladi. Bu ob'ektlar o'rtasidagi munosabatlar muhim rol o'ynaydigan yuqori darajada bog'langan yoki "tarmoqqa ulangan" ma'lumotlar uchun eng yaxshi format emas.

1.2.5. Grafli yoki tarmoq ma'lumotlari.


"Grafli ma'lumotlar" atamasi chalkash bo'lishi mumkin, chunki har qanday ma'lumot graf sifatida ko'rsatilishi mumkin. Bu holda "graf" deganda matematik graflar nazariyasidan graf tushunchasini - ob'ektlar orasidagi juft munosabatlarni modellashtirish uchun matematik tuzilma nazarda tutiladi. Boshqacha aytganda, graf yoki tarmoq ma'lumotlari ob'ektlarning o'zaro bog'liqliklariga yoki qo'shnilariga e'tibor beradi. Graf ma'lumotlar tuzilmalari graf ma'lumotlarini ko'rsatish va saqlash uchun tugunlar, qirralar va xususiyatlardan foydalanadi. Graf ma'lumotlar ijtimoiy tarmoqlarni ifodalash uchun mos keladi va uning tuzilishi ishtirokchilarning ta'siri va ikki kishi o'rtasidagi eng qisqa yo'l kabi aniq ko'rsatkichlarni hisoblash imkonini beradi.
Graf ma'lumotlarga misol ijtimoiy tarmoq veb-saytlarida mavjud (1.4-rasm). Misol uchun, Twitter izdoshlaringiz ro'yxati ham graf misolidir. Bog'langan ma'lumotlarning tarmog’i bir nechta tahlil qilganda ko’rinadi: bir xil tugunlarda qurilgan bir-birining ustiga tushadigan graflar. Masalan, qirralar Facebookdagi "do'stlar" ni ifodalaydi. Boshqa grafda boshqa odamlar bilan, LinkedIn orqali biznes hamkasblarini ulash va uchinchisi graf Netflix filmlariga qiziqish asosida. Ushbu uchta grafning qoplamasi ko'plab qiziqarli savollarga javob olish imkonini beradi.

1.4-rasm. Ijtimoiy tarmoqlardagi do'stlik - graf ma'lumotlarga misol.

Graf ma'lumotlar bazalari graf ma'lumotlarni saqlash uchun ishlatiladi va ularga so'rovlar yaratish uchun SPARQL kabi maxsus so'rovlar tillari qo'llaniladi. Graf ma'lumotlar bilan ishlash muayyan muammolarni keltirib chiqaradi va kompyuter uchun bu vazifa yanada qiyinlashadi.

1.2.6. Audio, video va graf ma’lumotlar.
Audio, video va graflar data science bilan ishlovchilar uchun muammolarni keltirib chiqaradigan ma'lumotlar turlaridir. Inson nuqtai nazaridan oddiy bo'lgan vazifalar (masalan, rasmdagi ob'ektni tanib olish) kompyuter uchun qiyin bo'lib chiqadi. 2014 yilda MLBAM (Major League Baseball Advanced Media) operativ tahlil qilish uchun har bir beysbol o'yinida yozilgan video tasvirlar miqdori taxminan 7 TBgacha oshirilishini e'lon qildi. Stadionlardagi yuqori tezlikdagi kameralar to'p va sportchilarning harakatlarini yozib oladi, masalan, real vaqtda himoyachining traektoriyasini hisoblash uchun.
DeepMind video o'yinlarni o'ynashni o'rganishi mumkin bo'lgan algoritm yaratishga muvaffaq bo'ldi. Algoritm ekranni kuzatadi va murakkab chuqur o'rganish jarayonida ushbu ma'lumotlarni sharhlashni o'rganadi. Bu ajoyib yutuq va Google sun'iy intellektni rivojlantirish uchun DeepMindni sotib oldi. O'rganish algoritmi kompyuter o'yini tomonidan yaratilgan ma'lumotlarni, ya'ni oqimli ma'lumotlarni oladi. (video – DeepMind)

1.2.7. Oqimli ma'lumotlar.


Oqimli ma'lumotlar deyarli har qanday shaklni olishi mumkin, ammo ular bitta qo'shimcha xususiyatga ega. Ma'lumotlar MBga ko'p miqdorda yuklangandan ko'ra, muayyan hodisalar sodir bo'lganda tizimga kiradi. Garchi ular texnik jihatdan alohida ma'lumotlar turi bo'lmasa-da, ularni maxsus toifaga aylantiramiz, chunki oqim ma'lumotlari bilan ishlash uchun ish oqimini moslashtirish kerak bo'ladi.

1.3. Data science jarayoni.


Data science jarayoni odatda 1.5-rasmda ko'rsatilganidek, olti bosqichdan iborat.

1.5-rasm. Data science jarayoni
1.3. Ma'lumotni o'rganish jarayoni

1.3.1. Tadqiqot maqsadi


Data science intizomi asosan tashkilotlar kontekstida qo'llaniladi. Agar biznes data sciencega oid loyihani qabul qilsa, avval loyiha haqida qisqacha ma'lumot tayyorlash kerak bo’ladi. Loyihaning qisqacha tavsifida nimani tadqiq qilish kerakligi, firmaga qanday foyda keltirishi, qanday ma'lumotlar va resurslar kerakligi, ish jadvali va chiquvchi natijalari tavsifi keltiriladi.

1.3.2. Ma'lumotlar yig'ish


Jarayonning ikkinchi bosqichi ma'lumotlarni yig'ishni o'z ichiga oladi. Loyihaning qisqacha tavsifiga ko’ra qanday ma'lumotlar kerakligi va ularni qayerdan topish mumkinligi ko'rsatilgan. Ushbu bosqichda ma'lumotlarning dasturda ishlatilishini ta'minlash uchun choralar ko'riladi, bu ma'lumotlarning mavjudligi va sifatini tekshirishni anglatadi. Ma'lumotlar uchinchi shaxslar tomonidan ham taqdim etilishi mumkin va Excel elektron jadvallaridan tortib turli xil ma'lumotlar bazalarigacha bo'lgan turli shakllarda bo'lishi mumkin.

1.3.3. Ma'lumotlarni tayyorlash


Ma'lumotlarni yig'ish jarayoni odatda xatolarga moyil; bu bosqichda tadqiqotchi ma'lumotlarning sifatini yaxshilaydi va undan keyingi foydalanishga tayyorlaydi. Ushbu bosqich uchta kichik bosqichdan iborat: ma'lumotlarni tozalash ma'lumotlar manbasidan noto'g'ri qiymatlarni olib tashlaydi va manbalar o'rtasidagi tafovutlarni bartaraf qiladi, ma'lumotlar integratsiyasi bir nechta manbalardan ma'lumotlarni birlashtirish orqali ma'lumotni yaxshilaydi va ma'lumotlarni o'zgartirish ma'lumotlarning foydalanish uchun to'g'ri formatda bo'lishini ta'minlaydi.

1.3.4. Ma'lumotlarni o'rganish


Ma'lumotni tadqiq qilish – ma'lumotlarni chuqurroq tushunishga qaratilgan. O'zgaruvchilar bir-biri bilan qanday o'zaro ta'sir qilishini tushunishga harakat qilinadi, ma'lumotlarning taqsimlanishi taxmin qilinadi va chegaralar mavjudligini aniqlashga harakat qilinadi. Buning uchun asosan tavsiflovchi statistika, vizual usullar va oddiy modellashtirishdan foydalaniladi. Ushbu bosqich ko'pincha EDA (Exploratory Data Analysis) deb ataladi.

1.3.5. Ma'lumotlarni modellashtirish yoki model yaratish.


Ushbu modellashtirish bosqichida tadqiqot savoliga javob berish uchun domen bilimlari va oldingi bosqichlardan olingan ma'lumotlardan foydalaniladi. Simulyatsiya jarayonida statistika sohasidagi usullar qo'llaniladi, mashinani oʻrganish, operatsiyalarni tadqiq qilish va h.k. Model qurish iterativ jarayon boʻlib, tadqiqotchi model uchun oʻzgaruvchilarni tanlaydi, modelni qoʻllaydi va modelga tashxis qoʻyadi.

1.3.6. Akslantirish va avtomatlashtirish.


Shakllangan tadqiqot natijalari so’ragan tomoniga taqdim etilishi kerak. Bunday natijalar taqdimotlardan tadqiqot hisobotlarigacha bo'lgan turli shakllarda bo'lishi mumkin. Ba'zan jarayonning bajarilishini avtomatlashtirish kerak, chunki so’ragan tomon boshqa loyihada olingan ma'lumotlardan foydalanishni xohlaydi yoki modelingiz natijalaridan foydalanadigan ish oqimini yoqadi.
Jarayonning iterativ tabiati data science jarayonining yuqoridagi tavsifi jarayonning chiziqli ekanligi haqidagi taassurot qoldirishi mumkin, ammo aslida ko'pincha orqaga qaytib, jarayonlarni qayta bajarish kerak bo'ladi. Misol uchun, ma'lumotlarni o'rganish bosqichida ma'lumotlarni import qilishda xatoliklarni ko'rsatadigan chet ko'rsatkichlar topilishi mumkin. Data science jarayonida yangi savollarga olib kelishi mumkin bo'lgan yangi ma'lumotlarga ega bo'linadi.

1.4. Katta ma'lumotlar ekotizimlari va data science.


Hozirgi kunda katta ma'lumotlar uchun juda ko'p turli xil vositalar va infratuzilmalar mavjud. Yangi texnologiyalar juda tez paydo bo'lishi e’tiboridan buni chalkashtirib yuborish oson. Katta ma'lumotlar ekotizimini o'xshash maqsadlar va funksionallikka ega bo'lgan texnologiyalar guruhlariga bo'lish mumkinligidan, vaziyat ancha soddalashtiriladi. Data science bilan ishlovchilar juda ko'p turli xil texnologiyalardan foydalanadilar. 1.6-rasmda katta ma'lumotlar ekotizimining tarkibiy qismlari va bu tuzilmadagi turli texnologiyalarning o'rni ko'rsatilgan.
Diagrammadagi uskunalarning turli guruhlarini ko'rib chiqib, ularning har biri nima qilishini bilib olish kerak. Taqsimlangan fayl tizimlarini ko’ramiz.

1.6-rasm. Katta ma'lumotlar texnologiyalarini bir nechta asosiy toifalarga bo'linishi.

1.4.1. Taqsimlangan fayl tizimlari.


Taqsimlangan fayl tizimi oddiy fayl tizimiga o'xshaydi, lekin undan farqli o'laroq, u bir vaqtning o'zida bir nechta serverlarda ishlaydi. Oddiy fayl tizimlarida bajarilishi mumkin bo'lgan deyarli hamma amallarni bajara oladi. Har qanday fayl tizimining markazida ma'lumotlarni saqlash, o'qish va o'chirish, shuningdek, fayllarni himoya qilish funksiyalarini amalga oshirish kabi faoliyatlar mavjud; taqsimlangan fayl tizimlari bundan mustasno emas. Taqsimlangan fayl tizimlari bir qator muhim afzalliklarga ega:

  1. Ular bitta kompyuterning disk hajmidan kattaroq hajmli fayllarni saqlashga qodir.

  2. Foydalanuvchidan barcha texnik murakkabliklarni yashirgan holda, ortiqcha yaratish yoki parallel operatsiyalarni bajarish uchun fayllar avtomatik ravishda bir nechta serverlarda takrorlanadi.

  3. Tizim osonlik bilan kengaytirilishi mumkin: foydalanuvchi xotira yoki bitta serverning disk maydoni bilan cheklanmaydi.

Ilgari, masshtablash barcha tizimlarni katta serverga o'tkazish ko'proq xotira va disk maydoni, shuningdek tezroq protsessor (vertikal masshtablash) orqali amalga oshirilgan. Hozirgi kunda tizimga qo’shimcha bitta kichik server qo'shish mumkin (gorizontal masshtablash). Ushbu prinsip tufayli masshtablash salohiyati deyarli cheksiz bo'ladi.
Hozirgi vaqtda eng mashhur taqsimlangan fayl tizimi Hadoop fayl tizimi (HDFS) hisoblanadi. Bu Google fayl tizimining ochiq manbali ilovasidir. Kitob Hadoop fayl tizimiga e'tibor qaratadi, chunki bu tizim amalda ko'pincha qo'llaniladi. Biroq, boshqa ko'plab taqsimlangan fayl tizimlari mavjud: Red Hat Cluster fayl tizimi, Ceph fayl tizimi, Tachyon fayl tizimi va boshqalar.

1.4.2. Taqsimlangan dasturlash infratuzilmasi.


Ma'lumotlar taqsimlangan fayl tizimida saqlanganidan keyin uni ishlatish kerak. Taqsimlangan qattiq disk bilan ishlashning muhim jihatlaridan biri shundaki, ma'lumotlarni dasturga ko'chirib emas, balki dasturni ma'lumotlarga o'tkazish bajariladi. Agar umumiy maqsadli tilda (masalan, C, Python yoki Java kabi) tajribaga ega bo'lsa, taqsimlangan dasturlashga xos bo'lgan barcha murakkabliklar bilan shug'ullanish kerak bo'ladi, masalan, muvaffaqiyatsiz ishlarni qayta ishga tushirish, jarayonni davom ettirish kabi. Boshqa kichik jarayonlardan olingan natijalarni kuzatish va hokazo.

1.4.3. Ma'lumotlar integratsiyasi infratuzilmasi


Taqsimlangan fayl tizimini yaratgandan so'ng, ma'lumotlarni qo'shish kerak. Ma'lumotlarni bir manbadan boshqasiga ko'chirish kerak; Bu yerda Apache Sqoop va Apache Flume kabi ma'lumotlar integratsiya tizimlarining afzalliklari mos keladi. Jarayon an'anaviy ma'lumotlar omborlarida tadqiq qilish, o'zgartirish va yuklash jarayoniga o'xshaydi.

1.4.4. Mashinani o'rganish infratuzilmalari.


Ma'lumotlar o'z o'rnida bo'lsa, yashirin ma'lumotlarni olish lozim. Bu bosqichda mashinani o'rganish, statistika va amaliy matematika sohalaridagi usullardan foydalanish kerak. Barcha hisob-kitoblar qo'lda bajarilgan vaqtda ma'lumotlarni tahlil qilish imkoniyatini sezilarli darajada cheklangan. Keyinchalik kompyuterlar va ilmiy hisoblash texnologiyalari paydo bo'ldi. Bitta kompyuter juda katta hajmdagi hisob-kitoblarni amalga oshirishi mumkin edi va tadqiqotchilar uchun yangi dunyo ochildi. Zamonaviy ma'lumotlarning katta hajmlari bilan bitta kompyuter bunday yukni ko’tara olmaydi. Bunda tashqari, o'tgan asrda ishlab chiqilgan ba'zi algoritmlar, hatto yer yuzidagi barcha kompyuterlarning hisoblash resurslari bir joyda bo'lsa ham, 1000 yilgacha tugallanmagan bo'lardi. Bu fakt ularning vaqt murakkabligi bilan bog'liq (https://en.wikipedia.org/wiki/Time_complexity). Bunday algoritmga misol qilib, barcha mumkin bo'lgan kombinatsiyalarni tekshirish orqali parolni buzishga urinishdir (qarang: http://stackoverflow.com/questions/7055652/real-world-example-of-exponential-time-complexity).
Avvalgi algoritmlarning eng katta kamchiliklaridan biri ularning yaxshi masshtablanmaganligi edi. Bugungi kunda tahlil qilinishi kerak bo'lgan ma'lumotlar hajmi kattaligi bilan bu muammolarni keltirib chiqaradi va bunday hajmdagi ma'lumotlar bilan ishlash uchun maxsus kutubxonalar va infratuzilmalar talab qilinadi. Python uchun eng mashhur mashina o'rganish kutubxonasi Scikitlearn deb ataladi. Python uchun boshqa kutubxonalar ham mavjud:

  • Neyron tarmoqlar uchun PyBrain - "Neyron tarmoqlar" atamasi inson miyasini o'rganish mexanikasi va murakkablik nuqtai nazaridan modellashtiruvchi o'rganish algoritmlarini anglatadi.

  • NLTK (Natural Language Toolkit) - kutubxona tabiiy tildagi ma'lumotlar bilan ishlash uchun mo'ljallangan. Ushbu keng qamrovli kutubxona ma'lumotlarni modellashtirishni osonlashtirish uchun bir qator matn korpusi bilan birga keladi.

  • Pylearm2 - bu mashinani o'rganishning yana bir to'plami.

  • TensorFlow - Chuqur o'rganish uchun Google tomonidan taqdim etilgan Python kutubxonasi

Albatta, imkoniyatlar Python kutubxonalari bilan cheklanmaydi. Spark – real vaqt rejimida mashinani o'rganishga ixtisoslashgan yangi Apache litsenziyasiga ega mashinani o'rganish mexanizmi.

1.4.5. NoSQL ma'lumotlar bazalari.


Katta hajmdagi ma'lumotlarni saqlash ushbu ma'lumotlarni boshqarish va so’rovlar yaratishga ixtisoslashgan dasturiy ta'minotni talab qiladi. Odatda, bu sohada Oracle SQL, MySQL, Sybase IQ va boshqalar kabi relyatsion ma'lumotlar bazalari ustunlik qiladi. Ko'p holatlarda ular hali ham afzal yechim deb hisoblansa-da, NoSQL ma'lumotlar bazalari toifasi ostida guruhlangan ma'lumotlar bazalarining yangi turlari paydo bo'ldi.
Bunday nom noto'g'riroq, chunki bu kontekstdagi "Yo'q", "bunday emas" degan ma'noni anglatadi. SQL-da funksionallikning yo'qligi paradigma o'zgarishining asosiy sababi emas va ko'plab NoSQL ma'lumotlar bazalari SQLning o'z versiyasini amalga oshirgan. Biroq, an'anaviy ma'lumotlar bazalarining o'ziga xos kamchiliklari bor, bu ularni masshtablashni qiyinlashtiradi. An'anaviy ma'lumotlar bazalarining ba'zi muammolarini hal qilish orqali NoSQL ma'lumotlar bazalari ma'lumotlarning deyarli cheksiz ko'payishini ta'minlaydi. Bu kamchiliklar katta ma'lumotlar bilan bog'liq hamma narsada yaqqol ko'rinadi: uning xotirasi va hisoblash resurslari bitta tugun doirasidan tashqariga chiqmaydi va an'anaviy ma'lumotlar bazalarida oqim, grafik va ma'lumotlarning tuzilmagan shakllarini qayta ishlash vositalari yo'q.
Ma'lumotlar bazalarining ko'p turlari mavjud, ammo ularni quyidagi turlarga bo'lish mumkin:

  • Ustunli ma'lumotlar bazalari ma'lumotlarni ustunlarga ajratadi, bu esa algoritmlarga so'rovlarni qayta ishlash tezligini sezilarli darajada oshirish imkonini beradi.

  • Hujjat saqlovchilar - hujjatlar saqlovchilari jadvallardan foydalanmaydi, lekin hujjat haqida to'liq ma'lumotni saqlaydi. Ularning o'ziga xos xususiyati juda moslashuvchan ma'lumotlar sxemasi.

  • Oqimli ma’lumotlar - ma'lumotlarni o'zgartirish va yig'ish paketli emas, balki real vaqt rejimida amalga oshiriladi. Uskuna tanlashni osonlashtirish uchun oqim ma'lumotlarini ma'lumotlar bazasi sifatida tasniflagan bo'lsak-da, bu Storm kabi texnologiyalarni keltirib chiqaradigan maxsus turdagi muammoni tashkil etishi ehtimoli katta.

  • “Kalit-qiymat” shaklida saqlovchilar - Ma'lumotlar jadvallarda saqlanmaydi; har biri bilan kalit qiymat bilan bog'langan: masalan, org.marketing.sales.2015: 20000. Bunday yechim yaxshi miqyosda, lekin amalga oshirish deyarli butunlay ishlab chiquvchiga topshiriladi.

  • Hadoopdagi SQL - Hadoop-dagi ommaviy so'rovlar SQL-ga o'xshash tilda yozilgan bo'lib, uning ichki amalga oshirilishi xaritani qisqartirish infratuzilmasidan foydalanadi.

  • Yangilangan SQL, bu tur NoSQL ma'lumotlar bazalarining miqyoslanishini (masshtablanishini) relyatsion ma'lumotlar bazalarining afzalliklari bilan birlashtiradi. Ushbu ma'lumotlar bazalarining barchasi SQL interfeysi va relyatsion ma'lumotlar modelidan foydalanadi.

  • Grafik ma'lumotlar bazalari - jadval formati barcha vazifalar uchun maqbul emas. Ba'zi muammolar tabiiy ravishda grafik sifatida tasvirlash va grafik ma'lumotlar bazalarida saqlash uchun mos keladi. Buning misoli - jtimoiy tarmoq ma’lumotlari.

1.4.6. Rejalashtirish vositalari.


Rejalashtirish vositalari takrorlanuvchi vazifalarni avtomatlashtirishni va ishlarni real voqealar asosida bajarishni osonlashtiradi (masalan, papkada yangi fayl paydo bo'lganda). Ular Linuxdagi CRON kabi an'anaviy dasturlarga o'xshaydi, lekin katta ma'lumotlar uchun maxsus ishlab chiqilgan. Misol uchun, bunday vositalar katalogda yangi ma'lumotlar to'plami paydo bo'lganda MapReduce vazifasini bajarishi mumkin.

1.4.7. Qiyosiy tahlil vositalari.


Ushbu toifadagi vositalar standartlashtirilgan profillarni taqdim etish orqali katta ma'lumotlarni o'rnatishni optimallashtirish uchun mo'ljallangan. Profillar katta ma'lumotlar operatsiyalari vakillik to'plami asosida qurilgan.
Katta ma'lumotlar infratuzilmasini va konfiguratsiya sozlamalarini qiyosiy tahlil qilish va optimallashtirish vazifalari ko'pincha data science bilan ishlovchilarni emas, balki IT infratuzilmasini tashkil etishga ixtisoslashgan mutaxassislar vakolatiga kiradi. Optimallashtirilgan infratuzilmadan foydalanish sezilarli iqtisodga olib keladi. Masalan, 100 ta serverdan iborat klasterda 10% tejash 10 ta server narxiga teng.

1.4.8. Tizimni joylashtirish.


Katta ma'lumotlar infratuzilmasini tayyorlash oson ish emas. Katta ma'lumotlar klasterlariga yangi ilovalarni o'rnatishda tizimni o'rnatish vositalari o'z-o'zidan paydo bo'ladi. Ular katta ma'lumotlar komponentlarini o'rnatish va sozlashni asosan avtomatlashtiradi. Bu soha data science bilan ishlovchining asosiy vazifalaridan biri emas.

1.4.9. Xizmat dasturlash.


Aytaylik, siz futbol o'yinlari natijalarini bashorat qilish uchun ilova yaratdingiz va endi barchaga ilovangizning bashoratlariga kirishiga ruxsat bermoqchisiz. Biroq, ularning tizimlarida qanday arxitektura yoki texnologiyalar qo'llanilishi haqida hech qanday tasavvurga ega emassiz. Xizmat dasturlash vositalari katta ma'lumotlar ilovalariga xizmat sifatida kirishni ta'minlaydi. Data science bilan ishlovchilar ba'zan o'z modellarini xizmatlar orqali taqdim etishlari kerak. Bunday turdagi eng mashhur misol - REST xizmatlari; REST – Representational State Trnasfer qisqartmasi "Vakillik davlat o'tkazmasi", ya'ni "taqdimot holatini o'tkazish" degan ma'noni anglatadi. Ushbu xizmatlar ko'pincha veb-saytlarga ma'lumotlarni uzatish uchun ishlatiladi.

1.4.10. Xavfsizlik.


Ma'lumotlaringizga ruxsatsiz kirishini xohlaysizmi? Bu holda ma'lumotlarga kirishni aniq boshqarish mexanizmini tashkil qilishingiz kerak, lekin buni har bir alohida dastur darajasida qilishni xohlamaysiz. Katta ma'lumotlar xavfsizligi vositalari markazlashtirilgan va yuqori aniqlikdagi ma'lumotlarga kirishni boshqarish tizimini yaratishga imkon beradi. Katta ma'lumotlar xavfsizligi o'ziga xos tadqiqot sohasiga aylandi va data science bilan ishlovchilar odatda ma'lumotlar iste'molchilari sifatida duch keladilar, kamdan-kam hollarda xavfsizlik nazoratini o'zlari amalga oshirishlari kerak.

1.5. Dastlabki Hadoop misoli


Katta ma'lumotlar kontekstidagi kichik dasturni ko'rib chiqamiz. Buni amalga oshirish uchun Hortonworks tomonidan lokal mashinada katta ma'lumotlar ilovalarini sinab ko'rish uchun yaratilgan virtual mashina Hortonworks Sandbox obrazidan foydalanamiz.
Birinchi misol kichik ma'lumotlar to'plamida ishlaydi, lekin milliardlab yozuvlar bilan katta ma'lumotlar to'plamini so'rash juda oson. Bir qarashda so'rovlar tili SQL ga o'xshab ko'rinadi, lekin u MapReduce ishini bajaradi. U natijalarning muntazam jadvalini tuzadi, keyin uni chiziqli grafikda ko'rsatish mumkin. Natijada, biz 1.7-rasmda ko'rsatilganga o'xshash diagramma olamiz. Ilovani imkon qadar tez va oson ishga tushirish uchun VirtualBox-da Hortonworks Sandbox muhitidan foydalanamiz. VirtualBox - bu sizning operatsion tizimingizda boshqa operatsion tizimni ishga tushirish imkonini beruvchi virtualizatsiya vositasi. Bunday holda, u o'rnatilgan operatsion tizimingizda mavjud Hadoop o'rnatilishi bilan CentOS-ni ishga tushirishga yordam beradi.

1.7-rasm. Natija: o'rtacha ish haqining lavozimga bog'liqligi

Virtualbox-da Sandbox-ni ishga tushirish uchun bir necha oddiy qadamlarni bajarish kerak.


1. Virtual obrazni http://hortonworks.com/products/hortonworks-sandbox/#install dan yuklab oling.
2. Boshqaruv virtual mashinasini ishga tushiring. VirtualBox-ni yuklab olish https://www.virtualbox.org/wiki/Downloads.
3. Ctrl+I tugmalarini bosing va Hortonworks virtual tasvirini tanlang.
4. NEXT tugmasini bosing.
5. Import tugmasini bosing; Qisqa vaqtdan so'ng obrazingiz muvaffaqiyatli import qilinadi.
6. Virtual mashinangizni tanlang va Run tugmasini bosing.
7. Hadoop o'rnatilgan CentOS ishga tushishini biroz kuting (1.8-rasm). Diqqat qiling: rasmda Sandbox 2.1 versiyasidan foydalaniladi. Boshqa versiyalarda kichik o'zgarishlar bo'lishi mumkin.
To'g'ridan-to'g'ri ishlaydigan mashinaga kirishingiz yoki SSH-dan foydalanishingiz mumkin. Biz veb-interfeysdan foydalanamiz. Brauzerda http://127.0.0.1:8000 manzilini kiriting; 1.9-rasmda ko'rsatilgan ekran paydo bo'lishi kerak.
Hortonworks tarqatish, shuningdek, HCatalog darajasida joylashgan ikkita o'quv ma'lumotlar to'plamini o'z ichiga oladi. Mavjud jadvallar ro'yxatini ko'rish uchun HCat tugmasini bosing (1.10-rasm).

1.8-rasm. VirtualBox bilan Hortonworks Sandbox

1.9-rasm. Hortonworks Sandbox http://127.0.0.1:8000 manzilida

1.10-rasm. Mavjud HCatalog jadvallari ro'yxati

1.11-rasm. Jadval tarkibi

Bir qarashda, ma’lumotlar oddiy ko'rinadi. Hive - bu oddiy SQL ma'lumotlar bazasi kabi ushbu ma'lumotlar bilan ishlash imkonini beruvchi vosita. Hive natijalarni ishlab chiqarish uchun an'anaviy SQL dialekti bo'lgan HiveQL dan foydalanadi. Beeswax HiveQL muharririni ochish uchun menyudagi Beeswax tugmasini bosing (1.12-rasm).



1.12-rasm. HiveQL buyruqlari Beeswax HiveQL muharririda bajariladi.

Ichkarida bu buyruqlar MapReduce ishlariga aylantiriladi Natijalarni olish uchun quyidagi so'rovni bajaring:



Execute tugmasini bosing. Hive HiveQL so'rovini MapReduce ishiga aylantiradi va uni 1.13-rasmda ko'rsatilganidek Hadoop muhitida bajaradi.
Biroq, hozircha jurnal oynasini o'qimaslik yaxshiroqdir; bu bosqichda u tushunarsiz ko'rinadi. Agar bu sizning birinchi so'rovingiz bo'lsa, uni bajarish uchun 30 soniyagacha vaqt ketishi mumkin - Hadoop uzoq ishga tushirish vaqtlari bilan mashhur. Biroq, bu mavzuga keyinroq qaytamiz.
Biroz vaqt o'tgach, natija ekranda paydo bo'ladi. Olingan xulosadan (1.14-rasm) ko'rinib turibdiki, eng ko'p maosh oladigan kasblar orasida shifokorlar ko'p. Ushbu jadval Hadoop-ga qisqacha kirishni to'ldiradi.

1.13-rasm. HiveQL so’rovi MapReduce topshirig’iga o’zgarishi.

1.14-rasm. Yakuniy natija: kasb bo'yicha o'rtacha ish haqining qisqacha mazmuni
Download 3.58 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling