Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Databasearkitektur og -implementering

Liknende presentasjoner


Presentasjon om: "Databasearkitektur og -implementering"— Utskrift av presentasjonen:

1 Databasearkitektur og -implementering
We shape our buildings: thereafter they shape us Winston Churchill

2 Databasearkitektur og -implementering
En arkitektur skal Svare på spørringer innen rimelig tid Minimere databehandlingskostnaden Minimere lagringskostnaden Minimere dataoverføringskostnaden Målene kan være motstridende

3 Ikke skjemaarkitektur

4 Arkitektur med ett skjema

5 Toskjema-arkitektur

6 ANSI SPARC En komité for standardisering av databaseteknologi (1972)
Fokuserte på grensesnitt Internt Konseptuelt Eksternt

7 Eksternt skjema Systemet sett fra klientens side (view)
Det kan være flere view

8 Konseptuelt skjema Database designerens view
Hele datamodellen Inneholder alle filer (tabeller) og alle felter i tabellene Skal være uavhengig av lagringsstrukturer og datatilgangsmekanismer Kan inneholde beskrivelser som gjelder sikkerhet og integritet

9 Internt skjema Laveste nivå Gjelder lagring av og tilgang til data
Inkluderer indeksering og postrekkefølge

10 Datastruktur og datalagring
The modern world has a false sense of superiority because it relies on the mass of knowledge that it can use, but what is important is the extent to which knowledge is organized and mastered Goethe, 1810

11 Datastrukturer Målet er minst mulig diskaksess
Disker er relativt langsomme sammenliknet med indre lager Skrive brev sammenliknet med telefon Disken er en flaskehals Hensiktsmessige datastrukturer kan redusere diskaksess

12 Databaseaksess (tilgang)

13 Disk

14 Disker Data lagres som spor på en skive-overflate
En disk kan ha flere skiver som hver har to sider Rotasjonsforsinkelse Venting på at stedet der dataene som skal hentes kommer fram til lese/skrivehodet I størrelsesorden 5 ms for en harddisk Rotasjonshastighet er bestemt av diskprodusenten Lesearmforsinkelse Å flytte lese/skrive-hodet til sporet der dataene er lagret. Ca 10 ms for en harddisk. Buffer Harddisken kan ha egen RAM der flere spor kan være forhåndslagret og der data som skal skrives kan mellomlagres.

15 Minimere tilgangstid Rotasjonsforsinkelsen er bestemt av diskprodusenten Armforsinkelsen kan reduseres ved å lagre filene på Samme spor Samme spor på hver overflate Sylinder

16 Clustering Poster som ofte hentes samtidig lagres sammen
Intra-fil clustering Poster i samme fil Sekvensiell fil Inter-fil clustering Poster i forskjellige filer En nasjon og dens aksjer

17 Disk manager Administrerer fysisk I/O Ser disken som en samling sider
Har en katalog over alle sider på disken Henter og erstatter og administrerer ledige sider

18 File manager Administrerer lagring av filer
Ser disken som en samling lagrede filer Hver fil har en unik identifikator Hver post i en fil har en unik post-identifikator

19 File managerens oppgaver
Lage en fil Slette en fil Hente en post fra en fil Oppdatere en post i en fil Legge til en ny post i en fil Slette en post fra en fil

20 Sekvensiell henting Gitt en fil med poster som hver opptar en side Spørringer som krever gjennomgang av alle poster vil kreve diskaksesser F.eks Finn alle varer av type ’E’ 10000*9ms=90s Mange diskaksesser er bortkastet hvis få poster møter vilkåret.

21 Indeksering Indekser gir raskere tilgang ved å redusere antall diskaksesser Indeksen er mye mindre enn hele tabellen (kan lastes med få diskaksesser) og den er sortert (støtter dermed binærsøk)

22 Spørring ved hjelp av index
Les indeksen inn i indre lager (RAM) Let gjennom indeksen for å finne poster som møter vilkåret Hent bare poster som inneholder dataene en leter etter Resultat: Antall diskaksesser er betydelig redusert når vilkåret slår til for få poster.

