Ispitivanje velikih podataka
Testiranje velikih podataka postupak je testiranja aplikacije za velike podatke kako bi se osiguralo da sve funkcionalnosti aplikacije za velike podatke rade kako se očekuje. Cilj testiranja velikih podataka je osigurati da sustav velikih podataka radi glatko i bez pogrešaka, a da istovremeno održava performanse i sigurnost.
Veliki podaci zbirka su velikih skupova podataka koji se ne mogu obraditi tradicionalnim računalnim tehnikama. Testiranje ovih skupova podataka uključuje razne alate, tehnike i okvire za obradu. Veliki podaci odnose se na stvaranje, pohranu, pronalaženje i analizu podataka koji su izvanredni u smislu obujma, raznolikosti i brzine. Ovdje možete saznati više o Big Datau, Hadoopu i MapReduceu
U ovom vodiču za ispitivanje velikih podataka naučit ćete-
- Što je strategija testiranja velikih podataka?
- Kako testirati Hadoop aplikacije
- Ispitivanje arhitekture
- Ispitivanje performansi
- Pristup ispitivanju izvedbe
- Parametri za ispitivanje performansi
- Potrebne testne okoline
- Ispitivanje velikih podataka vs. Tradicionalno testiranje baze podataka
- Alati korišteni u scenarijima velikih podataka
- Izazovi u ispitivanju velikih podataka
Što je strategija testiranja velikih podataka?
Testiranje aplikacije Big Data više je provjera obrade podataka, a ne testiranje pojedinačnih značajki softverskog proizvoda. Kada je riječ o testiranju velikih podataka, ključ su izvedbe i funkcionalno testiranje .
U strategiji testiranja velikih podataka, QA inženjeri provjeravaju uspješnu obradu terabajta podataka pomoću robne skupine i drugih pratećih komponenti. Zahtijeva visoku razinu vještina testiranja jer je obrada vrlo brza. Obrada može biti tri vrste
Uz to, kvaliteta podataka također je važan čimbenik u Hadoop testiranju. Prije testiranja aplikacije potrebno je provjeriti kvalitetu podataka i treba ih smatrati dijelom testiranja baze podataka. Uključuje provjeru različitih karakteristika poput sukladnosti, točnosti, umnožavanja, dosljednosti, valjanosti, cjelovitosti podataka itd. Sljedeće u ovom vodiču za testiranje Hadoop-a naučit ćemo kako testirati programe Hadoop-a.
Kako testirati Hadoop aplikacije
Sljedeća slika daje pregled faza na visokoj razini u testiranju aplikacija za velike podatke
Testiranje velikih podataka ili Hadoop testiranje mogu se široko podijeliti u tri koraka
Korak 1: Provjera stupnjevanja podataka
Prvi korak u ovom vodiču za testiranje velikih podataka naziva se faza prije Hadoop-a koja uključuje provjeru valjanosti procesa.
- Podaci iz različitih izvora poput RDBMS-a, web dnevnika, društvenih medija itd. Trebali bi biti provjereni kako bi se osiguralo unošenje točnih podataka u sustav
- Usporedba izvornih podataka s podacima uguranim u sustav Hadoop kako bi se osiguralo da se podudaraju
- Provjerite jesu li ispravni podaci izvučeni i učitani na ispravno HDFS mjesto
Alati poput Talend , Datameer mogu se koristiti za provjeru stupnjevanja podataka
Korak 2: Provjera valjanosti "MapReduce"
Drugi je korak provjera valjanosti "MapReduce". U ovoj fazi ispitivač velikih podataka provjerava provjeru valjanosti poslovne logike na svakom čvoru, a zatim ih provjerava nakon izvođenja na više čvorova, osiguravajući da
- Proces Map Reduce ispravno radi
- Na podacima se primjenjuju pravila za agregiranje ili razdvajanje podataka
- Generiraju se parovi ključnih vrijednosti
- Provjera valjanosti podataka nakon postupka Map-Reduce
Korak 3: Faza provjere rezultata
Posljednja ili treća faza Hadoop testiranja je postupak validacije rezultata. Datoteke izlaznih podataka generiraju se i spremne su za premještanje u EDW (Enterprise Data Warehouse) ili bilo koji drugi sustav temeljen na zahtjevu.
Aktivnosti u trećoj fazi uključuju
- Da biste provjerili jesu li pravilno primijenjena pravila transformacije
- Da biste provjerili integritet podataka i uspješno učitavanje podataka u ciljni sustav
- Da biste provjerili da nema oštećenja podataka usporedbom ciljnih podataka s podacima HDFS datotečnog sustava
Ispitivanje arhitekture
Hadoop obrađuje vrlo velike količine podataka i vrlo je intenzivan u resursima. Stoga su arhitektonska ispitivanja presudna kako bi se osigurao uspjeh vašeg projekta velikih podataka. Loše ili nepropisno dizajniran sustav može dovesti do pogoršanja performansi, a sustav ne može ispuniti zahtjev. Barem performansama i failover ispitne usluge treba biti učinjeno u Hadoop okruženju.
Testiranje izvedbe uključuje ispitivanje vremena završetka posla, upotrebe memorije, propusnosti podataka i sličnih mjernih podataka sustava. Iako je motiv usluge otkazivanja otkazivanja provjera da se obrada podataka odvija bez problema u slučaju kvara čvorova podataka
Ispitivanje performansi
Testiranje izvedbe za velike podatke uključuje dvije glavne radnje
- Unos podataka i tijekom toga : U ovoj fazi, ispitivač velikih podataka provjerava kako brzi sustav može trošiti podatke iz različitih izvora podataka. Testiranje uključuje prepoznavanje drugačije poruke koju red može obraditi u određenom vremenskom okviru. Također uključuje koliko brzo se podaci mogu umetnuti u temeljnu pohranu podataka, na primjer brzina umetanja u bazu podataka Mongo i Cassandra.
- Obrada podataka : Uključuje provjeru brzine izvršavanja upita ili mape za smanjenje poslova. To također uključuje testiranje obrade podataka izolirano kada je temeljna pohrana podataka popunjena unutar skupova podataka. Na primjer, izvođenje Map Reduce poslova na temeljnom HDFS-u
- Izvedba potkomponenata: Ovi se sustavi sastoje od više komponenata i bitno je svaku od tih komponenata testirati u izolaciji. Na primjer, koliko brzo se poruka indeksira i troši, poslovi MapReduce, izvedba upita, pretraživanje itd.
Pristup ispitivanju izvedbe
Testiranje izvedbe za primjenu velikih podataka uključuje ispitivanje ogromnih količina strukturiranih i nestrukturiranih podataka, a za testiranje takvih masivnih podataka potreban je poseban pristup testiranju.
Testiranje izvedbe izvršava se ovim redoslijedom
- Proces započinje postavljanjem klastera velikih podataka koji će se testirati na performanse
- Utvrditi i dizajnirati odgovarajuća radna opterećenja
- Priprema pojedinačnih klijenata (kreiraju se prilagođene skripte)
- Izvršiti test i analizirati rezultat (ako ciljevi nisu ispunjeni, podesite komponentu i ponovno izvršite)
- Optimalna konfiguracija
Parametri za ispitivanje performansi
Različiti su parametri koji se trebaju provjeriti za ispitivanje performansi
- Pohrana podataka: Kako se podaci pohranjuju u različitim čvorovima
- Dnevnici urezivanja: Kolika je dozvola rasta dnevnika urezivanja
- Istodobnost: Koliko niti može izvesti operaciju pisanja i čitanja
- Predmemoriranje: podesite postavku predmemorije "predmemorija redaka" i "predmemorija ključeva".
- Vremenska ograničenja: Vrijednosti za vremensko ograničenje veze, vremensko ograničenje upita itd.
- JVM parametri: veličina hrpe, algoritmi za prikupljanje GC, itd.
- Karta smanjuje izvedbu: sortiranje, spajanje itd.
- Red poruka: Stopa poruke, veličina itd.
Potrebne testne okoline
Test okruženje mora ovisiti o vrsti aplikacije koju testirate. Za testiranje softvera za velike podatke, testno okruženje treba obuhvaćati
- Trebao bi imati dovoljno prostora za pohranu i obradu velike količine podataka
- Trebao bi imati klaster s distribuiranim čvorovima i podacima
- Trebao bi imati minimalnu upotrebu CPU-a i memorije kako bi održao visoke performanse kako bi se testirale performanse velikih podataka
Ispitivanje velikih podataka vs. Tradicionalno testiranje baze podataka
Svojstva |
Tradicionalno testiranje baze podataka |
Ispitivanje velikih podataka |
---|---|---|
Podaci |
|
|
Pristup testiranju |
|
|
Strategija ispitivanja |
|
|
Infrastruktura |
|
|
Alati za provjeru valjanosti |
Tester koristi makronaredbe temeljene na Excelu ili alate za automatizaciju na temelju korisničkog sučelja |
Nema definiranih alata, raspon je širok, od programskih alata poput MapReducea do HIVEQL-a |
Alati za ispitivanje |
Alati za testiranje mogu se koristiti s osnovnim operativnim znanjem i manje treninga. |
Za rad s alatom za testiranje potreban je određeni skup vještina i obuke. Također, alati su u početnoj fazi i s vremenom će možda doći do novih značajki. |
Alati korišteni u scenarijima velikih podataka
Klaster velikih podataka |
Alati za velike podatke |
---|---|
NoSQL: |
|
MapReduce: |
|
Pohrana: |
|
Poslužitelji: |
|
Obrada |
|
Izazovi u ispitivanju velikih podataka
- Automatizacija
Automatsko testiranje velikih podataka zahtijeva nekoga tko ima tehničku stručnost. Također, automatizirani alati nisu opremljeni za rješavanje neočekivanih problema koji se pojave tijekom testiranja
- Virtualizacija
To je jedna od integralnih faza ispitivanja. Latencija virtualnog stroja stvara probleme s vremenom u stvarnom vremenu, testiranje performansi velikih podataka. Gnjavaža je i upravljanje slikama u velikim podacima.
- Veliki skup podataka
- Trebate provjeriti više podataka i to brže
- Treba automatizirati napor testiranja
- Treba biti u mogućnosti testirati na različitim platformama
Izazovi ispitivanja performansi
- Različiti skup tehnologija : Svaka potkomponenta pripada različitoj tehnologiji i zahtijeva izolirano testiranje
- Nedostupnost specifičnih alata : Nijedan alat ne može provesti testiranje od kraja do kraja. Na primjer, NoSQL možda neće odgovarati redovima poruka
- Test Scripting : Visok stupanj skriptiranja potreban je za dizajniranje test scenarija i test slučajeva
- Test okruženje : Potrebno je posebno testno okruženje zbog velike veličine podataka
- Rješenje za nadzor : Postoje ograničena rješenja koja mogu nadzirati cjelokupno okruženje
- Dijagnostičko rješenje : potrebno je razviti prilagođeno rješenje za razrađivanje uskih grla u izvedbi
Sažetak
- Kako podatkovni inženjering i analitika podataka napreduju na sljedeću razinu, testiranje velikih podataka neizbježno je.
- Obrada velikih podataka može biti skupna, u stvarnom vremenu ili interaktivna
- 3 su faze testiranja aplikacija za velike podatke
- Provjera stupnjevanja podataka
- Provjera valjanosti "MapReduce"
- Izlazna faza provjere valjanosti
- Arhitektonsko testiranje važna je faza ispitivanja velikih podataka, jer loše dizajniran sustav može dovesti do neviđenih pogrešaka i pogoršanja performansi
- Testiranje izvedbe za velike podatke uključuje provjeru
- Propusnost podataka
- Obrada podataka
- Izvedba podkomponente
- Testiranje velikih podataka uvelike se razlikuje od tradicionalnog testiranja podataka u smislu podataka, infrastrukture i alata za provjeru
- Izazovi testiranja velikih podataka uključuju virtualizaciju, automatizaciju testiranja i bavljenje velikim skupom podataka. Ispitivanje performansi aplikacija velikih podataka također je problem.