Molte persone usano il termine big data in modo piuttosto commerciale , come mezzo per indicando che grandi set di dati sono coinvolti nel calcolo, e quindi le potenziali soluzioni devono avere buone prestazioni. Ovviamente, big data contiene sempre termini associati, come scalabilità ed efficienza, ma cosa definisce esattamente un problema come un problema di big data ?

il calcolo deve essere correlato a una serie di scopi specifici, come il data mining / recupero di informazioni, oppure un algoritmo per problemi di grafici generali potrebbe essere etichettato big data se il set di dati fosse abbastanza grande ? Inoltre, quanto grande è abbastanza grande (se è possibile definirlo)?

Commenti

  • Un bellarticolo su quando i tuoi dati iniziano a essere troppo grandi per il normale utilizzo chrisstucchio.com/blog/2013/hadoop_hatred.html
  • ” Anche qualsiasi cosa grande da caricare in Excel ” è lo scherzo in corso.
  • Dipende dal fatto che venga semplicemente lanciato come parola dordine.
  • ‘ è esattamente 1 GB. Questo ‘ è il limite nel libro delle regole. Non cè spazio per lambiguità.
  • Questa è unottima domanda. Come indicato dalla varietà di risposte, la definizione è … non definita

Risposta

Per me (in arrivo da uno sfondo di database relazionale), “Big Data” non riguarda principalmente la dimensione dei dati (che è la maggior parte delle altre risposte finora).

“Big Data” e “Bad Data” sono strettamente correlato. I database relazionali richiedono “dati incontaminati”. Se i dati sono nel database, sono accurati, puliti e affidabili al 100%. I database relazionali richiedono “ottimi dati” e unenorme quantità di tempo, denaro e responsabilità viene impiegata per assicurarsi che i dati siano ben preparati prima di caricarli nel database. Se i dati sono nel database, sono “gospel” e definiscono la comprensione della realtà da parte del sistema.

“Big Data” affronta questo problema dallaltra parte. I dati sono definiti male, molti di essi potrebbero essere imprecisi e molti di essi potrebbero in effetti mancare. La struttura e il layout dei dati sono lineari rispetto a quelli relazionali.

I Big Data devono avere un volume sufficiente in modo che la quantità di dati errati o mancanti diventi statisticamente insignificante. Quando gli errori nei tuoi dati sono abbastanza comuni da cancellarsi a vicenda, quando i dati mancanti sono proporzionalmente piccoli abbastanza da essere trascurabili e quando i tuoi requisiti di accesso ai dati e gli algoritmi sono funzionali anche con dati incompleti e imprecisi, allora hai “Big Data” .

“Big Data” non riguarda realmente il volume, ma le caratteristiche dei dati.

Commenti

  • +1 Apprezzo molto lo stress dato dai big data non riguardante qual è la dimensione , ma piuttosto qual è il contenuto (le caratteristiche di) .
  • Questa è una prospettiva molto rinfrescante. Non lho mai sentito prima, ma è molto vero. Ciò suggerisce che le tecnologie SQL e NoSQL non sono competitive, ma complementari.
  • ‘ stai parlando di dati non strutturati, non di big data. I dati non strutturati di solito portano a soluzioni NoSQL e big data nellapplicazione, ma sono ancora diversi.
  • Penso che questa sia una buona prospettiva aziendale di cosa siano i big data, ma non risponde alla domanda specifica che è abbastanza precisa ” quanto sono grandi i big data? ”

Risposta

Come giustamente noti, oggigiorno i “big data” sono qualcosa che tutti vogliono dire di “avere”, il che comporta una certa scioltezza nel modo in cui le persone definiscono il termine. In generale, però, io “Direi che hai sicuramente a che fare con big data se la scala è tale da non essere più fattibile da gestire con tecnologie più tradizionali come RDBMS, almeno senza integrarle con tecnologie big data come Hadoop.

Quanto devono essere effettivamente grandi i tuoi dati perché ciò avvenga è discutibile. Ecco un post del blog (alquanto provocatorio) che afferma che non è proprio così per meno di 5 TB di dati. (Per essere chiari, “non dichiara” Meno di 5 TB non è “big data”, ma solo “Meno di 5 TB non è abbastanza grande da richiedere Hadoop”.)

Ma anche su set di dati più piccoli, le tecnologie per big data come Hadoop possono avere altri vantaggi, tra cui essere ben adattate alle operazioni batch, giocare bene con dati non strutturati (così come dati la cui struttura non è nota in anticipo o potrebbe cambiare), scalabilità orizzontale (scalabilità di aggiungendo più nodi invece di rinforzare i tuoi server esistenti) e (come uno dei commentatori nelle note di post sopra collegate) la capacità di integrare lelaborazione dei dati con set di dati esterni (pensa a una mappa-reduce dove il mappatore fa un chiamata a un altro server).Altre tecnologie associate ai big data, come i database NoSql, enfatizzano prestazioni rapide e disponibilità costante mentre si tratta di grandi set di dati, oltre a essere in grado di gestire dati semi-non strutturati e di scalare orizzontalmente.

