Baze ReversingLabsa imaju skoro 40 milijardi datoteka! E, tu počinju pravi inženjerski izazovi...
Foto: Marin Pavelić

Baze ReversingLabsa imaju skoro 40 milijardi datoteka! E, tu počinju pravi inženjerski izazovi…

Kad vam se posao vrti oko milijarde potencijalno malicioznih datoteka koje treba u kratkom roku uspješno obraditi - održavanje i optimiziranje baza podataka donosi inženjerske izazove s kojima se rijetki susreću.

Sve novo i potencijalno opasno što se danas pojavilo u svijetu, doći će pod povećalo ReversingLabsa vrlo brzo nakon što se pojavi. Ti maliciozni materijali su početak i kraj onoga što rade – njihova platforma za statičku analizu datoteka, postupak je u kojem se bez pristupa izvornom kodu procjenjuje je li neka datoteka maliciozna ili ne. Čime se može, sa sličnim rezultatima, pohvaliti samo nekoliko tvrtki u svijetu. S razlogom se stoga na uvide ReversingLabsa oslanjaju i najveće antivirusne kompanije, tehnološki divovi, društvene mreže, banke pa i vladine agencije…

No, mimo izvorne tehnologije koja omogućuje tu moćnu statičku analizu, inženjerski posao u ReversingLabsu danas se kudikamo više vrti oko dinamike datoteka koje obrađuju. Iz svake datoteke koji stigne na analizu, sustav ReversingLabs izvlači po nekoliko tisuća metapodataka, koji su nekad teški i po više desetaka MB.

Možda se čini malo, ali kad uzmete u obzir da u ovom trenutku njihove baze imaju preko 40 milijardi datoteka i po nekoliko tisuća metapodataka u svakoj od njih – računica brzo prelazi gabarite prosječnog “big data” posla. Stoga ne čudi da i stručnjaci u ReversingLabsu svoj posao zovu big big data.

Veće od velikih podataka

Ukupna količina podataka koje ReversingLabs ima u pohrani i aktivnoj obradi već je dugo u sferi petabajta te sve brže raste. Međutim, ti podaci količinski postaju izazov ne sami po sebi već po tome i što se sve treba s njima raditi. Te podatke treba brzo, efikasno, logično i sustavno pohranjivati, a zatim ih i brzo analizirati i uspoređivati, i tako svakoga dana, iz minute u minutu, objašnjava nam Ivan Penava, voditelj grupe timova koji rade na platformi TitaniumCloud u ReversingLabsu, i napominje:

Važno je imati na umu da to nisu petabajti arhivskih, već aktivnih podataka koji svakoga dana sudjeluju u razmjeni. Sve to želimo pružiti našim klijentima u desetak milisekundi, što na toliku količinu nije jednostavno.

Tako su u više navrata došli do krajnjih granica komercijalnih i open source baza, koje više nisu mogle podržati ono što je ReversingLabsu trebalo.

“Rješenje koje je funkcioniralo na 2 petabajta neće nužno funkcionirati na 6”, ističe Ivan Penava, voditelj grupe timova koji rade na platformi TitaniumCloud u ReversingLabsu. Foto: Marin Pavelić

Zbog toga je i jedna od konstanti u ReversingLabsu traženje novih rješenja koja će im pomoći da s tom količinom podataka uspješno barataju. Jedno od pouzdanijih našli su u ScylliDB koja u Hrvatskoj nije toliko poznata, no u ReversingLabsu je koriste već četiri godine. ScyllaDB je zapravo Apache Cassandra prepisana u C++ jeziku, a specifična je po tome što omogućuje brzi dohvat podataka – znatno brži nego konkurentska rješenja.

Međutim, čak je i s takvim alatom ReversingLabs stigao do plafona mogućnosti ScylleDB pa su s njihovim inženjerima morali raditi na povećanju kapaciteta, u čemu su na kraju i uspjeli.

Naši modeli podataka su usko specijalizirani za arhitekturu te omogućuju našim inženjerima da efikasno rade milijune operacija na ScylliDB svake sekunde bez brige oko toga što sama ScyllaDB radi. Naš interni library je prilagođen za naš set podataka i uniformno ga raspoređuje po svim ScyllaDB serverima.

