
Så väljer du det bästa filformatet för big data
Senast uppdaterad
Att hantera stora datamängder innebär särskilda utmaningar. Lagring av big data kostar mer, och databehandling medför extra kostnader för nätverk, CPU och I/O. Generellt gäller att ju större datamängden är, desto högre blir kostnaderna för lagring och bearbetning.
Men först börjar vi med grunderna.
Vad är big data?
Big data är en blandning av strukturerade, semistrukturerade eller ostrukturerade data som samlas in av företag.
Det finns inget idealiskt format som passar alla användningsfall. Mindre och snabbare datastrukturer är mer fördelaktiga för appar för affärsanalys. När det gäller datahantering behöver moderna appar och affärsanalys processer som hjälper dem att omvandla data till de lämpligaste filformaten.
De populäraste filformaten för analys av big data är Avro, JSON, Parquet och CSV.
Så vad bör du tänka på när du väljer filformat?
- Läsbarhet.
- Skrivtid och datastrukturens komplexitet.
- Stöd för komprimering.
- Stöd för schemaändringar.
- Möjlighet att dela upp filer.
Nu när vi har gått igenom grunderna kan vi titta närmare på filformaten.
JSON
JavaScript Object Notation (JSON) är oftast förstahandsvalet för kommunikation på webben. Varför har det blivit standardformatet i praktiken?
För det första gör den goda läsbarheten det enkelt att överföra data i appar. För det andra stöder det komplexa och nästlade datastrukturer. För det tredje ger det mycket mindre dokument. Slutligen kan du enkelt integrera det med molnteknik, IoT och mobilappar.
Det används ofta i NoSQL-databaser som Couchbase, Cassandra, Azure Cosmos DB, Amazon DynamoDB och MongoDB.
Fördelar med JSON
- De flesta språk har inbyggt stöd för JSON med bibliotek som förenklar serialisering och deserialisering.
- Det stöder hierarkiska strukturer, vilket förenklar lagring av data i ett enda dokument och presentation av komplexa relationer.
- Det stöder objektlistor.
- De flesta moderna verktyg har inbyggt stöd för JSON.
Nackdelar
- Det är inte det bästa formatet för att analysera och lagra data, eftersom det ofta leder till sämre prestanda.
- Det är ett radorienterat format, vilket ger sämre komprimeringsgrad än kolumnorienterade format.
- Varje post innehåller metadata, vilket ger en mycket större datavolym jämfört med andra format.
CSV
CSV-filer (Comma Separated Values) är, precis som JSON, radbaserade format. De är populära för utbyte av tabelldata mellan system med hjälp av vanlig text. Därför är formatet en favorit bland dem som arbetar mycket med kalkylblad.
Det används ofta i konsumentappar, vetenskapliga program och affärsapplikationer eftersom det är enkelt att dela data.
Fördelar med CSV
- Det är läsbart för människor och mycket enkelt att redigera manuellt.
- Schemat är enkelt och tydligt.
- Nästan alla program kan bearbeta CSV.
- Det är enkelt att tolka och implementera.
Nackdelar
- Stödet för specialtecken och kolumntyper är bristfälligt.
- Det finns ingen standardmetod för att representera binära data.
- Det är svårt att importera CSV-filer eftersom det inte finns någon tydlig skillnad mellan citattecken och NULL.
- Du kan inte arbeta med komplexa strukturer.
Parquet
Det är relativt nytt jämfört med de två stora formaten ovan. Det lanserades 2013 och lagrar nästlade data i ett kolumnbaserat format. Det gör det mycket effektivt när det gäller prestanda och datalagring.
Utvecklarna bakom Parquet säger att det är det bästa formatet för utmaningar med big data. Det är optimerat för WORM (Write Once Read Many). Om du behöver läsa stora datamängder är Parquet ett riktigt bra val. Ja, det är svårt att skriva, men mycket enkelt att läsa.
Det passar bäst för datalagerlösningar med stora datamängder.
Fördelar med Parquet
- Komprimeringsgraden är mycket imponerande. Upp till 75 %.
- Eftersom det är ett kolumnbaserat format minskar det disk-I/O.
- Det är det snabbaste formatet för arbetsflöden som läser data.
- Filerna är mycket enkla att arbeta med eftersom du smidigt kan säkerhetskopiera, flytta och replikera dem.
Nackdelar
- Förutom Spark finns det inga andra verktyg som stöder det här filformatet.
- Det stöder inte schemaändringar eller ändringar av data.
Avro
Avro lanserades av Hadoop 2009 och är ett radbaserat format som är lätt att dela upp och används som en plattform för serialisering. Det är mycket effektivt och kompakt eftersom det lagrar data i binärt format.
Nästan alla programmeringsspråk kan bearbeta det: Java, C, C + +, Ruby, Python och C#.
Avros schema lagras i JSON, så det är enkelt att läsa och tolka. Du kan enkelt uppdatera dess komponenter.
Fördelar med Avro
- Det har mycket hög prestanda eftersom det är lättviktigt och ger snabb serialisering och deserialisering av data.
- Avro är lätt att dela upp och komprimera, vilket gör det till ett bra filformat för datalagring.
Sammanfattning
CSV är det snabbaste formatet att skriva, medan JSON är det mest lättlästa för människor. Parquet är snabbt när du läser ett urval av kolumner, och Avro är snabbt när du läser alla kolumner på en gång.
De mest optimerade filformaten för big data är Avro och Parquet. De har utmärkt komprimering, är lätta att dela upp och stöder komplexa datastrukturer. Däremot lämnar skrivning och läsbarhet en del att önska.
