De viktigste inngangene til fysisk databasedesign er:
1. Logisk databasedesign: Dette er grunnlaget for fysisk design. Den definerer enhetene, attributtene, forholdene og begrensningene i databasen, og danner planen for hvordan data vil bli strukturert og organisert.
2. Forretningskrav: Disse definerer de spesifikke behovene til brukerne og applikasjonene som vil samhandle med databasen. Dette inkluderer:
* Datavolum: Hvor mye data vil bli lagret og hvor ofte vil det endre seg?
* Transaksjonssatser: Hvor mange transaksjoner vil bli behandlet per tidsenhet?
* Krav til ytelse: Hvilket responstid er nødvendig for spørsmål og oppdateringer?
* Sikkerhetsbehov: Hvilke datatilgang og modifiseringstillatelser kreves?
3. Systemmiljø: Dette inkluderer maskinvare og programvare som vil være vertskap for databasen, som sterkt påvirker designvalgene. Disse faktorene inkluderer:
* Maskinvare: Diskplass, minne, prosesseringskraft, nettverksbåndbredde.
* operativsystem: OS som databasestyringssystemet (DBMS) vil kjøre på.
* DBMS: Det valgte databasestyringssystemet (f.eks. Oracle, MySQL, PostgreSQL) og dets spesifikke evner.
* Nettverksinfrastruktur: Tilkobling og båndbredde mellom databaseserver og klienter.
4. Dataegenskaper: Dette inkluderer informasjon om selve dataene:
* Datatyper: Karakter, numerisk, dato osv.
* Data -volatilitet: Hvor ofte endres dataene?
* Datadistribusjon: Er det noen mønstre eller skjevheter i dataene?
* Dataintegritet: Hvordan vil datatøyaktighet og konsistens opprettholdes?
5. Kostnadshensyn: Fysiske designvalg har kostnadsmessige implikasjoner. Faktorer å vurdere:
* Maskinvarekostnader: Servere, lagring, nettverksutstyr.
* Programvarekostnader: Databaselisenser, utviklingsverktøy.
* Vedlikeholdskostnader: Administrasjon, sikkerhetskopier, sikkerhet.
* personellkostnader: Databaseadministratorer, utviklere.
6. Performance Metrics: Disse kvantifiserer effektiviteten og effektiviteten til databasen:
* Responstid: Hvor raskt spørsmål blir behandlet.
* Gjennomstrømning: Antall transaksjoner behandlet per tidsenhet.
* skalerbarhet: Evne til å håndtere økende datavolum og transaksjonshastigheter.
* Tilgjengelighet: Prosentandel av databasen er i drift.
7. Eksisterende systemer: I tilfelle integrasjon med eksisterende systemer er kompatibilitet og datamigrasjonsaspekter avgjørende.
8. Sikkerhetskrav: Datakryptering, tilgangskontroll, revisjon og andre sikkerhetstiltak må vurderes i den fysiske utformingen for å beskytte sensitiv informasjon.
Ved å analysere disse innspillene nøye, kan databasedesignere ta informerte beslutninger om hvordan de fysisk organiserer data, velger passende indekseringsstrategier, optimaliserer utførelsesplaner og sikre at databasen oppfyller kravene til ytelse, sikkerhet og pålitelighet i applikasjonen.