Ovviamente , gli RDBMS tradizionali hanno i propri vantaggi tra cui garanzie ACID (atomicità, coerenza, isolamento, durabilità) e prestazioni migliori per determinate operazioni, oltre ad essere più standardizzati, più maturi e (per molti utenti) più familiari. Quindi, anche per dati indiscutibilmente “grandi”, può avere senso caricare almeno una parte dei dati in un database SQL tradizionale e utilizzarlo insieme alle tecnologie dei big data.

Quindi, una definizione più generosa sarebbe che i big data siano sufficientemente grandi da consentire alle tecnologie dei big data di fornirti un valore aggiunto. Ma come puoi vedere, ciò può dipendere non solo dalla dimensione dei tuoi dati, ma da come desideri lavorare con esso e che tipo di requisiti hai in termini di flessibilità, coerenza e prestazioni. Come stai utilizzando i tuoi dati è più pertinente alla domanda rispetto a cosa li stai utilizzando (ad es. data mining). Detto questo, è più probabile che utilizzi come il data mining e lapprendimento automatico producano risultati utili se disponi di un set di dati sufficientemente grande con cui lavorare.

Commenti

  • Questo commento risale a quasi 5 anni fa e, sebbene in parte sia ancora vero, la soglia di 5 TB dal blog che ho citato non è certamente non è più vero. Ad esempio, Microsoft offre ” hyperscale ” DB SQL fino a 100 TB: docs.microsoft.com/en-us/azure/sql-database/… Naturalmente, si può presumere che molte organizzazioni con enormi DB SQL anche ho, diciamo, un cluster Spark per supportare diversi carichi di lavoro. ‘ nessuna regola devi scegliere luna o laltra.

Risposta

Quantità totale di dati nel mondo: 2,8 zetabyte nel 2012, stimata a raggiungere 8 zetabyte entro il 2015 ( sorgente ) e con un tempo raddoppiato di 40 mesi. Non può diventare più grande di così 🙂

Come esempio di ununica grande organizzazione, Facebook attira 500 terabyte al giorno, in un magazzino da 100 petabyte, e esegue 70.000 query al giorno su di esso a partire dal 2012 ( source ) Il loro magazzino attuale è> 300 petabyte.

I big data sono probabilmente qualcosa che è una buona frazione dei numeri di Facebook (1 / 100 probabilmente sì, 1/10000 probabilmente no: è “uno spettro, non un singolo numero).

Oltre alle dimensioni, alcune delle caratteristiche che lo rendono” grande “sono:

  • viene analizzato attivamente, non solo archiviato (citazione “Se non stai sfruttando i big data, allora non hai big data, hai solo un mucchio di dati” Jay Parikh @ Facebook)

  • costruire e gestire un data warehouse è un importante progetto infrastrutturale

  • sta crescendo a un ritmo significativo

  • non è strutturato o ha una struttura irregolare

Definizione di Gartner: “I big data sono volumi elevati, alta velocità e / o risorse informative di alta varietà che richiedono nuove forme di elaborazione “(Le 3V) Quindi pensano anche che la” grandezza “non riguardi interamente la dimensione del set di dati, ma anche la velocità, la struttura e il tipo di strumenti necessari.

Commenti

Answer

Per me i Big Data riguardano principalmente gli strumenti (dopotutto, è lì che sono iniziati); un “grande” set di dati è troppo grande per essere gestito con strumenti convenzionali, in particolare abbastanza grande da richiedere archiviazione ed elaborazione su un cluster anziché su una singola macchina. Ciò esclude un RDBMS convenzionale e richiede nuove tecniche per lelaborazione; in particolare, vari framework simili a Hadoop facilitano la distribuzione di un calcolo su un cluster, a costo di limitare la forma di questo calcolo. Seguirò il riferimento a http://www.chrisstucchio.com/blog/2013/hadoop_hatred.html ; le tecniche di Big Data sono lultima risorsa per set di dati semplicemente troppo grandi per gestire qualsiasi altro modo. Direi che qualsiasi set di dati per qualsiasi scopo potrebbe qualificarsi se fosse abbastanza grande, sebbene se la forma del problema è tale che gli strumenti di “big data” esistenti non sono appropriati, allora probabilmente sarebbe meglio per trovare un nuovo nome.