23 Vedlikehold av en indeks
Å føye til en post krever minst to diskaksesser: Oppdatere fila Oppdatere indeksen Kompromiss Raskere spørringer Tregere oppdatering Oppdatering dreier seg ofte om én post om gangen og da er tregheten ikke et problem.

24 Bruk av indekser Sekvensiell gjennomgang av en del av en fil
Eksistenstesting Finne ut om en post eksisterer uten å måtte hente den.

25 Multiple indekser Finne røde varer av type 'C'
Begge indekser kan gjennomsøkes i indre lager for å identifisere poster som skal hentes Dårlig eksempel fordi det er mange varer av type C og vil være mange røde varer. Da er det lite å tjene på indeksering

26 B-tre En datastruktur for indekser Brukes ofte i relasjonsdatabaser
Grunnlag for IBM’s VSAM som DB2 bygger på Støtter sekvensiell og direkte tilgang Har to deler Sekvens-settet Index settet

27 B-tre Sekvenssettet er en indeks med pekere til poster
Indexsettet er en tre-struktur som er index til sekvens-settet

28 En indeksnode svarer til én page på disken.
Én page kan f.eks være 8 kB. Er feltet 12 byte og diskadresse 4 byte, vil indeksnoden inneholde ca 500 verdier. To nivåer med indeks kan da nå 500*500 eller sider på disken B-tre (Fra Weiss: Algorithms and Data Structures using Java) De to øverste nivåene i treet kan være innlastet i RAM En post kan da finnes med kun én diskaksess. Eller to hvis tabellen er så stor at man trenger tre nivåer i indeksen.

29 Hashing Er en teknikk for å redusere diskaksesser når en vil gå direkte til en gitt post. Unngår indeks Antall diskaksesser for å nå en post er nær én Prinsipp: Hashfeltet blir gjort om til en hashadresse ved å beregne en hashfunksjon What is the likely choice of the hash field? The primary key

30 Hashing hashadresse = rest ved divisjon av SSN med 10000 } } } • • • •
k a d d r e s s F i l e s p a c e O v e r f l o w a r e a 4 1 7 - 3 - 4 3 5 6 } 5 3 2 - 6 7 - 4 3 5 6 4 3 5 6 4 1 7 - 3 - 4 3 5 6 5 3 2 - 6 7 - 4 3 5 6 8 9 1 - 5 5 - 4 3 5 6 S y n o n y m c h a i n } 4 3 - 1 5 - 1 8 9 3 1 8 9 3 4 3 - 1 5 - 1 8 9 3 8 9 1 - 5 5 - 4 3 5 6 } 2 8 1 - 2 7 - 1 5 2 1 5 2 2 8 1 - 2 7 - 1 5 2

31 Ulemper ved hashing Forskjellige verdier konverterer til samme hash-adresse Synonymer Lagre den posten som kolliderer i et eget overflytområde Eller på neste ledige plass Lange kjeder med synonymer reduserer ytelsen Postene lagres ikke sekvensielt

32 Linked list A structure for inter-file clustering
An example of a parent/child structure

33 Linked lists There can be two-way pointers, forward and backward, to speed up deletion Each child can have a pointer to its parent

34 Bit mapindekser Bruker en enkelt bit heller enn mange bytes for å vise en bestemt verdi i et felt Farge kan bare ha tre verdier og bruker dermed tre biter Itemcode Color Code Disk address Red Green Blue A N 1001 1 d1 1002 d2 1003 d3 1004 d4

35 Bitmapindekser En bitmapindaks sparer plass og dermed diskaksesser og tid sammenliknet med en vanlig indeks. Itemcode Color Char(8) Code Char(1) Disk address 1001 Blue N d1 1002 Red A d2 1003 d3 1004 Green d4

36 Joinindekser Gir raskere join ved å lage en indeks for primærnøkkel/hovednøkkel-paret nation index stock index natcode Disk address UK d1 d101 USA d2 d102 d103 d104 d105 join index nation disk address stock d1 d101 d102 d103 d2 d104 d105

37 Datakodingsstandarder
ASCII UNICODE

