Zanimljiv programerski zadatak

Blizu. :slight_smile:
Lista je “append-abilna”.

Možda ovako nešto …
…znači, svaki url se kompresira da kompresirani oblik ne bude veći od 32GB/1 trilion …tako da svi kompresirani oblici stanu u 32GB.

Zatim prije usporedbe crawlanog linka, isti se kompresira istom metodom i zatim uspoređuje sa kompresiranim uzorkom.

To će izazvat točnost da 100% spam link ne bude ponovno crawlan, dok ovisno o tipu kompresije i gubitku informacije izvornog linka, može se desit da link koji nije spam, da se njegova kompresija podudara sa nekim od spam linkova. Rekao si da je to u određenoj mjeri prihvatljivo.

Jedino ostaje pitanje koji tip kompresije će se odabrat…morao bi za to prvo podijelit 32GB na trilijun dijelova, da se prvo vidi koliko prostora tu uopće ima.

Što više prostira, može se odabrati kompresija sa manje gubitaka izvorne informacije.

Hmmm …neće ovo gore ići, jerbo ak me matematika ne vara, po kompresiranom linku bi se moglo utrošit samo 0.25 bita, a tu ništa informacije ne stane. :smiley:

Rješenje je Bloom filter.
Evo i jednog artikla o tome (iako sajt ne radi).
A evo i kalkulatora za igrati se.
Definitivno je pitanje za nekog ko se već suočav’o sa subjektom bilo teorijski bilo praktično.
Tako da mi je i potvrdjeno da kad nešto dospije na blacklist, jako teško se vraća u whitelist iz prostog razloga što je to jedan preskup proces. Može se izvesti ali kojom dinamikom i iz kojih razloga je sasvim drugo pitanje.

Fora koncept.

Oni sigurno imaju negdje zapisane sve spam linkove. Ovo je samo radi brze dinamike u radu iz RAM memorije.
A kada požele maknuti nešto iz boom filtera, onda to miču prvo iz baze gdje je sve zapisano, pa se boom filter ponovno generira iz nule.
Sumnjam da im je to problem raditi periodično u nekim rijeđim intervalima. A mehaniku kontroliranja onoga što je u boom filteru… morali bi imati…

Upravo za ovo i pričam da je silan proces i problem.
Ovaj što intervjuiše ljude mi je slično i potvrdio. Nisam dublje ulazio ali da je baš jednostavno - ne bi’ se kladio (tipa: sigurno nije “obriši nešto iz kompjutera…”).
Rad sa trilionskom strukturom je malo više od toga i zahtjeva puno više od poznavanja algoritama pomoću kojih se pravi ovakva ušteda.

Pa je…al ili imaju mehanizam ili nemaju. Ako ga imaju, onda je tezi dio posla vec obavljen …ostaje ga samo pokrenut tu i tamo.

E sad…koliko skupo ga je trigirat…tolika će bit i učestalost takve procedure.

Nego, “lako za trilijun linkova” … mene zanima kako se nose sa svim ostalim “trilijunskim” podacima, gdje nije dovoljno napraviti samo provjeru jel unutra ili nije… nego treba odradit kakvo pametno pretrazivanje…itd.
Veselo im je :smiley:

Pa upravo sam o tome i razmišlj’o naglas da kad domena dospije na blacklistu nije baš da je mali sa recepcije može odblokirati. Cijenim da se radi periodično i da u potencijalne whitelist-e upadaju tek one koje imaju dobar razlog da bi bile odbanovane.

Teško je sve to apstrahovati. Meni je drago da je ovaj naletio i podijelio ovako nešto pa je tekla neka priča uz to. Inače je prije Google-a radio u Tumblr timu i neko je k’o se nagleda definicija većih struktura.