Ovviamente cè qualche sovrapposizione; quando ho lavorato (brevemente) su last.fm, abbiamo lavorato sullo stesso set di dati da 50 TB utilizzando Hadoop e anche in un database SQL su un server abbastanza ridicolo (ricordo che aveva 1 TB di RAM, e questo è di pochi anni fa). Il che in un certo senso significava che erano e non erano big data, a seconda del lavoro su cui stavi lavorando. Ma penso che sia una caratterizzazione accurata; le persone che hanno lavorato ai lavori Hadoop hanno trovato utile andare a conferenze e siti web sui Big Data, mentre le persone che hanno lavorato ai lavori SQL non lo hanno fatto.

Risposta

I dati diventano “grandi” quando un singolo computer commerciale non è più in grado di gestire la quantità di dati che hai. Denota il punto in cui devi iniziare a pensare alla creazione di supercomputer o allutilizzo di cluster per elaborare i tuoi dati.

Risposta

I Big Data sono definiti dal volume dei dati, è giusto, ma non solo. La particolarità dei Big Data è che devi memorizzare un lotti di vari e talvolta non strutturati cose tutte le volte e da tonnellate di sensori , di solito per anni o dieci anni .

Inoltre hai bisogno di qualcosa di scalabile, in modo che “non ti prenda sei mesi per ritrovare i dati.

Quindi ecco che arrivano i Big Data, dove il metodo tradizionale non funzionerà più. SQL non è scalabile. E SQL funziona con dati molto strutturati e collegati (con tutti quelle chiavi primarie ed esterne, innerjoin, richieste imbricate …).

Fondamentalmente, poiché larchiviazione diventa sempre più economica ei dati diventano sempre più preziosi, il grande manager chiede allingegnere di registrare tutto. Aggiungi a questo tonnellate di nuovi sensori con tutti quei dispositivi mobili, social network, roba incorporata … ecc. Quindi, poiché i metodi classici non funzionano, devono trovare nuove tecnologie (memorizzare tutto in file, in formato json, con un grande indice, ciò che chiamiamo noSQL).

Quindi i Big Data possono essere molto grandi ma possono essere non così grandi ma complessi, non strutturati o vari dati che devono essere archiviati rapidamente e in movimento in un formato non elaborato. Allinizio ci concentriamo e archiviamo, quindi vediamo come collegare tutto insieme.

Risposta

Condividerò come sono i Big Data nella genomica, in particolare lassemblaggio de-novo.

Quando sequenziamo il tuo genoma (ad esempio: rilevare nuovi geni), prendiamo miliardi di letture brevi di prossima generazione. Guarda limmagine qui sotto, dove proviamo a raccogliere alcune letture.

inserisci la descrizione dellimmagine qui

Sembra semplice? Ma cosa succede se hai miliardi di quelle letture? E se quelle letture contengono errori di sequenza? E se la tua RAM non dispone di memoria sufficiente per mantenere le letture? E le regioni ripetitive del DNA, come il comune Alu Element ?

Lassemblaggio de-novo viene eseguito costruendo un grafico De-Bruijn :

inserisci qui la descrizione dellimmagine

Il grafico è una struttura di dati estratta in modo intelligente per rappresentare letture sovrapposte. Non è perfetto ma “È meglio che generare tutte le possibili sovrapposizioni e memorizzarle in un array.

Il completamento del processo di assemblaggio potrebbe richiedere giorni, perché ci sono un certo numero di percorsi che un assemblatore dovrebbe attraversare e comprimere.

In genomica, hai un big data quando:

  • Non puoi “forzare brute tutte le combinazioni
  • Il tuo computer non ha abbastanza memoria fisica per memorizzare i dati
  • È necessario ridurre le dimensioni (ad esempio: comprimere percorsi di grafici ridondanti)
  • Ti arrabbi perché “dovresti aspetta giorni per fare qualsiasi cosa
  • Hai bisogno di una struttura dati speciale per rappresentare i dati
  • Devi filtrare il tuo set di dati per gli errori (ad esempio: errori di sequenza)

https://en.wikipedia.org/wiki/De_Bruijn_graph

Risposta

Cè una cosa speciale negli algoritmi grafici, le tue domande originali che lo rendono speciale, che riguarda la capacità di partizionare i dati essenzialmente.

Per alcune cose, come ordinare i numeri su un array, non è troppo difficile suddividere il problema sulla struttura dei dati in parti più piccole disgiuntive, ad es. Qui: ordinamento unione in posizione parallela

Per gli algoritmi di grafi, tuttavia, cè la sfida che trovare un partizionamento opzionale su una determinata metrica grafica è noto essere $ NP-hard $.

