HELIA 1 (16) Luento 3.2 Suorituskyvyn optimointi jatkuu...... 2 Tietojen tallennusratkaisut... 2 Tiedon tallennuksen yksiköitä... 3 Loogiset... 3 Fyysiset... 3 Tallennusmäärittelyt Oraclessa... 5 Loogiset käsitteet... 5 Fyysiset käsitteet... 6 Tilavarausparametrit... 11 Tietokantaobjektien sijoittelu... 13 Klusterointi... 16
HELIA 2 (16) Suorituskyvyn optimointi jatkuu... Tietojen tallennusratkaisut Objektin (taulun tai indeksin) luonnin yhteydessä DBMS varaa levyltä tilaa taulua (ja sen rivejä) varten Ä Objektin määrittelyn yhteydessä on mahdollista antaa talletukseen liittyviä parametrejä Ä Tilanvarauksen yksityiskohdat vaihtelevat eri tiedonhallintajärjestelmissä
HELIA 3 (16) Tiedon tallennuksen yksiköitä Loogiset 1. Kenttä / Attribuutti 2. Tietue / Rivi 3. Tiedosto / Taulu Fyysiset 1. Bitti 2. Tavu 3. Sana 4. Lohko / Sivu (Block / Page) Yksikkö, joka siirretään kerrallaan apumuistista keskusmuistiin (ja päinvastoin) Fyysinen tietue Koko vaihtelee käyttöjärjestelmän ja laitteistoalustan mukaan
HELIA 4 (16) Yhteensovitus Tiedosto Tietue Sivu Kenttä Tavu Bitti Sivuun voi mahtua 1 tai useampi tietue, joskus tietue voi olla niin suuri, että sen tallennukseen tarvitaan useampi sivu Tietueen koko muodostuu kenttien kooista Kenttien koko ilmoitetaan tietotyypin (ja pituuden) avulla Tietotyyppi ja pituus ratkaisevat kentän tallennukseen tarvittavien tavujen määrän
HELIA 5 (16) Tallennusmäärittelyt Oraclessa Loogiset käsitteet DATABASE TABLESPACE TABLE INDEX CLUSTER
HELIA 6 (16) Fyysiset käsitteet DATABASE TABLESPACE Käyttöjärjestelmän tiedosto TABLE FILE SEGMENT Tietyn taulun / indeksin käyttämät extentit EXTENT Yhtenäinen muistialue BLOCK Kerralla käsiteltävä muistialue
HELIA 7 (16) Create database mybase controlfile reuse logfile redo1.log size 30MB, redo2.log size 30MB, datafile file1.dbf size 250MB; Redo1.log System tablespace File1. dbf Redo2.log Create tablespace TS1 datafile file2. dbf size 100MB, file3. dbf size 250MB; Tablespace TS1 File2. dbf Tablespace TS2 File3. dbf Create tablespace TS2 Datafile file4. dbf size 50MB, file5. dbf size 150MB; File4. dbf File5. dbf File6. dbf
HELIA 9 (16) Create tablespace <name> add datafile <filename> <size>mb Alter tablespace <name> add datafile <filename> <size>mb File2.dbf File3.dbf } offline {normal temporary immediate *) not available for the system tablespace online
HELIA 10 (16) Tablespace Create table T1 ( ) tablespace TS1; Create index IX1 on T1(... ) tablespace TS1; Create rollback segment tablespace TS1; (Generated by the Oracle DBMS Rollback Data Temporar y File2.dbf File3.dbf
HELIA 11 (16) Tilavarausparametrit Tietyn taulun / indeksin käyttämät extentit Yhtenäinen muistialue SEGMENT EXTENT STORAGE: initial next minextents maxextents pctincrease optimal freelist Kerralla käsiteltävä muistialue BLOCK pctfree pctused initrans maxtrans
HELIA 12 (16) Tietokantaobjektien kokomäärittely Ä Koko taulu yhdelle tilavarausalueelle' Ä oletuskoot ovat yleensä liian pieniä Ä reikiintymisen välttäminen Pitkien sarakkeiden (tietotyyppien) tallennus Ä Sijoita sarakkeet joissa on pitkiä tietotyyppejä omiin tauluihinsa (ylinormalisoi) (SQL-92: BIT, BIT VARYING Oracle: LONG, RAW, LONG RAW, CLOB, BLOB, BFILE Solid: LONG) Ä Ketjuuntumisen välttäminen
HELIA 13 (16) Tietokantaobjektien sijoittelu Ä Taulut, indeksit ja lokitiedot eri levyille Ä levyjen rinnakkainen käyttö
HELIA 15 (16) 2 Discs: DISC1: executables, index files, a control file, redo logs, export files DISC2: data files, temporary data files, rollback segment files, archive log files, a control file 3 Discs: DISC1: executables, a control file, redo logs, rollback segment files, export files DISC2: data files, temporary data files, a control file DISC3: archive log files, index files, a control file 4-5 Discs: DISC1: executables, a control file, redo logs, SYSTEM tablespace data files DISC2: data files, temporary data files, a control file DISC3: index files, a control file
HELIA 16 (16) Klusterointi Lähes aina yhdessä käsiteltävät tiedot sijoitetaan lähelle toisiaan Ä Yhteinen tekijä (kenttä / kentät) ns. klusteriavain Esim. osasto / projektikohtainen klusterointi Ä Nopea klusteriavaimen mukaisissa kyselyissä ja päivityksissä Ä Erittäin hidas muissa