38 ASCII Hver alfabetisk, numerisk og spesialtegn er representert med en 7-bits kode. 128 mulige tegn ASCII kode krever vanligvis én byte

39 UNICODE En unik binær kode for hvert tegn, uansett hvilken plattform, hvilket program eller språk. Jnneholder for øyeblikket forskjellige tegn hentet fra 24 støttede språk-script Dekker de viktigste skrevne språkene To former for koding Default er 16-bit formen En 8-bits form, UTF-8, gjør den enklere å bruke med eksisterende ASCII-baserte systemer Unicode er default koding for HTML og XML UNICODE danner grunnlaget for software for et globalt marked

40 Datalagringsenheter Kriterier for valg av datalagringsenheter til ulike formål: On-line data Aksesstid Kapasitet Back-up av filer Sikkerhet mot datatap Arivering av data Langtidslagring

41 Nøkkelvariabler ved valg av lagringsenheter
Datavolum Volatilitet – hvor fort endrer dataene seg Aksesshastighet Lagringskostnader Lagringsmediets pålitelighet Krav til lagringstid Leselighet på lang sikt Pålitelighet

42 Magnetisk teknologi Opp til 50 % av hardware-kostnaden i informasjonssystemer brukes på magnetisk lagring Et marked på $50 milliarder Viktigste typen datalagring En moden og utbredt teknologi Sterke magneitske felter kan slette data Magnetiseringen svekkes over tid

43 Harddisker Forseglet og permanent montert Svært pålitelige
Aksesstider på 4-10 ms Overføringshastigheter opp til 160 Mbytes/s Kapasiteter fra Gbytes til Tbytes

44 Innmaten i en harddisk

45 RAID Redundant arrays of inexpensive or independent disks
Utnytter at store produksjonsvolumer til PC-markedet gir rimelige harddisker Kan også gi øket sikkerhet Gir mindre sårbarhet for feil. Kan ikke erstatte jevnlig backup.

46 Speiling (Mirroring)

47 Speiling (Mirroring) Write Read Lese-feil Kompromisser
Like kopier av en fil skrives til hver disk i arrayen Read Side 1 leses fra disk 1, side 2 leses fra disk 2 osv. Sidene settes sammen i indre lager Aksesstiden deles med antall disker i arrayen Lese-feil Les den ønskede siden fra en annen disk Kompromisser Raskere aksesstid Større sikkerhet Diskplass

48 Striping Data lagres noe på den ene og noe på den andre disken. Sikkerhet kan ivaretas med en egen paritetsdisk.

49 Striping Krever minst tre disker for sikkerehet Write Read Lesefeil
Halvparten av fila til første disk Halparten av fila til andre disk Paritet til tredje disk Read Porsjoner fra hver disk settes sammen i hukommelsen Lesefeil Tapte biter rekonstrueres fra paritetsdata på den tredje disken Kompromisser Bedret datasikkerhet Bedre lagringskapasitet enn speiling Tregere enn speiling

50 RAID levels Alle nivåer unntatt 0 har felles trekk:
Operativsystemet ser RAID-diskene som en logisk disk Data er distribuert på flere disker Paritet brukes for å redde data i feilsituasjoner

51 RAID levels Level 0 Level 1 Level 3 Level 5
Data er stripet (spredd) på flere disker Ingen redning når en disk svikter Level 1 Speiling: samme data på to disker Brukes ved kritiske applikasjoner som ikke kan stoppe Level 3 Striping med paritet Level 5 En variant av striping Paritetsdata er spredd på flere disker Mindre kapasitet enn level 1 Høyere I/O hastighet enn level 3

52 RAID 5

53 Andre RAID-nivåer Se

54 RAID på UUS

55 Magnetisk teknologi Utskiftbar magnetisk disk Floppydisk
Magnetisk tape Magnetisk tapekassett Masselager

56 Masselager på UUS

57 Solid State Tilkoples som diskstasjoner Lagring på minnebrikker
10 ganger raskere enn magnetisk minne, (fart begrenses av tilkoplingsmåten) Kr 20 per Mbyte (kr 1 per MB for lagringpenner) Magnetisk disk er ca 0,005 kr per MB Aksjehandel og video-streaming anvendelser

