Semistrukturerte data har en viss organisering, men passer ikke pent inn i tabeller. JSON-, XML-, YAML- og e-postoverskrifter faller alle inn under denne kategorien. Dataene har tagger eller nøkler som beskriver strukturen, men strukturen kan variere fra post til post. Ett JSON-objekt kan ha et felt som et annet mangler. Ett XML-dokument kan neste elementer annerledes enn det neste. Skjemaet er fleksibelt, noen ganger kalt schema-on-read. Du bruker struktur når du spør på dataene, ikke når du lagrer dem.
Semistrukturerte data er vanlige i moderne applikasjoner. API-er returnerer JSON. Loggfiler bruker nøkkelverdipar. Konfigurasjonsfiler bruker YAML. NoSQL-dokumentdatabaser lagrer JSON innebygd. Fleksibiliteten er nyttig når datamodellen utvikler seg eller varierer. Det er også en utfordring for analyse. Spørring av semistrukturerte data krever andre verktøy og teknikker enn spørring av tabeller. Du må navigere i nestede strukturer, håndtere manglende felt og flate ut arrayer. SQL-motorer har tilpasset seg. PostgreSQL, MySQL og Snowflake støtter alle JSON-funksjoner. Du kan spørre i JSON-dokumenter uten å trekke dem ut først. Denne uskarpheten mellom strukturerte og semistrukturerte data gjør skillet mindre relevant. Det viktige spørsmålet er ikke om data er semistrukturerte. Det er om du kan spørre dem effektivt.
Semistrukturerte formater
- JSON — nøkkelverdipar, arrayer, nestede objekter
- XML — merkede elementer, hierarkiske
- YAML — menneskelig lesbar konfigurasjon
- CSV — avgrenset, men ingen typeinformasjon
- Loggfiler – tidsstemplede hendelser med variable felt
Semistrukturerte data er middelveien. De har nok struktur til å være nyttige og nok fleksibilitet til å være rotete.
Comments (2)
Leave a comment