Za rad sa ScyllomDB koriste isključivo interno razvijene alate, kako bi osigurali konzistentnost podataka. Ti alati, primjerice, provjeravaju kvalitetu i integritet podataka, jesu li podaci u pravoj strukturi, a također, aproksimiraju i količinu grešaka. Uz to, takvim alatima i kolegama olakšavaju posao. Nema mnogo ljudi koji znaju koristiti takve baze, stoga su izradili razne kontrolne ploče (tzv. dashboarde) koji prikazuju, primjerice kojom brzinom se pune koje kolekcije podataka; kada će im trebati novi hardver ako nastave rasti istom brzinom; kojom brzinom se podaci povlače i prikazuju klijentima na različitim lokacijama baze i sl.

Kako osigurati da baze “ne puknu po šavovima”

Kako skalirati rješenja za ogromne količine podataka jedna je od otvorenih tema o kojoj se redovito raspravlja unutar ReversingLabsa, a primarno se važe između važnosti količine i starosti podataka, objašnjava Damjan Čuljak, voditelj grupe timova za cloud servise i analitiku.

Opcije koje trenutno razmatramo su uglavnom usmjerene na podjelu podataka na “spore” (arhivske) i “brze” (aktivne) i na taj način podjela na različite clustere baza podatka. Sve baze širimo vertikalno koliko god možemo i puno puta pređemo neke granice koje se smatraju najboljim praksama, uz naravno prethodno intenzivno testiranje koje su granice baza. Dalje nastavljamo horizontalno širenje te logički raspoređujemo klastere na temelju use caseova.

Foto: Marin Pavelić

Uz te brige, big big data inženjerstvo prate i razni drugi izazovi. Kao prvi, Ivan navodi migracije. S vremenom tehnologije i procesi zastarijevaju te je neminovno da će se naći u situaciji kad će morati rješenje A prebaciti na rješenje B. Za to treba složiti veoma pametan plan kako migracije velikih količina podataka koji se koriste u dnevnom radu ostvariti bez ikakvih ispada.

Drugi veliki izazov je backup odnosno pričuva podataka, nastavlja Ivan:

Treba planirati eventualnosti, i biti dobro pripremljen za njih. Kad nešto padne, koliko će nam trebati da vratimo taj backup? Najviše nas ograničavaju današnje brzine mreža i diskova. Ovo je vezano i uz SLA, odnosno ugovore o razini usluge na koju smo se obvezali prema klijentima. To je važan dio našeg posla, stalno razmišljamo o visokoj dostupnosti (high availability) i nultom učinku (zero impact). Ako nešto ode, uvijek postoji nešto što će odmah to zamijeniti. Takvim pristupom gradi se i održava servis koji je dostupan u svakom trenutku. Uvijek imamo više redundantnih instanci, na tri različite lokacije, a na svakoj i po deset replika istog servisa.

I treće, ali ne manje važno, skaliranje unutar razumnog budžeta, dodaje Damjan. Skaliranje i rast – ne samo baze, već i njihovog sustava servisa – u znatnoj mjeri ovisi o hardveru. Već imaju stotine mašina s mnogo pohrane i stalno dodaju nove, ali…

Moramo drugačije razmišljati i o servisima. Ovisimo o hardveru i moramo znati s njim raditi. Uvijek pokušavamo optimizirati hardver za naš use case, pazimo na sve njegove karakteristike i prilagođavamo se. Uvijek razmišljamo na razini kernela (low level Linux), što je danas među inženjerima rijetkost, a to je jedna od metoda kojom postižemo dostupnost od nekoliko desetaka milisekundi.

Posao za prave tehnološke entuzijaste

Foto: Marin Pavelić

Iako se u IT-ju stalno nešto novo uvodi, a trendovi brzo mijenjaju, bio u pitanju blockchain ili umjetna inteligencija, iza svega toga stoje slični inženjerski principi, objašnjava Ivan, a znanja iz velikih podataka potrebna su svugdje. Međutim, kao što smo vidjeli, nekad poslovanje tvrtke premašuje ta osnovna znanja o velikim podacima, pogotovo u tvrtkama poput ReversingLabsa. Martina Alilović Rojnić, Software Architectica pojašnjava:

Bio to PostgreSQL ili ScyllaDB, kada se radi o velikoj količini podataka, poznavanje rada sa sučeljem baze više nije dovoljno, moramo ići dublje. Moramo znati koji su algoritmi u pozadini koji nam omogućuju visoku dostupnost baze, konzistentnost i replikaciju podataka. Ključno je i dobro poznavati svoje podatke i njihovu distribuciju po raznim faktorima kako bi optimizirali performanse baze.

