Suur andmelahing: partiitöötlus vs voo töötlemine

Kas proovite aru saada suurandmetest ja andmeanalüüsist, kuid olete segamini pakettandmete töötlemise ja vooandmetöötlusega? Kui jah, siis see ajaveeb on teie jaoks!

Täna analüüsivad arendajad terabaitide ja petabaitide andmeid Hadoopi ökosüsteemis. Selle projekti kiirendamiseks loodavad paljud projektid. Kõik need projektid tuginevad kahele aspektile. Nemad on :

  • Partii töötlemine
  • Voo töötlemine

Mis on pakkide töötlemine?

Partii töötlemine on koht, kus töötlemine toimub andmeplokkidega, mis on juba teatud aja jooksul salvestatud. Näiteks töötleb kõiki tehinguid, mille üks suuremaid finantsettevõtteid on nädala jooksul teinud. Need andmed sisaldavad miljoneid päeva kirjeid, mida saab salvestada failina või dokumendina jne. See konkreetne fail töödeldakse päeva lõpus erinevate analüüside jaoks, mida ettevõte soovib teha. Ilmselt võtab selle faili töötlemine palju aega. See oleks partii töötlemine :)

Hadoop MapReduce on partiidena andmete töötlemise parim raamistik. Järgmine joonis annab teile üksikasjaliku selgituse, kuidas Hadoop töötleb andmeid MapReduce'i abil.

Andmete töötlemine MapReduce'i abil

Paketttöötlus toimib hästi olukordades, kus te ei vaja reaalajas analüüsi tulemusi, ja kui on olulisem töödelda suures mahus andmeid, et saada üksikasjalikumat teavet, kui saada kiiret analüüsi tulemusi.

Mis on voo töötlemine?

Voo töötlemine on kuldne võti, kui soovite analüüsi tulemusi reaalajas. Voo töötlemine võimaldab meil töödelda andmeid reaalajas, kui need saabuvad, ja kiiresti tuvastada tingimused väikese aja jooksul alates andmete vastuvõtmise hetkest. Voo töötlemine võimaldab teil sisestada andmeid analüüsivahenditesse kohe, kui need genereeritakse ja saada kohe analüüsi tulemused. Seal on mitu avatud lähtekoodiga voo töötlusplatvormi, näiteks Apache Kafka, Apache Flink, Apache Storm, Apache Samza jne. Ma soovitaksin avatud lähtekoodiga voo töötlusplatvormi WSO2 Stream Processor (WSO2 SP), mille aitasin ehitada. WSO2 SP saab andmeid Kafka, HTTP päringute ja sõnumite vahendajatelt. Andmevoo kohta saate päringu teha, kasutades keelt „Streaming SQL”. Ainult kahe kaubaserveri abil on see kõrge kättesaadavus ja 100K + TPS läbilaskevõime. See võib Kafka peale skaneerida kuni miljoneid TPS-e. Lisaks võimaldab WSO2 SP ärireeglite haldur määratleda malle ja genereerida neist ärireeglid erinevate stsenaariumide jaoks koos ühiste nõuetega.

Voo töötlemine on kasulik selliste ülesannete jaoks nagu pettuste tuvastamine. Kui töötlete tehinguandmeid voogesitusega, saate tuvastada kõrvalekaldeid, mis annavad pettustest märku reaalajas, ja seejärel peatada pettused enne nende lõpuleviimist.

Järgmine joonis annab teile üksikasjaliku selgituse, kuidas Spark töötleb andmeid reaalajas.

Voogesituse töötlemine on nii kiire, kuna analüüsib andmeid enne kettale jõudmist.

Teie lisateabe saamiseks on WSO2 esitanud WSO2 pettuste tuvastamise lahenduse. Selle ehitamiseks on kasutatud WSO2 andmeanalüüsi platvormi, mis koosneb nii partiianalüütikast kui ka reaalajas analüüsist (voo töötlemine).

Erinevus pakktöötluse ja voo töötlemise vahel

Nüüd on teil põhiteadmised pakettöötluse ja voo töötlemise kohta. Sukeldugem partii vs voo ümber toimuvasse arutellu

Pakktöötluses töötleb see kõiki või enamikku andmeid, kuid voos töötlemisel töötleb see andmeid jooksval aknal või viimase kirjega. Seega töötleb pakktöötlus suurt andmehulka, voo töötlemine aga üksikute kirjete või väheste kirjete mikropartiidena.

Toimivuse osas on pakettöötluse latentsusaeg minutites kuni tundides, voo töötlemise latentsusaeg aga sekundites või millisekundites.

Päeva lõpus soovib kindel arendaja mõista mõlemat töövoogu. See kõik taandub kasutamise juhtumile ja sellele, kuidas kumbki töövoog aitab saavutada ettevõtte eesmärki.