Gagnasafnsfræði, haust 2011

[ Dagskrá  |  Námsefni  |  Verkefni  |  Dæmatímar  |  Orðalisti  |  Námsmat  |  Kennslubók ]

Verkefni 11 - Vöruhús gagna

Lausnum skal skilað í hólf viðkomandi dæmakennara (sjá lista yfir dæmatíma).

Skiladagur: þriðjudaginn 22. nóvember fyrir kl 16:00

Í þessu verkefni þá eigið þið að hanna vöruhús gagna fyrir netmælingargögn sem innihalda upplýsingar um niðurhal (e. download).

Gefið ykkur eftirfarandi forsendur við úrlausn á verkefninu.

Uppruni gagna:

Netið er mælt á tveimur stöðum, köllum þá "MULI" og "MIDB". Bæði niðurhal og upphal er mælt.

Þið getið sótt skrár um netumferðina á þar til gerðu FTP svæði. FTP svæðið hefur takmarkað pláss og því þarf að eyða skrám reglulega.

Reglulega berast nýjar skrár sem innihalda færslur fyrir ákveðið tímabil. Gæti til dæmis verið þannig að ný skrá kemur á kortersfresti og inniheldur þá gögn fyrir síðasta korter.

Skrárnar heita FORSKEYTI-<RAÐNR.>, t.d. MULI-452.gz eða MIDB-14832.gz. Sérhver uppruni (MULI/MIDB) hefur sína eigið röð af númerum sem er óháð öðrum röðum.

Dæmi:

- MULI-452.gz kom inn kl. 12:02 og inniheldur allar færslur mældar í MULI frá kl. 11:45-12:00

- MULI-453.gz kom inn kl. 12:18 og inniheldur allar færslur mældar í MULI frá kl. 12:00-12:15

Magn af gögnum:
Gerum ráð fyrir milljón mælingarfærslum fyrir hverja mínútu. Þannig að ef skrá inniheldur 15 mínútur af mælingum þá inniheldur hún 15 milljón færslur.
Snið á gögnum:
Hver færsla inniheldur eftirfarandi upplýsingar:
  1. Sendandi IP (Source IP)
  2. Móttakandi IP (Destination IP)
  3. Fjöldi pakka (IP packets)
  4. Fjöldi bæta
  5. Tímasetning þegar sending byrjaði
  6. Tímasetning þegar sendingu lauk
  7. Samskiptastaðall (Protocol)
  8. Niðurhal/Upphal (Direction))

Dæmi um færslu þar sem 130.208.143.42 sækir 14 MB af gögnum frá erlendu Youtube IP tölunni 74.125.230.140.

Source IP 74.125.230.140
Destination IP 130.208.143.42
Fjöldi pakka 18350
Fjöldi bæta 14680064
Byrjaði 2011-11-14 13:47:12
Endaði 2011-11-14 13:49:52
Samskiptastaðall TCP
Tegund Niðurhal

Innlent/Erlent niðurhal:
Gerið ráð fyrir að þið hafið aðgang að lista yfir öll íslensk IP net. Ef IP tala sendanda er hluti af e-u íslensku IP neti þá er það skilgreint sem innlent niðurhal, en annars sem erlent niðurhal.
IP bókhald (notendagrunnur):
Gerið ráð fyrir að þið hafið aðgang að svokölluðu IP bókhaldi um úthlutanir á ykkar eigin IP tölum til viðskiptavina. Þegar nýr viðskiptavinur kemur í viðskipti þá er IP talan hans skráð í bókhaldið. Þegar viðskiptavinur hættir þá er skráningunni hans eytt út.

Gerið ráð fyrir að IP bókhaldið sé listi af IP tölum og bókhaldslyklum.

Dæmi:

130.208.143.42:SAMN041732
130.208.143.27:SAMN193471

Notkun á vöruhúsi:
Tilvonandi notendur vöruhússins hafa lagt fram eftirfarandi lýsingu á notkun grunnsins.
  1. Það þarf að vera hægt að sjá mælingar niður á dagsetningu og IP tölu, en ekki nákvæmari tímasetningu en það.
  2. Það þarf bara að vera hægt að sjá niðurhal, ekki upphal
  3. Það skiptir ekki máli að vita hvaða samskiptastaðall var notaður
  4. Það skiptir máli að vita IP tölu þess sem tók á móti gögnum (destination IP)
  5. Það skiptir ekki máli að vita IP tölu þess sem sendi gögn (source IP), bara hvort það var innlend eða erlent IP tala
  6. Í upphafi mánaðar á að vera hægt að sækja samtals erlent niðurhal per bókhaldslykil fyrir síðasta mánuð.
  7. Algeng fyrirspurn: uppfletting á erlendu niðurhali per mánuð fyrir tiltekna IP tölu
  8. Algeng fyrirspurn: uppfletting á erlendu niðurhali per mánuð fyrir tiltekinn bókhaldslykil
Verkefni:
Hannið vöruhús gagna miðað við ofangreindar forsendur. Þið hafið alveg frjálsar hendur um hvernig þið hannið vöruhúsið, en þið skuluð rökstyðja allar ykkar ákvarðanir.

Eftirfarandi atriði eiga að koma fram í lausninni.

  1. Hönnun á töflum: lýsið öllum töflum með CREATE TABLE skipunum eða töflumyndum

  2. Tilgreinið alla flýtivísa. Tilgreinið einnig skiptingu á töflum (partitioning) ef það á við.

  3. Lýsing á innsetningar (ETL) ferli, þmt. hvernig skrár eru sóttar, gagnavinnslu (umbreytingu, hreinsun, forvinnslu) og hvernig skráning í grunn er tryggð.

  4. Í lýsingu á forvinnslu ætti m.a. að koma fram hvaða upplýsingum þið bætið inn, hvaða upplýsingum þið hendið út (hreinsið út), hvort þið summerið gögn í forvinnslu áður en þau eru skráð, o.s.frv.

  5. Áætlið gróflega fjölda nýrra raða í vöruhúsinu per dag miðað við ykkar hönnun.

  6. Lýsing á því hvernig þið tryggið að FTP svæðið fyllist ekki, þ.e. hvenær þið hendið út eldri skrám

  7. SQL setning sem sækir samtals erlent niðurhal per bókhaldslykil fyrir tiltekinn mánuð

  8. SQL setning fyrir uppflettingu á erlendu niðurhali per mánuð fyrir tiltekna IP tölu

  9. SQL setning fyrir uppflettinguu á erlendu niðurhali per mánuð fyrir tiltekinn bókhaldslykil