58 Optisk teknologi Nyere teknologi Bruker laser for å lese å skrive data
Store lagringstettheter Lav kostnad Direkte tilgang Egnet for langtidslagring Ingen fare for kollisjon mellom lesehode og medium

59 Optisk teknologi CD-ROM write once– read many WORM write once–
ready many Optical storage Magneto-optical write many– read many DVD multiple formats

60 CD-ROM CD kan lagre både data og lyd
Rimelig fordi samme komponenter kan brukes i CD spillere og CD-ROM stasjoner ROM - read only memory Kapasitet 650 MB Ganske langsomt utstyr 100 ms tilgangstid

61 CD-R Opptaksplater De fleste CD-R skrivere støtter inkremetnell skriving, hvor data kan lagres til en CD uten å fullføre sesjon eller CD Mer data kan tilføres over tid CD kan ikke leses i en CD-ROM spiller før den er fullført (finalized) Billig lagringsmedium 3 for 650 MB=0,005 kr per megabyte. (Dyrere enn på harddisk)

62 CD-RW ReWritable Leseren må være multiread kompatibel
Mange nyere CD-ROM lesere takler CD-RW Klart dyrere medium enn CD-R

63 WORM Write-once read-many Populært for lagring av bilder Høy kapasitet
Opp til 30 GB Relativt langsom ms tilgangstid Juke-bokser for store datavolumer Ikke så sikker som CD-ROM

64 Magneto-optisk disk Lese-skrive-medium med høy kapasitet
3.5" disk kan lagre opp til 256 MB Ikke så rask som harddisk 10 ms aksesstid Kompakt Pålitelig Egnet for dataoverføring, sikkerhetskopiering og arkivering

65 Digital Versatile Disc (DVD)
Samme fysiske størrelse som CD-ROM , men opp til 28 ganger så stor kapasitet (dvs 17 Gbytes) DVD stasjoner har sannsynligvis overføringshastigheter på ca 2,76 MB/s og aksesstid på 150 ms DVD-ROM spilleren kan håndtere både CD og CD-ROM Read-only versjoner DVD-Video (filmer) DVD-ROM (programvare) DVD-Audio (sanger) DVD-R 3,9 GB Recordable (write once, read many) DVD-RAM 2,6 GB Slettbar (write many, read many)

66 SAN Storage area network
Støtter dynamisk deling av store datamengder uavhengig av operativsystem eller applikasjon Kommuniserer via et hurtig Fibre Channel interface Høyhastighetsforbindelse mellom datamaskiner Prisene varierer i området fra $20-30,000 til 5 millioner

67 Levetid for lagrede data
Magnetic tape Half-inch reel-to-reel Half-inch tape cartridge VHS tape Quarter-inch tape Optical disk CD-ROM (read only) CD-R (recordable) Microfilm Medium-term film Archival quality (silver) Paper Newspaper High quality Permanent 1 10 100 500 Storage life in years of high quality brands

68 Vurdering av lagringsenheter
Device Access speed Volume Volatility Cost per megabyte Reliability Legal standing Solid state *** * ** Fixed disk RAID Removable disk Floppy Tape Cartridge Mass storage SAN CD-ROM CD-R CD-RW WORM Magneto-optical DVD-ROM DVD-R DVD-RAM

69 Datakomprimering Koding av digitale data, slik at de trenger mindre lagerplass (og mindre båndbredde) Tapsfri komprimering Fila kan gjenopprettes slik den var Komprimering med tap Fila kan ikke gjenopprettes slik den var Brukes til bilder, audio og video

70 Tape eller Disk Nærmer seg krysningspunkt
Men tape fortsatt billigst Tape kr 700 for 300GB (kilde it-sjefen hos TV2 V2005) Taperoboter fortsatt mye brukt Disk har store fordeler: Hurtighet Holdbarhet Alltid on-line Men sammenkoplingsløsningene for et stort antall disker er fortsatt kostbar.


Laste ned ppt "Databasearkitektur og -implementering"

Liknende presentasjoner


Annonser fra Google