Stoga smo se pitali kakvi inženjeri bi se (s)našli u ovom kompleksnom području? Damjan smatra da su to uglavnom tehnološki entuzijasti koji uživaju u takvim vrstama izazova. Iako kod mnogih njihov sustav izaziva divljenje, Ivan dodaje kako se neki i uplaše kada vide razinu zahtjevnosti i brzine s kojima rade.

Ono što uvijek kažemo na razgovorima za posao je da vam, rješavajući naše inženjerske poslove, pretraživanje na Googleu kako je to netko prije vas riješio neće mnogo pomoći. Često ćete sami trebati napraviti pretpostavku, tzv. Proof-of-Concept, dokazati ga, i zatim implementirati u produkciju. Rekao bih da je po tome naš posao jedinstven, i da se u njemu ostvaruje pravi poziv i misija inženjerstva.

To mi potvrđuje i Mirano Tuk, Senior Software Engineer u ReversingLabsu koji također navodi kako smjernice s fakulteta, za rad s podacima i bazama podataka, nakon određene količine podataka više ne vrijede.

Kako se onda pripremiti za takav svijet baza?

Mirano se upravo u ReversingLabsu prvi put susreo s pravim big data sustavima, no kaže da mu to nije predstavljalo problem jer ga je područje zanimalo i bio je voljan učiti.

Htio sam naučiti ne samo kako napisati upit, nego i kako sama baza radi “ispod haube”. ScyllaDB, kao i ostale baze koje koristimo, zahtijeva dobro razumijevanje kako bismo mogli iskoristiti njen puni potencijal, ali osnovni upiti nisu komplicirani. Ako je model podataka dobro osmišljen, nije teško snaći se.

Mirano Tuk, Senior Software Engineer: “Pravi inženjerski izazov je pronaći novu perspektivu za već uhodana rješenja koja nisu više dostatna u novim uvjetima.” Foto: Marin Pavelić

Danas je pod njegovom odgovornošću velik broj mikroservisa i API-ja, a kao dio tima zadužen za baze podataka, Mirano pazi da njihovi servisi – kao i servisi drugih timova, efikasno koriste različite baze. Uz to, pomaže drugim timovima u prilagodbi njihovih modela podataka bazi koju koriste.

Naš tim je odgovoran i za ETL (extract, transform, load) procese što znači da imam hands-on iskustvo sa svim dijelovima našeg sustava pa ako nešto zapne u produkciji mogu efikasno identificirati uzrok problema i ispraviti ga. Generalno pazim da nam svi servisi rade ispravno.

Martina kaže da joj je kao matematičarki zanimljivo sve što je izazovno pa tako i posao u ReversingLabsu odnosno – “područje distribuiranih sustava zahtjeva preispitivanje vlastite intuicije i rad na problemima o kojima mnogi nemaju priliku razmišljati”, dodaje Martina.

Učenje je konstantan proces u ovom području, kao i u većini područja u našoj struci. Jasno, manji dio vremena odlazi na učenje konkretne tehnologije, kao ScylleDB, u nekom generičkom smislu, a većina na učenje kako se tehnologija ponaša na našoj količini podataka. Isto tako, kod nas učenje uključuje i proučavanje nekih novih algoritama, a ne samo tehnologija.

Planirala je u ReversingLabsu ostati dok god ne prestane učiti, no kaže da taj dan još nije svanuo.

Napredovala sam kroz godine i razne mentore, gdje bih najviše istaknula svog voditelja tima. Učila sam i od ljudi koje nisam ni upoznala, iz njihovog kȏda i algoritama koje su ostavili za sobom negdje na gitu. Trenutno na poziciji Software Architecta definiram PoC-jeve te gradim i poboljšavam sustave na principima koje sam naučila kroz svoj put u tvrtki.

Inženjerski izazovi kao temelj za budućnost

Martina Alilović Rojnić, Software Architect: “U našem sustavu koji se sastoji od stotine mikroservisa, rekla bih da su najzanimljiviji projekti oni interni, gdje radimo na poboljšanju elastičnosti sustava, a takvih ima uvijek.” Foto: Marin Pavelić

Količina podataka na svijetu povećava se eksponencijalno, a njihova obrada postat će jedna od najvažnijih stavki modernog poslovanja. Uz to, s novim valom umjetne inteligencije, sve više kompanija se okreće podacima i opet dolazimo na onu poznatu – podaci su nafta novog doba. Martina smatra da to ne utječe samo na inženjere koji se bave direktno s podacima, već i na sve ostale koji moraju raditi na sustavu koji omogućuje spremanje i obradu tih podataka.