Quindi, anche se 10 GB di numeri da ordinare potrebbero essere un problema molto facilmente accessibile su un normale PC (puoi semplicemente entrare tramite la programmazione dinamica e avere unottima prevedibilità sul flusso del programma), lavorare con un grafico da 10 GB la struttura dei dati può già sfidare.

Ci sono un certo numero di framework specializzati come GraphX che utilizzano metodi e paradigmi informatici speciali per aggirare in qualche modo le sfide intrinseche dei grafici.

Quindi, per rispondere brevemente alla tua domanda: come accennato prima da altri, quando i tuoi dati non entrano nella memoria principale di un normale PC ma hai bisogno di tutto per rispondere al tuo problema, è un buon suggerimento che il tuo i dati sono già piuttosto grandi. Letichettatura esatta però dipende, credo, un po dalla struttura dei dati e dalla domanda posta.

Risposta

Penso che i big data inizino nel punto in cui la dimensione ti impedisce di fare quello che vuoi. Nella maggior parte degli scenari, esiste un limite al tempo di esecuzione considerato fattibile. In alcuni casi è di unora, in alcuni casi potrebbe essere di poche settimane. Finché i dati non sono abbastanza grandi da consentire lesecuzione solo degli algoritmi O (n) nel periodo di tempo possibile, non hai raggiunto i big data.

Mi piace questa definizione poiché è indipendente dal volume, livello tecnologico e algoritmi specifici. Non è indipendente dalle risorse, quindi uno studente laureato raggiungerà il punto di big data molto prima di Google.

Per poter quantificare la grandezza dei dati, mi piace considera il tempo necessario per eseguirne il backup. Poiché la tecnologia avanza, i volumi considerati grandi alcuni anni fa ora sono moderati. Il tempo di backup migliora, man mano che la tecnologia migliora, proprio come il tempo di esecuzione degli algoritmi di apprendimento. Penso che sia più sensato per parlare di un set di dati ci vogliono X ore per il backup e non di un set di dati di Y byte.

PS.

È importante notare che anche se hai raggiunto il punto dei big data e non puoi eseguire algoritmi di complessità più di O (n) in modo semplice, cè molto che puoi fare per beneficiare ancora di tale algoritmo s.

Ad esempio, la selezione di funzionalità può ridurre il numero di funzionalità da cui dipende il tempo di esecuzione di molti algoritmi. In molti la distribuzione della coda lunga potrebbe essere utile concentrarsi sui pochi elementi nella testa. Puoi utilizzare un campione ed eseguire su di esso gli algoritmi più lenti.

Commenti

Risposta

I dati sono “Big Data” se sono di un volume tale che è meno costoso analizzarli su due o più computer comuni, piuttosto che su un computer di fascia alta.

Questo è essenzialmente il modo in cui Google “s” BigFiles “ha avuto origine. Page e Brin non potevano permettersi un server Sun di fantasia per archiviare e cercare il loro indice web, quindi collegarono diversi computer comuni

Risposta

Tendo ad essere daccordo con quanto ha già detto @Dan Levin. In definitiva, dal momento che vogliamo trarre informazioni utili dai dati piuttosto che archiviarli, è il capacità di apprendimento di algoritmi / sistemi che dovrebbero determinare ciò che viene chiamato “Big data”. Man mano che i sistemi ML evolvono, ciò che oggi era Big Data non lo sarà più domani.

Un modo per definire i Big Data potrebbe essere:

  • Big data : dati sui quali non è possibile creare modelli ML in tempo ragionevole (1-2 ore) su una tipica workstation (con diciamo 4 GB di RAM)
  • Non-Big data : complemento di quanto sopra

Supponendo questa definizione, fintanto che la memoria occupata da una singola riga (tutte le variabili per un singolo punto dati) non supera la RAM della macchina dovremmo essere nella sezione Non-big data regime.

Nota: Vowpal Wabbit (di gran lunga il sistema ML più veloce fino ad oggi) può apprendere su qualsiasi set di dati purché una singola riga (punto dati) sia < RAM (ad esempio 4 GB) . Il numero di righe non è una limitazione perché utilizza SGD su più core. Parlando per esperienza puoi addestrare un modello con 10.000 funzioni e 10 milioni di righe su un laptop in un giorno.

Risposta

“Grande dati “sono letteralmente solo molti dati. Sebbene sia più un termine di marketing che altro, limplicazione di solito è che hai così tanti dati che non puoi analizzare tutti i dati in una volta perché la quantità di memoria (RAM) necessaria per contenere i dati la memoria da elaborare e analizzare è maggiore della quantità di memoria disponibile.

Ciò significa che le analisi di solito devono essere eseguite su segmenti casuali di dati, il che consente di costruire modelli per il confronto con altre parti dei dati.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *