Programmering

De 10 værste big data-fremgangsmåder

Ja, du kan risikere store data. Du kan dog risikere det på den rigtige eller den forkerte måde. Her er de top 10 værste fremgangsmåder, der skal undgås.

1. Valg af MongoDB som din big data-platform. Hvorfor vælger jeg på MongoDB? Jeg er det ikke, men uanset årsag er NoSQL-databasen, der er mest misbrugt på dette tidspunkt, MongoDB. Mens MongoDB har en sammenlægningsramme, der smager som MapReduce og endda et (meget dårligt dokumenteret) Hadoop-stik, er dets søde plet som en operativ database, ikke et analytisk system.

[Andrew C. Oliver besvarer spørgsmålet i alles sind: Hvilken freaking database skal jeg bruge? | Også på: Tiden til NoSQL-standarder er nu | Få en fordøjelse af nøglehistorierne hver dag i det daglige nyhedsbrev. ]

Når din sætning begynder, "Vi bruger Mongo til at analysere ...", stop lige der og tænk på, hvad du laver. Nogle gange mener du virkelig "indsamle til senere analyse", hvilket måske er OK, afhængigt af hvad du laver. Men hvis du virkelig mener, at du skal bruge MongoDB som en slags syg datalagerteknologi, kan dit projekt være dømt i starten.

2. Brug af RDBMS-skema som filer. Ja, du dumpede hver tabel fra din RDBMS i en fil. Du planlægger at gemme det på HDFS. Du planlægger at bruge Hive på det.

Først og fremmest ved du, at Hive er langsommere end din RDBMS for noget normalt, ikke? Det vil MapReduce endda et simpelt valg. Se på den "optimerede" rute for "tabel" sammenføjninger. Lad os derefter se på række størrelser - whaddaya ved, du har flade filer målt i encifrede kilobyte. Hadoop klarer sig bedst på store sæt relativt flade data. Jeg er sikker på, at du kan oprette et ekstrakt, der er mere denormaliseret.

3. Oprettelse af datadamme. På din vej til at oprette en datasø tog du en afbrydelse af en anden overføring og oprettede en række datadamme. Conways lov er slået til igen, og du har ladet hver forretningsgruppe ikke kun oprette deres egen analyse af dataene, men deres egne mini-repositories. Det lyder ikke dårligt i starten, men med forskellige uddrag og måder at skære og skære data på, ender du med forskellige visninger af dataene. Jeg mener ikke flad versus terning - jeg mener forskellige svar på nogle af de samme spørgsmål. Skema ved læsning betyder ikke "planlæg slet ikke", men det betyder "planlæg ikke alle spørgsmål, du måtte stille."

Ikke desto mindre skal du planlægge det store billede. Hvis du sælger widgets, er der en god chance for, at nogen vil se, hvor mange, til hvem og hvor ofte du har solgt widgets. Gå videre og få det i de almindelige formater, og lav et lille design for at sikre, at du ikke ender med datadamme og vandpytter, der ejes af hver enkelt forretningsgruppe.

4. Manglende udvikling af sandsynlige brugssager. Ideen om datasøen sælges af leverandører for at erstatte sager med reel brug. (Det er også en måde at undgå begrænsningerne i afdelingens finansiering.) Data-lake-tilgangen kan være gyldig, men du skal have faktiske brugssager i tankerne. Det er ikke svært at komme dem op i de fleste mellemstore virksomheder til store virksomheder. Start med at gennemgå, når nogen sidst sagde: "Nej, vi kan ikke, fordi databasen ikke kan håndtere det." Gå derefter videre til "duh." For eksempel skulle "forretningsudvikling" ikke kun være en titulær forfremmelse for din topsælger; det skal betyde noget.

Hvad med f.eks. At bruge Mahout til at finde kundeordrer, der er almindelige afvigende? I de fleste virksomheder ligner de fleste kundeordrer hinanden. Men hvad med de ordrer, der sker ofte nok, men ikke stemmer overens med almindelige ordrer? Disse kan være for små til, at sælgere kan bekymre sig om, men de kan indikere en fremtidig branche for din virksomhed (dvs. faktisk forretningsudvikling). Hvis du ikke kan tromme mindst et par gode virkelige anvendelser til Hadoop, har du måske ikke brug for det trods alt.

5. Thinking Hive er alt-i-et-alt. Du kender SQL. Du kan lide SQL. Du har lavet SQL. Jeg forstår det, mand, men måske kan du også vokse? Måske skulle du nå dybt ned i et årti eller tre og huske det unge barn, der lærte SQL og så de verdener, det åbnede sig for ham. Forestil dig nu, at han lærer en anden ting på samme tid.