13 KiB
Työskentely datan kanssa: Ei-relationaalinen data
![]() |
---|
Työskentely NoSQL-datan kanssa - Sketchnote by @nitya |
Esiluentavisa
Data ei rajoitu vain relationaalisiin tietokantoihin. Tämä oppitunti keskittyy ei-relationaaliseen dataan ja kattaa taulukkolaskentaohjelmien ja NoSQL:n perusteet.
Taulukkolaskentaohjelmat
Taulukkolaskentaohjelmat ovat suosittu tapa tallentaa ja tutkia dataa, koska niiden käyttöönotto ja aloitus vaativat vähemmän työtä. Tässä oppitunnissa opit taulukkolaskennan perusosat sekä kaavat ja funktiot. Esimerkit havainnollistetaan Microsoft Excelillä, mutta suurimmalla osalla osista ja aiheista on samankaltaiset nimet ja vaiheet muihin taulukkolaskentaohjelmiin verrattuna.
Taulukkolaskenta on tiedosto, joka on käytettävissä tietokoneen, laitteen tai pilvipohjaisen tiedostojärjestelmän tiedostojärjestelmässä. Itse ohjelmisto voi olla selainpohjainen tai sovellus, joka on asennettava tietokoneelle tai ladattava sovelluksena. Excelissä näitä tiedostoja kutsutaan myös työkirjoiksi, ja tätä terminologiaa käytetään loppuosassa tätä oppituntia.
Työkirja sisältää yhden tai useamman laskentataulukon, joista jokainen on merkitty välilehdillä. Laskentataulukossa on suorakulmioita, joita kutsutaan soluiksi, ja ne sisältävät varsinaisen datan. Solu on rivin ja sarakkeen leikkauspiste, jossa sarakkeet on merkitty aakkosilla ja rivit numeroilla. Joissakin taulukkolaskentaohjelmissa ensimmäiset rivit sisältävät otsikoita, jotka kuvaavat solun dataa.
Näiden Excel-työkirjan peruselementtien avulla käytämme esimerkkiä Microsoft Templates -sivustolta, joka keskittyy varastoon, ja käymme läpi joitakin taulukkolaskennan lisäosia.
Varaston hallinta
Taulukkolaskentatiedosto nimeltä "InventoryExample" on muotoiltu taulukkolaskenta, joka sisältää varaston kohteita ja kolme laskentataulukkoa, joiden välilehdet on nimetty "Inventory List", "Inventory Pick List" ja "Bin Lookup". Inventory List -laskentataulukon rivi 4 on otsikko, joka kuvaa kunkin solun arvon otsikkosarakkeessa.
On tilanteita, joissa solun arvo riippuu muiden solujen arvoista. Inventory List -taulukkolaskenta seuraa jokaisen varastossa olevan kohteen kustannuksia, mutta entä jos haluamme tietää koko varaston arvon? Kaavat suorittavat toimintoja soludatalla ja niitä käytetään tässä esimerkissä laskemaan varaston arvo. Tämä taulukkolaskenta käyttää kaavaa Inventory Value -sarakkeessa laskemaan kunkin kohteen arvon kertomalla QTY-otsikon alla oleva määrä ja COST-otsikon alla olevat kustannukset. Kaksoisnapsauttamalla tai korostamalla solua näet kaavan. Huomaat, että kaavat alkavat yhtäläisyysmerkillä, jota seuraa laskenta tai operaatio.
Voimme käyttää toista kaavaa lisätäksemme kaikki Inventory Value -arvot yhteen saadaksemme niiden kokonaisarvon. Tämä voitaisiin laskea lisäämällä jokainen solu yhteen, mutta se voi olla työlästä. Excelissä on funktioita, eli ennalta määritettyjä kaavoja, jotka suorittavat laskelmia soluarvoilla. Funktiot vaativat argumentteja, jotka ovat laskelmissa tarvittavia arvoja. Kun funktiot vaativat useamman kuin yhden argumentin, ne on listattava tietyssä järjestyksessä, muuten funktio ei ehkä laske oikeaa arvoa. Tässä esimerkissä käytetään SUM-funktiota, ja argumenttina käytetään Inventory Value -arvoja, jotta saadaan kokonaisarvo, joka on listattu rivillä 3, sarakkeessa B (tunnetaan myös nimellä B3).
NoSQL
NoSQL on kattotermi erilaisille tavoille tallentaa ei-relationaalista dataa, ja se voidaan tulkita "non-SQL", "ei-relationaalinen" tai "ei vain SQL". Tämän tyyppiset tietokantajärjestelmät voidaan luokitella neljään tyyppiin.
Lähde: Michał Białecki Blog
Avain-arvo -tietokannat yhdistävät uniikit avaimet, jotka ovat yksilöllisiä tunnisteita, arvoihin. Nämä parit tallennetaan hajautustauluun sopivan hajautusfunktion avulla.
Lähde: Microsoft
Graafi -tietokannat kuvaavat datan välisiä suhteita ja esitetään solmujen ja kaarien kokoelmana. Solmu edustaa entiteettiä, jotain, joka on olemassa reaalimaailmassa, kuten opiskelija tai pankkitiliote. Kaarilla kuvataan kahden entiteetin välistä suhdetta. Jokaisella solmulla ja kaarella on ominaisuuksia, jotka antavat lisätietoa niistä.
Sarakepohjaiset tietokannat järjestävät datan sarakkeisiin ja riveihin kuten relationaalisessa tietorakenteessa, mutta jokainen sarake on jaettu ryhmiin, joita kutsutaan sarakeperheiksi. Kaikki yhden sarakkeen data on toisiinsa liittyvää ja voidaan hakea ja muuttaa yhtenä yksikkönä.
Dokumenttitietokannat Azure Cosmos DB:llä
Dokumentti -tietokannat perustuvat avain-arvo-tietokannan käsitteeseen ja koostuvat kentistä ja objekteista. Tässä osiossa tutkitaan dokumenttitietokantoja Cosmos DB -emulaattorin avulla.
Cosmos DB -tietokanta täyttää "Not Only SQL" -määritelmän, jossa Cosmos DB:n dokumenttitietokanta käyttää SQL:ää datan kyselyyn. Edellinen oppitunti SQL:stä kattaa kielen perusteet, ja voimme soveltaa joitakin samoja kyselyitä dokumenttitietokantaan täällä. Käytämme Cosmos DB -emulaattoria, jonka avulla voimme luoda ja tutkia dokumenttitietokantaa paikallisesti tietokoneella. Lue lisää emulaattorista täältä.
Dokumentti on kenttien ja objektien kokoelma, jossa kentät kuvaavat, mitä objektin arvo edustaa. Alla on esimerkki dokumentista.
{
"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
}
Tämän dokumentin kiinnostavia kenttiä ovat: firstname
, id
ja age
. Loput kentistä, joissa on alaviivoja, on luotu Cosmos DB:n toimesta.
Datan tutkiminen Cosmos DB -emulaattorilla
Voit ladata ja asentaa emulaattorin Windowsille täältä. Katso tämä dokumentaatio saadaksesi ohjeita emulaattorin suorittamiseen macOS:llä ja Linuxilla.
Emulaattori avaa selainikkunan, jossa Explorer-näkymä mahdollistaa dokumenttien tutkimisen.
Jos seuraat mukana, napsauta "Start with Sample" luodaksesi esimerkkitietokannan nimeltä SampleDB. Jos laajennat SampleDB:n napsauttamalla nuolta, löydät säilön nimeltä Persons
. Säilö sisältää kokoelman kohteita, jotka ovat säilön sisällä olevia dokumentteja. Voit tutkia neljää yksittäistä dokumenttia Items
-kohdassa.
Dokumenttidatan kysely Cosmos DB -emulaattorilla
Voimme myös tehdä kyselyitä esimerkkidatalle napsauttamalla uutta SQL Query -painiketta (toinen painike vasemmalta).
SELECT * FROM c
palauttaa kaikki säilön dokumentit. Lisätään where-lauseke ja etsitään kaikki, jotka ovat alle 40-vuotiaita.
SELECT * FROM c where c.age < 40
Kysely palauttaa kaksi dokumenttia, huomaa, että kunkin dokumentin age-arvo on alle 40.
JSON ja dokumentit
Jos tunnet JavaScript Object Notationin (JSON), huomaat, että dokumentit näyttävät samankaltaisilta kuin JSON. Tässä hakemistossa on PersonsData.json
-tiedosto, jossa on lisää dataa, jonka voit ladata Persons-säilöön emulaattorissa Upload Item
-painikkeen avulla.
Useimmissa tapauksissa API:t, jotka palauttavat JSON-dataa, voidaan siirtää suoraan ja tallentaa dokumenttitietokantoihin. Alla on toinen dokumentti, joka edustaa Microsoftin Twitter-tilin twiittejä, jotka on haettu Twitter-rajapinnan avulla ja lisätty Cosmos DB:hen.
{
"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
Tämän dokumentin kiinnostavia kenttiä ovat: created_at
, id
ja text
.
🚀 Haaste
Hakemistossa on TwitterData.json
-tiedosto, jonka voit ladata SampleDB-tietokantaan. On suositeltavaa, että lisäät sen erilliseen säilöön. Tämä voidaan tehdä seuraavasti:
- Napsauta oikeassa yläkulmassa olevaa uutta säilöä -painiketta
- Valitse olemassa oleva tietokanta (SampleDB) ja luo säilön tunnus
- Aseta osioavaimeksi
/id
- Napsauta OK (voit ohittaa muut tiedot tässä näkymässä, koska tämä on pieni datasetti, joka toimii paikallisesti koneellasi)
- Avaa uusi säilösi ja lataa Twitter Data -tiedosto
Upload Item
-painikkeella
Yritä suorittaa muutamia SELECT-kyselyitä löytääksesi dokumentit, joissa tekstikentässä on sana "Microsoft". Vihje: kokeile käyttää LIKE-avainsanaa.
Jälkiluentavisa
Kertaus ja itseopiskelu
-
Tässä taulukkolaskennassa on joitakin lisämuotoiluja ja ominaisuuksia, joita tämä oppitunti ei kata. Microsoftilla on laaja kirjasto dokumentaatiota ja videoita Excelistä, jos haluat oppia lisää.
-
Tämä arkkitehtuuridokumentaatio kuvaa ei-relationaalisen datan eri tyyppien ominaisuuksia: Ei-relationaalinen data ja NoSQL
-
Cosmos DB on pilvipohjainen ei-relationaalinen tietokanta, joka voi myös tallentaa tässä oppitunnissa mainittuja eri NoSQL-tyyppejä. Lue lisää näistä tyypeistä tässä Cosmos DB Microsoft Learn -moduulissa.
Tehtävä
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Pyrimme tarkkuuteen, mutta huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulee pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskääntämistä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinkäsityksistä tai virhetulkinnoista.