Vodič za testiranje velikih podataka: Što je, strategija, kako testirati Hadoop
Testiranje velikih podataka
Testiranje velikih podataka je proces testiranja velike podatkovne aplikacije kako bi se osiguralo da sve funkcionalnosti velike podatkovne aplikacije rade prema očekivanjima. Cilj testiranja velikih podataka je osigurati da sustav velikih podataka radi glatko i bez grešaka uz održavanje performansi i sigurnosti.
Veliki podaci skup su velikih skupova podataka koji se ne mogu obraditi tradicionalnim računalnim tehnikama. Ispitivanje ovih skupova podataka uključuje različite alate, tehnike i okvire za obradu. Veliki podaci odnose se na stvaranje, pohranjivanje, dohvaćanje i analizu podataka koji su izvanredni u smislu obujma, raznolikosti i brzine. Možete saznati više o Big Data, Hadoop i MapReduce ovdje
Što je strategija testiranja velikih podataka?
Testiranje Big Data aplikacije više je provjera njezine obrade podataka nego testiranje pojedinačnih značajki softverskog proizvoda. Kada je u pitanju testiranje velikih podataka, ispitivanje performansi i funkcionalnosti su ključevi.
U strategiji testiranja velikih podataka, inženjeri za osiguranje kvalitete provjeravaju uspješnu obradu terabajta podataka koristeći robni klaster i druge komponente podrške. 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 faktor u Hadoop testiranju. Prije testiranja aplikacije potrebno je provjeriti kvalitetu podataka i to treba smatrati dijelom testiranja baze podataka. Uključuje provjeru različitih karakteristika kao što su sukladnost, točnost, umnožavanje, dosljednost, valjanost, potpunost podataka, itd. Sljedeće u ovom vodiču za testiranje Hadoop-a naučit ćemo kako testirati Hadoop aplikacije.
Kako testirati Hadoop aplikacije
Sljedeća slika daje pregled na visokoj razini faza u testiranju Big Data aplikacija
Testiranje velikih podataka ili Hadoop testiranje može se općenito podijeliti u tri koraka
Korak 1: Validacija inscenacije podataka
Prvi korak u ovom vodiču za testiranje velikih podataka naziva se faza prije Hadoopa i uključuje provjeru valjanosti procesa.
- Podaci iz raznih izvora kao što su RDBMS, blogove, društvene mreže itd. treba provjeriti kako bi se osiguralo da su točni podaci uvučeni u sustav
- Uspoređivanje izvornih podataka s podacima unesenim u Hadoop sustav kako bi se osiguralo podudaranje
- Provjerite jesu li ispravni podaci izdvojeni i učitani na ispravno HDFS mjesto
Alati poput Talend, Datameer, može se koristiti za provjeru valjanosti stupnja podataka
Korak 2: Provjera valjanosti "MapReduce".
Drugi korak je provjera valjanosti "MapReduce". U ovoj fazi, Big Data tester provjerava validaciju poslovne logike na svakom čvoru, a zatim ih provjerava nakon izvođenja na više čvorova, osiguravajući da
- Proces Map Reduce radi ispravno
- Na podatke se implementiraju pravila agregacije ili odvajanja podataka
- Generiraju se parovi ključ-vrijednost
- Provjera valjanosti podataka nakon procesa Map-Reduce
Korak 3: Faza provjere valjanosti izlaza
Konačna ili treća faza Hadoop testiranja je proces validacije izlaza. Izlazne podatkovne datoteke generiraju se i spremne su za premještanje u EDW (Enterprise Data Warehouse) ili bilo koji drugi sustav na temelju zahtjeva.
Aktivnosti u trećoj fazi uključuju
- Za provjeru jesu li pravila transformacije pravilno primijenjena
- Za provjeru integriteta podataka i uspješnog učitavanja podataka u ciljni sustav
- Kako biste provjerili da nema oštećenja podataka usporedbom ciljnih podataka s podacima HDFS datotečnog sustava
ArchiIspitivanje teksture
Hadoop obrađuje vrlo velike količine podataka i zahtijeva velike resurse. Stoga je arhitektonsko testiranje ključno za osiguranje uspjeha vašeg Big Data projekta. Loše ili neprikladno dizajniran sustav može dovesti do degradacije performansi, a sustav možda neće ispuniti zahtjev. Najmanje, Performanse i Failover test usluge treba raditi u Hadoop okruženju.
Ispitivanje performansi uključuje testiranje vremena dovršetka posla, iskorištenosti memorije, protoka podataka i sličnih metrika sustava. Dok je motiv Failover test usluge provjera odvija li se obrada podataka besprijekorno u slučaju kvara podatkovnih čvorova
Ispitivanje performansi
Testiranje izvedbe za Big Data uključuje dvije glavne radnje
- Unos podataka i Throughout: U ovoj fazi, Big Data tester provjerava kako brzi sustav može konzumirati podatke iz različitih izvora podataka. Testiranje uključuje identificiranje različite poruke koju red čekanja može obraditi u zadanom vremenskom okviru. Također uključuje koliko brzo se podaci mogu umetnuti u temeljnu pohranu podataka, na primjer, stopa umetanja u Mongo i Cassandra baza podataka.
Pristup testiranju performansi
Testiranje izvedbe za velike podatkovne aplikacije uključuje testiranje ogromnih količina strukturiranih i nestrukturiranih podataka i zahtijeva poseban pristup testiranju za testiranje tako masivnih podataka.
Testiranje izvedbe izvodi se ovim redoslijedom
- Proces počinje postavljanjem Big data klastera čiji se učinak treba testirati
- Identificirajte i dizajnirajte odgovarajuća radna opterećenja
- Pripremite pojedinačne klijente (stvaraju se prilagođene skripte)
- Izvršite test i analizirajte rezultat (ako ciljevi nisu ispunjeni, podesite komponentu i ponovno je izvršite)
- Optimalna konfiguracija
Parametri za testiranje performansi
Različiti parametri koje treba provjeriti za testiranje performansi su
- Pohrana podataka: Kako se podaci pohranjuju u različitim čvorovima
- Dnevnici uvrštavanja: koliko velik je dopušten rast dnevnika uvrštavanja
- Konkurentnost: Koliko niti može izvesti operacije pisanja i čitanja
- Predmemorija: podesite postavku predmemorije "predmemorija redaka" i "predmemorija ključeva".
- Isteci vremena: Vrijednosti za istek vremena veze, istek upita itd.
- JVM parametri: veličina hrpe, algoritmi prikupljanja GC-a itd.
- Karta smanjuje performanse: Sortiranje, spajanje itd.
- Red poruka: brzina poruka, veličina itd.
Potrebe testnog okruženja
Testno okruženje mora ovisiti o vrsti aplikacije koju testirate. Za testiranje softvera za velike podatke, testno okruženje trebalo bi uključivati
- 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 minimalno korištenje CPU-a i memorije kako bi zadržao visoku izvedbu za testiranje izvedbe Big Data
Testiranje velikih podataka vs. Tradicionalno testiranje baze podataka
| Nekretnine | Tradicionalno testiranje baze podataka | Testiranje velikih podataka |
|---|---|---|
| Datum | Tester radi sa strukturiranim podacima | Tester radi i sa strukturiranim i s nestrukturiranim podacima |
| Pristup testiranju | Pristup testiranju je dobro definiran i vremenski testiran | Pristup testiranju zahtijeva usredotočene napore u istraživanju i razvoju |
| Strategija testiranja | Tester ima opciju strategije "uzorkovanja" koja se izvodi ručno ili strategije "iscrpne provjere" pomoću alata za automatizaciju | Strategija "uzorkovanja" u Big data je izazov |
| Infrastruktura | Ne zahtijeva posebno testno okruženje jer je veličina datoteke ograničena | Zahtijeva posebno testno okruženje zbog velike veličine podataka i datoteka (HDFS) |
| Alati za provjeru valjanosti | Tester koristi bilo Excel-based makroi ili alate za automatizaciju temeljene na korisničkom sučelju | Nema definiranih alata, raspon je širok, od alata za programiranje poput MapReduce do HIVEQL-a |
| Alati za testiranje | Alati za testiranje mogu se koristiti uz osnovno operativno znanje i manje obuke. | Za rad s alatom za testiranje potreban je određeni skup vještina i obuka. Također, alati su u početnoj fazi i s vremenom se mogu pojaviti nove značajke. |
Alati koji se koriste u scenarijima velikih podataka
| Big Podaci Cluster | Alati za velike podatke |
|---|---|
| NoSQL: | CouchDB, Baze podataka MongoDB, Cassandra, Redis, ZooKeeper, HBase |
| MapReduce: | Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume |
| Skladištenje: | S3, HDFS (Hadoop distribuirani datotečni sustav) |
| Poslužitelji: | Elastičan, Heroku, Elastic, Google App Engine, EC2 |
| Obrada | R, Yahoo! Cijevi, Mechanical Turk, BigSheets, Datameer |
Izazovi u testiranju velikih podataka
- Automatizacija
Ispitivanje automatizacije za velike podatke potreban je netko s tehničkim znanjem. Također, automatizirani alati nisu opremljeni za rješavanje neočekivanih problema koji se pojave tijekom testiranja
- Virtualizacija
To je jedna od sastavnih faza testiranja. Latencija virtualnog stroja stvara probleme s vremenom u testiranju performansi velikih podataka u stvarnom vremenu. Također je gnjavaža upravljanje slikama u Big data.
- Veliki skup podataka
- Potrebno je provjeriti više podataka i treba to učiniti brže
- Potreba za automatizacijom testiranja
- Morate moći testirati na različitim platformama
Izazovi testiranja performansi
- Raznovrsni skup tehnologija: Svaka podkomponenta pripada različitoj tehnologiji i zahtijeva ispitivanje u izolaciji
- Nedostupnost određenih alata: Nijedan pojedinačni alat ne može izvršiti testiranje od kraja do kraja. Na primjer, NoSQL možda neće odgovarati redovima poruka
- Testiranje skripti: Visok stupanj skriptiranja potreban je za dizajniranje testnih scenarija i testnih slučajeva
- Testno okruženje: Potrebno mu je posebno testno okruženje zbog velike veličine podataka
- Nadzorno rješenje: Postoje ograničena rješenja koja mogu nadzirati cijelo okruženje
- Dijagnostičko rješenje: potrebno je razviti prilagođeno rješenje za proučavanje područja uskih grla u izvedbi
Rezime
- Kako podatkovni inženjering i analitika podataka napreduju na višu razinu, testiranje velikih podataka je neizbježno.
- Obrada velikih podataka može biti skupna, u stvarnom vremenu ili interaktivna
- 3 faze testiranja Big Data aplikacija su provjera valjanosti inscenacije podataka, provjera valjanosti "MapReduce" i faza provjere valjanosti izlaza
- ArchiTecture Testiranje je važna faza testiranja velikih podataka, jer loše dizajniran sustav može dovesti do neviđenih pogrešaka i degradacije performansi
- Testiranje izvedbe za Big data uključuje provjeru propusnosti podataka, obrade podataka i izvedbe podkomponenti
- Testiranje velikih podataka uvelike se razlikuje od tradicionalnog testiranja podataka u smislu podataka, infrastrukture i alata za provjeru valjanosti
- Izazovi testiranja velikih podataka uključuju virtualizaciju, automatizaciju testiranja i rad s velikim skupom podataka. Testiranje performansi Big Data aplikacija također predstavlja problem.