Po meni će sve rjeđi biti inženjeri koji će imati luksuz raditi na sustavu koji nije distribuiran, ali će paralelno i rasti broj gotovih rješenja za takve sustave.

ReversingLabs je jedna od rijetkih tvrtki koja već probija i testira mogućnosti obrade velikih količina podataka, gdje inženjeri imaju priliku brusiti svoje vještine na presedanskim izazovima. Martina dodaje i kako je područje baza podataka s kojima oni rade i dalje relativno mlado, stoga je posebno zanimljivo pratiti njihov razvoj te kako ih rast podataka tjera na sve užu specijalizaciju po uporabi.

ReversingLabs nestrpljivo čeka svaku takvu novu tehnologiju da je isproba na svojim podacima, a i čak sam razvija interna rješenja da zatvori rupe koje još uvijek postoje na tržištu takve tehnologije.

Ne čudi stoga što bi Martina, za sustav koji se sastoji od stotine mikroservisa, rekla da su najzanimljiviji projekti oni interni, gdje rade na poboljšanju elastičnosti sustava. A takvih ima uvijek, zaključuje.

Za ReversingLabs najviše se inženjerskih izazova vrti oko toga kako pronaći novu perspektivu za već uhodana rješenja koja nisu više dostatna u novim uvjetima pa ako im se u tom pothvatu želite pridružiti svakako provjerite njihove otvorene pozicije na stranicama karijera.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

eUsluge

Grad Zagreb omogućio potpun uvid u proračun kroz aplikaciju iTransparentnost

Nova aplikacija omogućuje svakom građaninu da detaljno prouči gradski porarčun po različitim parametrima.

Startupi

Što je to R&D potencijal – i kakve veze ima s razvojem startupa?

Je li startup nacija u kojoj su nastali tech giganti kao Skype, Wise, Bolt i Pipedrive to postala slučajno, otkrijte sa mnom na putu u Estoniju.

Nesortirano

Što je Akt o čipovima – i kako će doprinjeti tehnološkom razvitku Hrvatske

Jačanje konkurentnosti Europske unije u industriji poluvodiča prilika je i za Hrvatsku koja u sklopu 43 milijarde eura vrijedne incijative priprema otvaranje edukacijskih centara.

Što ste propustili

Panel

Hrvatski game developeri o stvaranju “ozbiljnih” videoigara

S predstavnicima game dev studija, ali i drugih privatnih tvrtki i dobrotvornih organizacija, raspravljamo o razvoju videoigara kojima svrha nije samo zabava, već i edukacija.

Intervju

Ivan Mrvoš: “Include više nije samo ‘onaj mali s pametnim klupama'”

Include, solinski startup poznat po pametnim klupama Steora, okrenuo se razvoju i proizvodnji novih proizvoda. Mrvoš, koji još nema ni 30 godina, a već je iskusni poduzetnik s respektabilnom karijerom, za Netokraciju je ispričao kako se i koliko ta tvrtka promijenila. Nedavno smo mogli pročitati da bi mogli promijeniti i vlasnika...

Esport

Peta sezona SET-a zaključena u Infobipu: Od 22 fakulteta pobjednički je varaždinski FOI

Student Esports Tournament, jedan od najpoznatijih studentskih esport događaja u Hrvatskoj, petu sezonu završio je u spektakularnoj LAN završnici koja se održala u prostorima Infobipa u Zagrebu.

Novost

Goran Bosankić u Field39 stiže na poziciju Chief Revenue Officera

Nakon više od 6 godina u Assecu SEE, a potom isto toliko u ABC Tech grupi, Goran Bosankić dolazi u Field39 kao Chief Revenue Officer i član Upravnog odbora.

Digitalni marketing

Super Bowl fenomen iliti “Vrijeme je da se vratite pred TV. Počinju reklame.”

Dok sam bio u Americi netom prije Super Bowla jedno mi je postalo jasno. Američki nogomet tamo je religija, a SuperBowl kao Božić. Samo što se za ovaj Božić svi okupe oko TV-a gledati reklame!

Novost

Teo Širola iz Muzeja iluzija proglašen najboljim mladim menadžerom 2023. godine

Hrvatsko udruženje menadžera i poduzetnika (HUM) CROMA dodijelilo je predsjedniku tvrtke Metamorfoza, koja upravlja globalnom mrežom Muzeja iluzija, nagradu za mladog menadžera 2023. godine.