Come funziona MetaDB

Come funziona METADB?

MetaDB - Analisi statistica e censimento dei siti web

MetaDB è un software di analisi statistica e censimento dei siti web online. MetaDB è basato su un web crawler autonomo, denominato METADBot, che analizza le sole homepage dei siti web online, partendo da un sottoinsieme molto ristretto di siti (circa 750.000 siti web), e spostandosi di sito in sito sfruttando gli outbound link con una tecnica nota come Snowball Sampling.

MetaDB analizza le sole homepage dei siti web sottoposti a scansione.
Perchè così poche informazioni? Per raccogliere le informazioni di analisi statistica e censimento a cui MetaDB è interessato, basta una sola pagina del sito, per l'appunto la homepage.

Questo perchè MetaDB vuole analizzare solo i seguenti fattori:

  • Rapporti di parentela di alto livello tra i siti web (interlinking)
  • Server web in uso e relativo provider di Hosting
  • Pattern di utilizzo del codice HTML
  • Tipi di tecnologie utilizzate nel sito, e relativi metadati (es. tipo di template di Wordpress)

MetaDB parte da un insieme ristretto di siti web iniziale, che "dà il via" alle operazioni di analisi. Il gruppo di siti web iniziale sottoposto a scansione è un elenco di circa 1.250.000 siti web tra i più visitati al mondo.

Dopodichè, analizzando il codice HTML di ogni sito, MetaDB è in grado di verificare quali altri siti web vengono linkati direttamente con un tag <a>, o attraverso uno script, o attraverso un tag >link. Il relativo link viene "depurato", ossia, viene mantenuta la sola parte relativa al nome di dominio, e il nome di dominio viene inserito nella coda dei siti da sottoporre a scansione, se non è già in coda.

Questa operazione è detta Snowball Sampling e permette di creare una sorta di "mappa delle stelle" di tutti i siti web, dando abbastanza tempo al crawler di effettuare la scansione per tutti i siti in coda.

Il funzionamento di un web crawler

Perchè MetaDB ha così pochi siti analizzati rispetto al totale dei siti web mondiali?

Alcune fonti citano il fatto che esistano circa 400 milioni di siti web attivi e funzionanti e, per analizzare tutti questi siti, MetaDB avrebbe bisogno di:

  • Molta potenza di calcolo
  • Svariati worker di gathering del codice HTML dislocati in maniera intelligente tra i continenti
  • Accesso a database ufficiali e aggiornati di nomi dominio registrati, per ogni TLD
  • Molta capacità di storage, nell'ordine delle decine di Terabyte

La tecnica dello Snowball Sampling da sola non basta. Nel corso del tempo, in più tentativi successivi di far funzionare correttamente MetaDB, ci siamo accorti che si arrivava sempre ad un punto oltre il quale era impossibile determinare nuovi nomi a dominio da poter mettere in coda per l'analisi. E' per questo che questa tecnica è adatta solo per fare una analisi statistica di non probabilità (nonprobability sampling), che dia solo una idea di quello che accadrebbe se l'insieme (il "sample") fosse più vasto. In ogni caso, teniamo a sottolineare che i dati collezionati da MetaDB sono soggetti a un bias strutturale, in quanto i nomi a dominio messi in coda per l'analisi sono sempre in qualche modo collegati ai nodi padre. Questo può portare ad avere statistiche aggregate che si allontanano, in maniera ancora non nota, da una distrubuzione normalmente gaussiana.

Che cosa fa METADBot sul mio sito?

Quando METADBot esegue la scansione della Homepage del tuo sito web (sempre e solo la Homepage!), prende appunti sui link in uscita, sul codice HTML utilizzato, sul server di Hosting utilizzato, e sulle tecnologie utilizzate dal tuo sito, e li aggiunge al nostro database. Periodicamente esegue di nuovo la scansione del tuo sito Web per verificare lo stato corrente dei dati precedentemente trovati. Il nostro crawler non raccoglie o memorizza altre informazioni sul tuo sito web.

METADBot Non rallenta in nessun modo il tuo sito web e non attiva annunci pubblicitari (se presenti) e non influenza il traffico in entrata del tuo sito, non incidendo sui dati dei tuoi tool di analisi come ad esempio Google Analytics. Ricorda, METADBot effettua la scansione della sola Homepage del tuo sito. Qualche decina di Kilobyte, niente di più.

METADBot rispetta le direttive presenti sui file Robots.txt?

Assolutamente sì!

Prima di effettuare la scansione del codice HTML della Homepage del tuo sito, METADBot scarica il file robots.txt (se presente) sul tuo server, e, se disabilitato, non prosegue oltre.

METADBot si identifica sempre con lo user agent Mozilla/5.0 (compatible; METADBot/1.6; +https://metadb.co/en/how-it-works)

METADBot - Il Motore del Crawler di MetaDB

METADBot

  • Versione: 1.6
  • Tipologia Bot: Buono (identifica se stesso, sempre!)
  • Obbedisce ai file Robots.txt
  • User-agent: Mozilla/5.0 (compatible; METADBot/1.6; +https://metadb.co/en/how-it-works)

Quali tecnologie utilizza MetaDB per funzionare?

L'architettura di MetaDB è composta da più servizi che danno vita a questo sito web.

  • METADBot, il bot che effettua fisicamente il download dei codici sorgenti HTML dei domini target
  • MetaDB Core Analyzer, il cuore del progetto MetaDB, che effettua l'analisi statistica aggregata e salva i dati all'interno del database Mysql a supporto delle operazioni di analisi
  • MetaDB Api, un sistema Api semplice a supporto del sito pubblico https://metadb.co
  • https://metadb.co, questo sito web

Quali tecnologie utilizza MetaDB per funzionare? MetaDB Core Analyzer è stato scritto interamente in PHP e Perl. Il database utilizzato per l'analisi è MariaDB 10.3. Anche MetaDB Api sono state scritte in PHP, così come questo sito web, che utilizza PHP/CSS/jQuery

Quanto codice sorgente è stato scritto per MetaDB? Tutti i servizi sopra elencati a supporto di tutto ciò che fa funzionare MetaDB, contano collettivamente più di 45000 righe di codice sorgente, per circa 2MB di codice, con una lunghezza media di codice per linea di 78 caratteri.