Mange bruger udtrykket big data på en temmelig kommerciel måde som et middel til hvilket indikerer, at store datasæt er involveret i beregningen, og derfor skal potentielle løsninger have god ydeevne. Selvfølgelig bærer big data altid tilknyttede udtryk som skalerbarhed og effektivitet, men hvad definerer et problem præcist som et big data problem?
Gør det beregning skal være relateret til nogle sæt specifikke formål, som data mining / informationssøgning, eller kan en algoritme til generelle grafproblemer mærkes big data hvis datasættet var stort nok ? Også, hvordan stor er stor nok (hvis dette er muligt at definere)?
Kommentarer
- En dejlig artikel om, hvornår dine data begynder at være for store til normal brug chrisstucchio.com/blog/2013/hadoop_hatred.html
- ” Alt andet stort at indlæse i Excel ” er den kørende vittighed.
- Det afhænger af, om det bare smides ind som et buzzword.
- Det ‘ er nøjagtigt 1 GB. At ‘ er afskæringen i regelbogen. Der er ikke plads til tvetydighed.
- Dette er et fremragende spørgsmål. Som angivet med forskellige svar, er definitionen … udefineret
Svar
Til mig (kommer fra en relationel databasebaggrund) handler “Big Data” ikke primært om datastørrelsen (hvilket er hovedparten af det, de andre svar hidtil er).
“Big Data” og “Bad Data” er nært beslægtet. Relationsdatabaser kræver “uberørte data”. Hvis dataene er i databasen, er de nøjagtige, rene og 100% pålidelige. Relationsdatabaser kræver “store data”, og der lægges en enorm mængde tid, penge og ansvarlighed på for at sikre, at dataene er godt forberedt, inden de indlæses i databasen. Hvis dataene er i databasen, er det “gospel”, og det definerer systemets forståelse af virkeligheden.
“Big Data” tackler dette problem fra den anden retning. Dataene er dårligt defineret, meget af dem kan være unøjagtige, og meget af dem mangler faktisk. Datastrukturen og layoutet er lineær i modsætning til relationel.
Big Data skal have nok volumen, så mængden af dårlige data eller manglende data bliver statistisk ubetydelig. Når fejlene i dine data er almindelige nok til at annullere hinanden, når de manglende data er forholdsmæssigt små nok til at være ubetydelige, og når dine dataadgangskrav og algoritmer er funktionelle, selv med ufuldstændige og unøjagtige data, har du “Big Data” .
“Big Data” handler ikke rigtig om lydstyrken, det handler om dataens egenskaber.
Kommentarer
- +1 Jeg sætter stor pris på stresset ved, at big data ikke handler om hvad der er størrelse , og snarere om hvad der er indholdet (egenskaber ved) .
- Det er et meget forfriskende perspektiv. Jeg har aldrig hørt dette før, men det er meget sandt. Dette antyder, at SQL- og NoSQL-teknologier ikke er konkurrencedygtige, men supplerende.
- Du ‘ taler om ustrukturerede data, ikke big data. Ustrukturerede data fører normalt til NoSQL-løsninger og big data i applikationen, men de er stadig forskellige.
- Jeg synes, det er et godt forretningsperspektiv på, hvad big data er, men svarer ikke på det specifikke spørgsmål, som er ret spids ” hvor stor er big data? ”
Svar
Som du med rette bemærker, er “big data” i disse dage noget, som alle vil sige, at de har fået, hvilket indebærer en vis løshed i, hvordan folk definerer udtrykket. Generelt set “d siger du” helt sikkert beskæftiger dig med big data, hvis skalaen er sådan, at det ikke længere er muligt at administrere med mere traditionelle teknologier som RDBMS, i det mindste uden at supplere dem med big data-teknologier som Hadoop.
Hvor stor dine data faktisk skal være for at det skal være tilfældet, kan diskuteres. Her er et (noget provokerende) blogindlæg , der hævder, at det egentlig ikke er tilfældet for mindre end 5 TB data. (For at være klar, hævder det ikke “Mindre end 5 TB er ikke” store data “, men bare” Mindre end 5 TB er ikke “stort nok til, at du har brug for Hadoop”.)
Men selv på mindre datasæt kan big data-teknologier som Hadoop have andre fordele, herunder at være velegnet til batchoperationer, spille godt med ustrukturerede data (såvel som data, hvis struktur ikke er kendt på forhånd eller kunne ændre sig), vandret skalerbarhed (skalering efter tilføje flere noder i stedet for at styrke dine eksisterende servere), og (som en af kommentatorerne til de ovennævnte linkede noter) muligheden for at integrere din databehandling med eksterne datasæt (tænk på en kortreduktion, hvor kortlæggeren laver en opkald til en anden server).Andre teknologier forbundet med big data, som NoSql-databaser, understreger hurtig ydeevne og ensartet tilgængelighed, mens de beskæftiger sig med store datasæt, samt er i stand til at håndtere semi-ustrukturerede data og skalere vandret. , traditionelle RDBMS har deres egne fordele, herunder ACID-garantier (Atomicitet, Konsistens, Isolering, Holdbarhed) og bedre ydeevne til visse operationer, samt at de er mere standardiserede, mere modne og (for mange brugere) mere velkendte. Så selv for utvivlsomt “store” data kan det være fornuftigt at indlæse mindst en del af dine data i en traditionel SQL-database og bruge det i forbindelse med big data-teknologier.
Så en mere generøs definition ville være, at du har big data, så længe det er stort nok til, at big data-teknologier giver dig en merværdi. Men som du kan se, kan det ikke kun afhænge af størrelsen på dine data, men af hvordan du vil arbejde med det og hvilke slags krav du har med hensyn til fleksibilitet, konsistens og ydeevne. Hvordan du bruger dine data er mere relevant for spørgsmålet end hvad du bruger det til (f.eks. data mining). Når det er sagt, er anvendelser som data mining og machine learning mere tilbøjelige til at give nyttige resultater, hvis du har et stort nok datasæt til at arbejde med.
Kommentarer
- Denne kommentar er næsten 5 år gammel, og mens dele af den stadig er sand, er tærsklen på 5 TB fra den blog, jeg citerede, bestemt ikke ikke længere sandt. For eksempel tilbyder Microsoft ” hyperscale ” SQL-DBer på op til 100 TB: docs.microsoft.com/en-us/azure/sql-database/… Man kan selvfølgelig antage mange organisationer med enorme SQL DBer også Jeg har f.eks. en Spark-klynge, der understøtter forskellige arbejdsbelastninger. Der ‘ er ingen regel, du skal vælge den ene eller den anden.
Svar
Samlet datamængde i verden: 2,8 zetabyte i 2012, anslås at nå op på 8 zetabyte inden 2015 ( kilde ) og med en fordoblingstid på 40 måneder. Kan ikke blive større end det 🙂
Som et eksempel på en enkelt stor organisation trækker Facebook 500 terabyte om dagen ind i et 100 petabyte lager og kører 70.000 forespørgsler om dagen på det fra 2012 ( kilde ) Deres nuværende lager er> 300 petabyte.
Store data er sandsynligvis noget, der er en god del af Facebook-numrene (1 / 100 sandsynligvis ja, 1/10000 sandsynligvis ikke: det “er et spektrum ikke et enkelt tal).
Ud over størrelsen er nogle af de funktioner, der gør det” stort “:
-
det analyseres aktivt, ikke kun gemt (citat “Hvis du ikke udnytter big data, så har du ikke store data, du har bare en bunke data” Jay Parikh @ Facebook)
-
opbygning og drift af et datalager er et stort infrastrukturprojekt
-
det vokser i en betydelig hastighed
-
det er ustruktureret eller har uregelmæssig struktur
Definition af Gartner: “Big data er højt volumen, høj hastighed og / eller informationsaktiver med stor variation, der kræver nye former for behandling “(The 3Vs) Så de synes også, at” bigness “ikke helt handler om størrelsen på datasættet, men også om hastigheden og strukturen og den slags værktøjer, der er behov for.
Kommentarer
- Hvis den samlede mængde data i verden fordobles hver 40. måned, så kan den bestemt blive større end at. ; p
- Andre beskriver 4 V ‘ s af store data IBM eller endda 5 V ‘ s DAVE BEULKE 2011
- Den originale 3 V ‘ blev angivet i 2001 af Doug Laney 3D-datastyring: styring af datamængde, hastighed og variation .
Svar
For mig handler Big Data primært om værktøjerne (trods alt det er hvor det startede); et “stort” datasæt er en, der er for stor til at blive håndteret med konventionelle værktøjer – især stor nok til at kræve opbevaring og behandling på en klynge snarere end en enkelt maskine. Dette udelukker en konventionel RDBMS og kræver nye teknikker til behandling; især forskellige Hadoop-lignende rammer gør det let at distribuere en beregning over en klynge på bekostning af at begrænse formen til denne beregning. Jeg vil henvise til http://www.chrisstucchio.com/blog/2013/hadoop_hatred.html ; Big Data-teknikker er en sidste udvej for datasæt, der simpelthen er for store at håndtere andre måder. Jeg vil sige, at ethvert datasæt til ethvert formål kunne kvalificeres, hvis det var stort nok – men hvis formen på problemet er sådan, at eksisterende “big data” -værktøjer ikke er passende, ville det sandsynligvis være bedre at komme med et nyt navn.
Selvfølgelig er der en vis overlapning; da jeg (kort) arbejdede på last.fm, arbejdede vi på det samme 50 TB datasæt ved hjælp af Hadoop og også i en SQL-database på en ret latterlig server (jeg kan huske, at den havde 1 TB RAM, og dette er for et par år siden). Hvilket på en måde betød, at det både var og ikke var big data, afhængigt af hvilket job du arbejdede på. Men jeg synes, det er en nøjagtig karakterisering; de mennesker, der arbejdede på Hadoop-jobbet, fandt det nyttigt at gå til Big Data-konferencer og websteder, mens de mennesker, der arbejdede på SQL-jobene, ikke gjorde det.
Svar
Data bliver “store”, når en enkelt handelscomputer ikke længere kan håndtere den mængde data, du har. Det angiver punkt, hvor du skal begynde at tænke på at opbygge supercomputere eller bruge klynger til at behandle dine data.
Svar
Big Data er defineret efter datamængden er det rigtigt, men ikke kun. Specificiteten ved store data er, at du skal gemme en partier af forskellige og undertiden ustrukturerede stuffs hele tiden og fra en tonsvis af sensorer i år eller årti .
Desuden har du brug for noget skalerbart, så det ikke tager dig et halvt år for at finde data tilbage.
Så her kommer Big Data, hvor traditionel metode ikke længere fungerer. SQL er ikke skalerbar. Og SQL fungerer med meget strukturerede og sammenkædede data (med alle disse primære og udenlandske nøgle rod, indre sammenføjning, imbriceret anmodning …).
Dybest set fordi lagring bliver billigere og billigere og data bliver mere og mere værdifuld, beder stor manager ingeniøren om at registrere alt. disse masser af nye sensorer med alle de mobile, sociale netværk, indlejrede ting … osv. Da klassiske metoder ikke fungerer, er de nødt til at finde nye teknologier (lagring af alt i filer i json-format med stort indeks, hvad vi kalder noSQL).
Så Big Data kan være meget store, men kan ikke være så stort, men kompleks ustruktureret eller forskellige data, som skal gemmes hurtigt og på farten i et råformat. Vi fokuserer og lagrer først, og så ser vi på, hvordan man forbinder alt sammen.
Svar
Jeg vil dele, hvordan Big Data er i genomik, især de-novo-samling.
Hvornår vi sekvenserer dit genom (f.eks. detekterer nye gener), vi tager milliarder af næste generations korte læsninger. Se på billedet nedenfor, hvor vi prøver at samle nogle læsninger.
Dette ser simpelt ud? Men hvad nu hvis du har milliarder af disse læsninger? Hvad hvis disse læsninger indeholder sekvensfejl? Hvad hvis din RAM ikke har nok hukommelse til at holde læsningerne? Hvad med gentagne DNA-regioner, såsom det meget almindelige Alu Element ?
De-novo-samling sker ved at konstruere en De-Bruijn-graf :
Grafen er en smart-minedatastruktur, der repræsenterer overlappende læsninger. Det er ikke perfekt, men det “bedre end at generere alle mulige overlapninger og gemme dem i en matrix.
Samlingsprocessen kan tage dage at gennemføre, fordi der er et stort antal stier, som en samler har brug for at krydse og kollapse.
I genomik har du store data, når:
- Du kan ikke tvinge alle kombinationer
- Din computer har ikke nok fysisk hukommelse at gemme dataene
- Du skal reducere dimensionerne (f.eks. kollaps af overflødige grafstier)
- Du bliver sur på grund af at du skulle ventedage for at gøre noget
- Du har brug for en speciel datastruktur til at repræsentere dataene
- Du skal filtrere dit datasæt for fejl (f.eks. sekventeringsfejl)
Svar
Der er en speciel ting ved at tegne algoritmer, du originale spørgsmål, der gør det specielt, hvilket handler om evnen til i det væsentlige at opdele dataene.
For nogle ting, som at sortere numre på en matrix, er det ikke for svært at opdele problemet på datastrukturen i mindre disjunktive stykker, f.eks. Her: Parallel på plads flettsortering
For grafalgoritmer er der dog udfordringen at finde en valgfri partitionering på en given grafisk metric er kendt at være $ NP-hård $.
Så mens 10 GB numre, der skal sorteres, kan være et meget tilgængeligt problem på en normal pc (du kan bare gå ind via dynamisk programmering og have meget god forudsigelighed om programflowet), mens du arbejder med en 10 GB-graf datastruktur kan allerede ved at udfordre.
Der er en række specialiserede rammer såsom GraphX ved hjælp af metoder og specielle databehandlingsparadigmer for at omgå de iboende udfordringer ved grafer.
Så for at besvare dit spørgsmål kort: Som nævnt af andre, når dine data ikke passer ind i hovedhukommelsen på en normal pc, men du har brug for det hele for at besvare dit problem, er det et godt tip, at din data er allerede noget store. Den nøjagtige mærkning afhænger dog af, at jeg tænker lidt på datastrukturen og det stillede spørgsmål.
Svar
Jeg tror, at big data starter på det punkt, hvor størrelsen forhindrer dig i at gøre, hvad du vil. I de fleste scenarier er der en grænse for den driftstid, der anses for gennemførlig. I nogle tilfælde er det en time, i nogle tilfælde kan det være få uger. Så længe dataene ikke er store nok til, at kun O (n) algoritmer kan køre i den mulige tidsramme, nåede du ikke store data.
Jeg kan godt lide denne definition, da den er agnostisk til volumen, teknologiniveau og specifikke algoritmer. Det er ikke agnostisk for ressourcer, så en studerende vil nå punktet med big data før Google.
For at kunne kvantificere, hvor stor data er, kan jeg godt lide at overvej den nødvendige tid til at tage backup af den. Da teknologien skrider frem, er mængder, der blev betragtet som store for nogle år siden, nu moderat. Backup-tiden forbedres, efterhånden som teknologien forbedres, ligesom læringens algoritmers driftstid. Jeg føler, det er mere fornuftigt at tale om et datasæt, det tager X timer at tage backup og ikke et datasæt med Y-byte.
PS.
Det er vigtigt at bemærke, at selvom du nåede det store datapunkt og du kan ikke køre algoritmer af kompleksitet mere end O (n) ligetil, der er masser du kan gøre for stadig at drage fordel af en sådan algoritme s.
F.eks. kan funktionsvalg reducere antallet af funktioner, som mange algoritmers driftstid afhænger af. I mange lange halefordelinger, der fokuserer på de få ting i hovedet, kan det være en fordel. Du kan bruge en prøve og køre på den langsommere algoritmer.
Kommentarer
- Bemærk, at $ O (n) $ -barrieren også er blevet brudt nu i nogle ML-domæner. Se [ grigory.us/mpc-workshop-dimacs.html] for Workshop om sublinear algoritmer for ML [1]: grigory.us/mpc-workshop-dimacs.html
Svar
Data er “Big Data”, hvis de har et sådant volumen, at det er billigere at analysere dem på to eller flere handelscomputere end på en avanceret computer.
Dette er i det væsentlige, hvordan Google “s” BigFiles “-filsystemet stammer fra. Page og Brin havde ikke råd til en fancy Sun-server til at gemme og søge i deres webindeks, så de tilsluttede flere råvarecomputere
Svar
Jeg er tilbøjelig til at være enig i, hvad @Dan Levin allerede har sagt. I sidste ende, da vi ønsker at hente nyttige indsigter fra dataene i stedet for bare at gemme dem, er det evne til at lære algoritmer / systemer som skal bestemme hvad der kaldes “Big data”. Efterhånden som ML-systemer udvikler sig, hvad der var Big data i dag, vil det ikke længere være Big Data i morgen.
En måde at definere Big data på kunne være:
- Big data : Data, som du ikke kan bygge ML-modeller på rimelig tid (1-2 timer) på en typisk arbejdsstation (med f.eks. 4 GB RAM)
- Ikke-store data : supplement til ovenstående
Under forudsætning af denne definition, så længe hukommelsen optaget af en individuel række (alle variabler for et enkelt datapunkt) ikke overstiger maskinens RAM, skal vi være i Ikke-store data regime.
Bemærk: Vowpal Wabbit (langt det hurtigste ML-system i dag) kan lære om ethvert datasæt, så længe en individuel række (datapunkt) er < RAM (siger 4 GB) Antallet af rækker er ikke en begrænsning fordi det bruger SGD på flere kerner. Når man taler af erfaring, kan du træne en model med 10k funktioner og 10MN rækker på en bærbar computer på en dag.
Svar
“Big data “er bogstaveligt talt bare en masse data. Selvom det er mere et markedsføringsudtryk end noget andet, betyder det normalt, at du har så meget data, at du ikke kan analysere alle dataene på én gang, fordi den mængde hukommelse (RAM), det tager at holde dataene inde i hukommelse til at behandle og analysere den er større end mængden af tilgængelig hukommelse.
Dette betyder, at analyser normalt skal udføres på tilfældige segmenter af data, hvilket gør det muligt at opbygge modeller til sammenligning med andre dele af dataene.