|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago |
README.md
Arbeide med data: Ikke-relasjonelle data
![]() |
---|
Arbeide med NoSQL-data - Sketchnote av @nitya |
Quiz før forelesning
Data er ikke begrenset til relasjonsdatabaser. Denne leksjonen fokuserer på ikke-relasjonelle data og vil dekke det grunnleggende om regneark og NoSQL.
Regneark
Regneark er en populær måte å lagre og utforske data på fordi det krever mindre arbeid for å sette opp og komme i gang. I denne leksjonen vil du lære de grunnleggende komponentene i et regneark, samt formler og funksjoner. Eksemplene vil bli illustrert med Microsoft Excel, men de fleste delene og temaene vil ha lignende navn og trinn sammenlignet med andre regnearkprogrammer.
Et regneark er en fil og vil være tilgjengelig i filsystemet på en datamaskin, enhet eller skybasert filsystem. Selve programvaren kan være nettleserbasert eller en applikasjon som må installeres på en datamaskin eller lastes ned som en app. I Excel defineres disse filene også som arbeidsbøker, og denne terminologien vil bli brukt resten av denne leksjonen.
En arbeidsbok inneholder ett eller flere regneark, der hvert regneark er merket med faner. Innenfor et regneark er det rektangler kalt celler, som inneholder selve dataene. En celle er skjæringspunktet mellom en rad og en kolonne, der kolonnene er merket med alfabetiske tegn og radene er merket numerisk. Noen regneark vil inneholde overskrifter i de første radene for å beskrive dataene i en celle.
Med disse grunnleggende elementene i en Excel-arbeidsbok vil vi bruke et eksempel fra Microsoft Templates fokusert på et lager for å gå gjennom noen flere deler av et regneark.
Administrere et lager
Regnearkfilen kalt "InventoryExample" er et formatert regneark med elementer i et lager som inneholder tre regneark, der fanene er merket "Inventory List", "Inventory Pick List" og "Bin Lookup". Rad 4 i regnearket Inventory List er overskriften, som beskriver verdien av hver celle i overskriftskolonnen.
Det finnes tilfeller der en celle er avhengig av verdiene i andre celler for å generere sin verdi. Lagerlisten holder oversikt over kostnaden for hver vare i lageret, men hva om vi trenger å vite verdien av alt i lageret? Formler utfører handlinger på celldata og brukes til å beregne lagerverdien i dette eksemplet. Dette regnearket brukte en formel i kolonnen Inventory Value for å beregne verdien av hver vare ved å multiplisere mengden under overskriften QTY og kostnadene under overskriften COST. Ved å dobbeltklikke eller markere en celle vil du se formelen. Du vil legge merke til at formler starter med et likhetstegn, etterfulgt av beregningen eller operasjonen.
Vi kan bruke en annen formel for å legge sammen alle verdiene i Inventory Value for å få totalverdien. Dette kan beregnes ved å legge til hver celle for å generere summen, men det kan være en tidkrevende oppgave. Excel har funksjoner, eller forhåndsdefinerte formler for å utføre beregninger på celldata. Funksjoner krever argumenter, som er de nødvendige verdiene som brukes til å utføre disse beregningene. Når funksjoner krever mer enn ett argument, må de listes opp i en bestemt rekkefølge, ellers kan funksjonen beregne feil verdi. Dette eksemplet bruker SUM-funksjonen og bruker verdiene i Inventory Value som argument for å generere totalen oppført under rad 3, kolonne B (også referert til som B3).
NoSQL
NoSQL er en samlebetegnelse for de forskjellige måtene å lagre ikke-relasjonelle data på og kan tolkes som "ikke-SQL", "ikke-relasjonell" eller "ikke bare SQL". Disse typene databasesystemer kan kategoriseres i fire typer.
Kilde fra Michał Białecki Blog
Nøkkel-verdi-databaser parer unike nøkler, som er en unik identifikator knyttet til en verdi. Disse parene lagres ved hjelp av en hashtabell med en passende hashfunksjon.
Kilde fra Microsoft
Graf-databaser beskriver forhold i data og er representert som en samling av noder og kanter. En node representerer en enhet, noe som eksisterer i den virkelige verden, som en student eller en bankutskrift. Kanter representerer forholdet mellom to enheter. Hver node og kant har egenskaper som gir tilleggsinformasjon om hver node og kant.
Kolonnebaserte databaser organiserer data i kolonner og rader som en relasjonell datastruktur, men hver kolonne er delt inn i grupper kalt kolonnefamilier, der alle dataene under én kolonne er relatert og kan hentes og endres som en enhet.
Dokumentdatabaser med Azure Cosmos DB
Dokument-databaser bygger på konseptet med en nøkkel-verdi-database og består av en serie felt og objekter. Denne delen vil utforske dokumentdatabaser med Cosmos DB-emulatoren.
En Cosmos DB-database passer til definisjonen av "ikke bare SQL", der Cosmos DBs dokumentdatabase er avhengig av SQL for å hente data. Forrige leksjon om SQL dekker det grunnleggende om språket, og vi vil kunne bruke noen av de samme spørringene på en dokumentdatabase her. Vi vil bruke Cosmos DB Emulator, som lar oss opprette og utforske en dokumentdatabase lokalt på en datamaskin. Les mer om emulatoren her.
Et dokument er en samling av felt og objektverdier, der feltene beskriver hva objektverdien representerer. Nedenfor er et eksempel på et dokument.
{
"firstname": "Eva",
"age": 44,
"id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
"_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
"_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
"_attachments": "attachments/",
"_ts": 1630544034
}
Feltene av interesse i dette dokumentet er: firstname
, id
og age
. Resten av feltene med understreker ble generert av Cosmos DB.
Utforske data med Cosmos DB Emulator
Du kan laste ned og installere emulatoren for Windows her. Se denne dokumentasjonen for alternativer for hvordan du kjører emulatoren for macOS og Linux.
Emulatoren åpner et nettleservindu, der Explorer-visningen lar deg utforske dokumenter.
Hvis du følger med, klikk på "Start with Sample" for å generere en eksempel-database kalt SampleDB. Hvis du utvider SampleDB ved å klikke på pilen, finner du en beholder kalt Persons
. En beholder holder en samling av elementer, som er dokumentene i beholderen. Du kan utforske de fire individuelle dokumentene under Items
.
Spørring av dokumentdata med Cosmos DB Emulator
Vi kan også spørring på eksempeldataene ved å klikke på knappen for ny SQL-spørring (andre knapp fra venstre).
SELECT * FROM c
returnerer alle dokumentene i beholderen. La oss legge til en where-setning og finne alle som er yngre enn 40.
SELECT * FROM c where c.age < 40
Spørringen returnerer to dokumenter. Legg merke til at alder-verdien for hvert dokument er mindre enn 40.
JSON og dokumenter
Hvis du er kjent med JavaScript Object Notation (JSON), vil du legge merke til at dokumenter ligner på JSON. Det finnes en PersonsData.json
-fil i denne katalogen med flere data som du kan laste opp til Persons-beholderen i emulatoren via Upload Item
-knappen.
I de fleste tilfeller kan API-er som returnerer JSON-data direkte overføres og lagres i dokumentdatabaser. Nedenfor er et annet dokument som representerer tweets fra Microsofts Twitter-konto, hentet ved hjelp av Twitter API og deretter satt inn i Cosmos DB.
{
"created_at": "2021-08-31T19:03:01.000Z",
"id": "1432780985872142341",
"text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
"_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
"_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
"_attachments": "attachments/",
"_ts": 1630537000
Feltene av interesse i dette dokumentet er: created_at
, id
og text
.
🚀 Utfordring
Det finnes en TwitterData.json
-fil som du kan laste opp til SampleDB-databasen. Det anbefales at du legger den til i en separat beholder. Dette kan gjøres ved å:
- Klikke på knappen for ny beholder øverst til høyre
- Velge den eksisterende databasen (SampleDB) og opprette en beholder-ID for beholderen
- Sette partisjonsnøkkelen til
/id
- Klikke OK (du kan ignorere resten av informasjonen i denne visningen siden dette er et lite datasett som kjører lokalt på maskinen din)
- Åpne den nye beholderen din og laste opp TwitterData-filen med
Upload Item
-knappen
Prøv å kjøre noen SELECT-spørringer for å finne dokumentene som har Microsoft i tekstfeltet. Tips: prøv å bruke LIKE-nøkkelordet.
Quiz etter forelesning
Gjennomgang og selvstudium
-
Det er noen ekstra formateringer og funksjoner lagt til i dette regnearket som ikke dekkes i denne leksjonen. Microsoft har et stort bibliotek med dokumentasjon og videoer om Excel hvis du er interessert i å lære mer.
-
Denne arkitekturdokumentasjonen beskriver egenskapene til de forskjellige typene ikke-relasjonelle data: Ikke-relasjonelle data og NoSQL.
-
Cosmos DB er en skybasert ikke-relasjonell database som også kan lagre de forskjellige NoSQL-typene nevnt i denne leksjonen. Lær mer om disse typene i dette Cosmos DB Microsoft Learn-modulet.
Oppgave
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.