Puuhakemistoista flash-levyllä

Koko: px
Aloita esitys sivulta:

Download "Puuhakemistoista flash-levyllä"

Transkriptio

1 Puuhakemistoista flash-levyllä Antti Tikka Espoo Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Matemaattis-luonnontieteellinen tdk Tekijä Författare Author Antti Tikka Työn nimi Arbetets titel Title Puuhakemistoista flash-levyllä Laitos Institution Department Tietojenkäsittelytieteen laitos Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Seminaari Aika Datum Month and year Sivumäärä Sidoantal Number of pages 7 Tiivistelmä Referat Abstract Suuret flash-levyt ovat tulleet houkuttelevaksi vaihtoehdoksi magneettisille kovalevyille johtuen niiden nopeasta hajaluvusta, pienestä virrankulutuksesta ja muista ominaisuuksista. Kuitenkin kirjoitukset, erityisesti hajakirjoitukset ovat huomattavasti hitaampia johtuen siitä, että levyllä oleva vanha tieto on pyyhittävä pois ennen kuin sen tilalle voidaan kirjoittaa uutta tietoa. Tästä johtuen kovalevyillä käytettävät B+-puut eivät sovellu käytettäväksi flash-levyillä. Tässä kirjoituksessa esitellään FD-puu, hakemistorakenne, joka on suunniteltu erityisesti flashlevyä varten. Tämä tietorakenne sisältää pienen B+-puun ja useita järjestettyjä taulukoita. FDpuuta käyttämällä pystytään vähentämään hajakirjoitusten määrää hakemista kuitenkaan hidastamatta. Kirjoituksessa osoitetaan teoreettisesti ja kokeellisesti, että FD-puu voittaa flashlevyä käytettäessä muut puutietorakenteet sekä haku- että kirjoitusvaltaisilla kuormilla. ACM B.3, H.2.2, E.1 Avainsanat Nyckelord Keywords tietokanta, flash, puu, hakemisto, tietorakenne Säilytyspaikka Förvaringställe Where deposited Muita tietoja Övriga uppgifter Additional information

3 Sisältö 1 Johdanto FD-puun rakenne Haku FD-puusta Lisäys FD-puuhun Poisto ja päivitys FD-puussa Testituloksia Yhteenveto... 7

4 1 1 Johdanto Flash-muistit tai SSD-levyt ovat tulleet uudeksi pysyvän tallennuksen vaihtoehdoksi perinteisen kovalevyn rinnalle. Flash-muistien etuja ovat tiedon nopea hajasaanti, alhainen virrankulutus ja erinomainen iskunkestävyys. Lisäksi flash-muistien kapasiteetti kaksinkertaistuu joka vuosi. Hiljattain on arveltu, että flash-muistit voivat syrjäyttää kovalevyt ja antaa paremman suorituskyvyn tietokantapalvelimissa. Puuhakemisto ovat yleisin tietokannoissa käytetty tiedonhakumenetelmä. Tässä kirjoituksessa tarkastellaan miten puuhakemisto tulisi toteuttaa flash-muisteja varten, jotta flash-muistin ominaisuuksista saataisiin mahdollisimman suuri hyöty [YBQ09]. Kovalevyillä tietosivun lukemiseen tai kirjoittamiseen kuluva aika koostuu pääasiassa hakuvarren siirrosta ja levyn pyörähdysviiveestä. Flash-muisteja käytettäessä aikaa ei kulu osien liikutteluun. Tämän vuoksi tiedon hajasaanti on noin 100 kertaa nopeampaa kuin kovalevyillä. Flash-muistit ovat kuitenkin EEPROM-tyyppisiä (electrically-erasable programmable read-only memory) mikä tarkoittaa, että flash-muisteja käytettäessä uutta tietoa ei voida kirjoittaa vanhan päälle vaan vanhat tiedot on ensin tyhjennettävä iso lohko kerrallaan. Näin ollen jokainen kirjoitusoperaatio voi vaatia ison lohkon tyhjentämistä. Lohkon tyhjentäminen flash-muistista on erityisen hidasta. Tästä johtuen tiedon kirjoittaminen hajanaisiin paikkoihin on noin 100 kertaa hitaampaa kuin lukeminen. Kuten taulukosta 1 näkyy Samsung 32 GB flash-muisti suorittaa sekunnissa 3100 hajalukua, mutta vain 25 hajakirjoitusta. Vaikka viime aikoina on valmistettu tehokkaampia flash-muisteja kuten Intel exreme, niiden hajakirjoitus on kuitenkin noin 10 kertaa hitaampaa hajalukuun nähden. Samsung 32 GB SSD Intel extreme 32/64 GB SSD Seagate 7200 RPM SATA kovalevy Hajaluku Hajakirjoitus Taulukko 1. SSD- ja kovalevyjen luku- ja kirjoitusnopeudet (operaatiota/sekunti). Tässä kirjoituksessa esitellään FD-puu, jossa tietojen päivitystä on pyritty tehostamaan hakemista kuitenkaan hidastamatta. Tämä on puuhakemisto, jossa on otettu huomioon flash-muistien eritysominaisuudet. Tehostaminen saadaan aikaan tietorakenteella, jossa kirjoittaminen tapahtuu harvoin ja suurissa peräkkäisiä tietueita käsittävissä erissä. FD-puu koostuu pienestä B+-puusta, jota kutsutaan pääpuuksi (head tree) ja muutamasta tasosta järjestettyjä taulukoita (sorted run) pääpuun alla. Uudet tietueet lisätään pääpuuhun, josta ne ajoittain siirretään alempien tasojen järjestettyihin taulukoihin.

5 2 Luvussa 2 esitellään FD-puun rakenne. Luvuissa 3, 4 ja 5 tarkastellaan tietojen hakua, lisäystä, poistoa ja päivitystä FD-puussa. Luvussa 6 esitellään testituloksia ja vertaillaan erityyppisten puiden tehokkuutta erilaisissa tilanteissa. Luvussa 7 esitetään yhteenveto kirjoituksesta. 2 FD-puun rakenne FD-puu koostuu useista tasoista, joista käytetään merkintöjä L 0, L 1, jne. Ylin taso L 0 on B+-puu, jota kutsutaan pääpuuksi. Muut tasot L 1 :stä alaspäin ovat järjestettyjä taulukoita, jotka on tallennettu fyysisesti peräkkäisille sivuille. Kuvassa 1 on esitetty esimerkki FD-puun rakenteesta. Kuvan puussa on kolme tasoa, pääpuu ja kaksi järjestettyä taulukkoa. Pääpuun lehtisivuilta viitataan alemman tason järjestetyn taulukon sivuille. Kultakin järjestetyn taulukon ei-lehtisivuilta viitataan alemmalla tasolla olevaan järjestettyyn taulukkoon. Kuva 1. Esimerkki FD-puun rakenteesta. Jokaisella FD-puun tasolla on kiinteä kapasiteetti, joka kasvaa eksponentiaalisesti puuta alaspäin edettäessä. Päivitykset tehdään ensin pääpuuhun ja myöhemmin siirretään alemmilla tasoilla oleviin järjestettyihin taulukoihin. Koska pääpuu mahtuu kokonaan keskusmuistiin, flash-levylle ei ole yleensä tarpeen kirjoittaa yksittäisten FD-puuhun tehtävien päivitysten yhteydessä. Pääpuun koko valitaan siten, että se mahtuu yhteen flash-levyltä kerralla tyhjennettävään lohkoon. FD-puuta voidaan päivittää keskusmuistista flash-levylle suurissa useita fyysisesti peräkkäisiä sivuja sisältävissä lohkoissa, mikä on tehokasta flash-levyn ominaisuuksista johtuen. FD-puussa on kahdenlaisia tietueita: hakemistotietueita (index entry) ja aitoja (fence). Hakemistotietue sisältää kolme kenttää avaimen, monikkotunnisteen ja tyypin, jota käytetään apuna tietueiden poistamisprosessissa. Aita on osoitin FD-puun alemman tason sivulle. Siinä on kolme kenttää: avain, sivutunniste ja tyyppi. Aidat jaetaan edelleen ulkoisiin ja sisäisiin aitoihin.

6 3 o Ulkoinen aita (external fence). Ulkoisen aidan avaimeksi otetaan suurimman tietueen avain viitattavalta alemman tason sivulta. Esimerkiksi kuvassa 1 näkyvän sivun f tietue 46 on ulkoinen aita. o Sisäinen aita (internal fence). Jos kahden vierekkäisen ulkoisen aidan väliin jää tietueita vähintään yhden sivun verran, sisäisiä aitoja lisätään kunkin väliin jäävän sivun viimeiseksi tietueeksi. Sisäisen aidan avaimen arvo otetaan viittaavan sivun viimeisestä hakemistotietueesta. Kuvan 1 sivun f tietue 53 on sisäinen aita, joka viittaa sivulle n. Tämän aidan avulla voidaan välttää sivun g lukeminen kun haetaan avaimia väliltä Kullakin FD-puun tasolla aidat ja hakemistotietueet järjestetään avainten arvojen mukaan nousevaan järjestykseen. Ulkoisten aitojen määrä kullakin tasolla on yhtä suuri kuin sivujen määrä alemmalla tasolla. Sisäisiä aitoja on enintään yksi per sivu. 3 Haku FD-puusta Haettaessa yksittäistä arvoa tai arvoväliä FD-puusta, kaikki tasot käydään läpi ylhäältä alaspäin. Ensin haetaan pääpuusta samoin kuin mistä tahansa B+-puusta. Seuraavaksi edetään kaikki järjestettyjen taulukoiden tasot läpi yksi kerrallaan. Yksittäisen sivun sisällä käytetään binäärihakua ensimmäisen tietueen löytämiseksi. Tämän jälkeen sivua selataan tietue kerrallaan ja ehdot täyttävät tietueet lisätään tulosjoukkoon. Sitten siirrytään aidan sivutunnisteen perusteella alemman tason sivulle. Kuvassa 2 on esitetty esimerkki avaimen 48 hakemisesta FD-puusta. Kuva 2. Esimerkki avaimen 48 hausta FD-puusta.. Haku FD-puusta ei välttämättä ole hitaampi kuin B+-puusta. Vaikka FD-puu voikin olla korkeampi kuin samankokoinen B+-puu, FD-puussa on kaksi hakua tehostavaa ominaisuutta. Ensinnäkin FDpuun sivut ovat täynnä tietueita ja yhden tason tietueet sijaitsevat muistissa fyysisesti peräkkäin. Kun taas B+-puussa sivut ovat yleensä noin 70 % täynnä. Toiseksi FD-puussa ei ole

7 4 vanhenemisongelmaa kuten B+-puussa, jossa lehtisivujen sijainnit hajaantuvat fyysisesti suurelle alueelle kun päivityksiä on tehty suuri määrä. 4 Lisäys FD-puuhun Uutta tietuetta lisättäessä tietue lisätään ensin pääpuuhun L 0. Jos tietueiden määrä pääpuussa ylittää sen kapasiteetin, siirretään L 0 tason tietueet L 1 tasolle lomittamalla tasot keskenään. Yleisesti ottaen lomitusoperaatio suoritetaan kahdelle vierekkäiselle tasolle aina kun niistä pienempi ylittää kapasiteettinsa. Operaatiossa selataan molempien tasojen tietueet järjestyksessä ja yhdistetään ne yhdeksi järjestetyksi taulukoksi peräkkäisille sivuille. Uusi järjestetty taulukko L i sisältää kaikki alemman tason hakemistotietueet sekä kaikki ylemmän tason L i-1 hakemistotietueet ja ulkoiset aidat. Uusia sisäisiä aitoja lisätään uuteen järjestettyyn taulukkoon tarpeen mukaan. Lomitusoperaation yhteydessä lomitusta ylemmät tasot päivitetään ulkoisten aitojen osalta. Näin ollen tasojen L i -1 ja L i lomittamisessa on päivitettävä tasot L 0 :sta L i :hin. eli i + 1 tasoa. Jos kahden tason lomituksessa syntyvä uusi taso L i ylittää kapasiteettinsa, tasot L i ja L i+1 lomitetaan myös. Lomittamista jatketaan kunnes lomituksen tuloksena saatava taso ei ylitä kapasiteettiaan. 5 Poisto ja päivitys FD-puussa Tietueen poistaminen FD-puusta tehdään lisäämällä puuhun erityinen suodintietue. Tällöin poistettavasta tietueesta tulee ns. haamutietue ja se jätetään puuhun sellaisenaan. Tarkastellaan nyt poistamisprosessia. Ensin FD-puusta haetaan poistettavat tietueet. Seuraavaksi puuhun lisätään suodintietueet, joiden avaimet ja monikkotunnisteet vastaavat poistettavia tietueita. Uusien tietueiden lisäyksellä yksinkertaisen poistamisen sijaan pystytään vähentämään pienten hajakirjoitusten määrää. Koska poistamisessa lisättävät suodintietueet tekevät poistettavista tietueista haamutietueita, hauissa saataviin hakutuloksiin tulee näitä molempia tyyppejä. Näin ollen hakutuloksista on poistettava suodintietueet ja näiden avainten ja monikkotunnisteiden arvoja vastaavat haamutietueet. Lomitusoperaatiossa suodintietueet ja haamutietueet siirretään muiden tietueiden mukana alemmille tasoille. Kun suodintietueet ja niitä vastaavat haamutietueet lomituksen yhteydessä kohtaavat toisensa samalla tasolla, ne jätetään tallentamatta uuteen järjestettyyn taulukkoon. Näin ollen suodin- ja haamutietueet lopulta poistetaan kokonaan. Kuvassa 3 on esitys poistamisprosessin eri vaiheista. Suodintietueet on merkitty siinä yhtenäisellä alleviivauksella ja haamutietueet katkonaisella alleviivauksella. Kuvassa 2(a) poistetaan

8 5 hakemistotietueet 37 tasolta L 0, 45 tasolta L 2 ja toinen 16 tasolta L 2. Koska tietue 37 on pääpuussa L 0, se poistetaan suoraan tasolta L 0. Suodintietueet 45 ja 16 lisätään pääpuuhun. Kun tasot L 0 ja L 1 lomitetaan kuten kuvassa 2(b) näytetään, suodintietue 45 kohtaa haamutietueensa ja molemmat tietueet jätetään tallentamatta. Kun tasot L 1 ja L 2 lomitetaan kuten kuvassa 2(c) on esitetty, suodintietue 16 ja sitä vastaava haamutietue jätetään pois. Huomattakoon, että ensimmäinen 16 tietue jää indeksiin lomituksen jälkeen. Kuva 3. Esimerkki tietueiden poistamisesta FD-puusta. Päivitysoperaatio eli olemassa olevan tietueen arvon muuttaminen toteutetaan FD-puussa poistamalla vanhaa arvoa vastaava tietue ja lisäämällä uusi tietue uudella arvolla. 6 Testituloksia Tarkastellaan nyt testaustuloksia, ja verrataan FD-puun suorituskykyä B+-puuhun, LSM-puuhun, BFTL:ään, joka on flash-muistia varten kehitetty B+-puun variaatio. Testit on ajettu PC:llä, jossa on Intel QuadCore CPU 2,4 GHz, Windows XP, 2 GB keskusmuistia ja 32 GB Samsung NAND flashlevy. Hakemistotietueet sisältävät 4-tavuisen avaimen ja toisen 4-tavuisen kentän, jossa on tyyppi ja monikkotunniste. Avainten arvot ovat tasaisesti jakautuneet. Sivun kooksi on asetettu 2 KB, joka on fyysinen sivun koko flash-muistissa. Käytössä on LRU-puskurinhallitsin, jotta viimeisimpinä käytetyt sivut saataisiin välimuistiin. Puskurin kooksi on asetettu 8 MB. Käyttöjärjestelmän puskurointi on kytketty pois päältä häiriöiden minimoimiseksi. Kuvassa 3 on esitetty haun tehokkuus neljälle erityyppiselle puuhakemistolle, kun hakemiston kokoa on muunneltu. Neljästä eri puutyypistä BFTL on hitain, koska se vaatii useiden hajanaisten sivujen lukemista puusolmun käsittelemiseksi. B+-puu ja FD-puu ovat parhaita ja ne suoriutuvat melko samalla tavalla hakemiston koosta riippumatta. FD-puu on hiukan nopeampi kuin B+-puu, koska järjestettyjen taulukoiden sivut ovat täysiä ja tallennettuna fyysisesti peräkkäin. LSM-puu on hitaampi kuin B+-puu tai FD-puu, koska yksittäinen haku LSM-puusta vaatii hakemista useasta eri B+-puusta.

9 6 Kuva 3. Haun tehokkuus hakemiston koon funktiona. Kuvassa 4 on esitetty lisäysoperaation tehokkuus neljälle erityyppiselle puuhakemistolle kun hakemiston kokoa on muunneltu. Neljästä erityyppisestä hakemistosta lisäysoperaatio on hitain B+puussa ja nopein LSM-puussa. Lisäysoperaation tehokkuus FD-puussa on hiukan hitaampi kuin LSM-puussa. Tämä johtuu siitä, että FD-puussa on enemmän aputietueita (esim. aitoja) kuin LSMpuussa. Kuitenkin LSM-puu ja FD-puu ovat kertaluokkaa nopeampia kuin B+-puu ja BFTL. Kuva 4. Lisäysoperaation tehokkuus hakemiston koon funktiona. Kuvassa 5 on esitetty neljän erityyppisen puuhakemiston kokonaistehokkuus kahdella eri työkuormalla. Kaikki neljä indeksiä sisältävät 10 9 tietuetta. Niiden koot ovat noin 8 GB. Pystyakselilla on keskimääräinen operaation suoritukseen kuluva aika. Kuvassa vaaka-akselilla näkyvä W-search simuloi hakuvaltaista työkuormaa. Se sisältää 80 % hakuja, 10 % lisäyksiä, 5 % päivityksiä ja 5 % poistoja. Kuvassa vaaka-akselilla oleva W-update simuloi päivitysvaltaista työkuormaa. Se sisältää 20 % hakuja, 40 % lisäyksiä, 20 % poistoja ja 20 % päivityksiä. W-search-

10 7 kuormalla flash-levyä käytettäessä FD-puu on 15.8X, 2.3X, 5.2X nopeampi kuin B+-puu, LSM-puu ja BFTL. W-update-kuormalla flash-levyä käytettäessä FD-puu on 61.4X, 1.7X, 4.9X nopeampi kuin B+-puu, LSM-puu ja BFTL. Kuva 5. Kahden eri kuormitustavan kokonaissuorituskyky. 7 Yhteenveto B+-puut on suunniteltu kovalevyä varten eivätkä näin ollen sovellu käytettäväksi flash-levyllä. FDpuu on suunniteltu erityisesti flash-levyä varten. Tämä puutietorakenne hyödyntää flash-muistin erityispiirteitä nopeita hajalukuja ja vähentämällä hitaiden hajakirjoitusten määrää. Kirjoituksessa esitellyt teoreettiset ja kokeelliset tutkimukset osoittavat, että FD-puussa yhdistyvät haun ja lisäysten kannalta parhaat piirteet muista puuhakemistoista ja, että se voittaa nämä puuhakemistorakenteet suorituskyvyltään sekä haku- että päivityspainotteisilla kuormilla. Lähteet YBQ09 Yinan, L., Bingsheng, H., Qiong, L., Ke, Y., Tree indexing on flash disks. ICDE 2009

arvostelija OSDA ja UDDI palveluhakemistoina.

arvostelija OSDA ja UDDI palveluhakemistoina. Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution

Lisätiedot

MEMS-muisti relaatiotietokannoissa

MEMS-muisti relaatiotietokannoissa MEMS-muisti relaatiotietokannoissa Antti Tikka Espoo 28.2.2009 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

Selainpelien pelimoottorit

Selainpelien pelimoottorit Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month

Lisätiedot

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen

Lisätiedot

Aika/Datum Month and year Kesäkuu 2012

Aika/Datum Month and year Kesäkuu 2012 Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen

Lisätiedot

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja Tietokantojen hakemistorakenteet Hakemistorakenteiden (indeksien) tarkoituksena on nopeuttaa tietojen hakua tietokannasta. Hakemisto voi olla ylimääräinen oheishakemisto (secondary index), esimerkiksi

Lisätiedot

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos PN-puu Erno Härkönen Helsinki 24.10.2006 Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

! #! %! & #!!!!! ()) +

! #! %! & #!!!!! ()) + ! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets

Lisätiedot

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos

Lisätiedot

Hakemistorakenteet. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Hakemistorakenteet. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1 Hakemistorakenteet R & G Chapter 10 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Hakemistotyypeistä Hakemistomerkintä sisältää hakemistoavaimen (indexing key) muodostusperustan määrittelemänä tietueesta

Lisätiedot

D B. Harvat hakemistot. Harvat hakemistot

D B. Harvat hakemistot. Harvat hakemistot Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut) kohti Harvan hakemiston

Lisätiedot

Hakemistotyypeistä. Hakemistorakenteet. Hakemiston toteutuksesta. Hakemiston toteutuksesta

Hakemistotyypeistä. Hakemistorakenteet. Hakemiston toteutuksesta. Hakemiston toteutuksesta Hakemistotyypeistä Hakemistorakenteet R & G Chapter 10 Hakemistomerkintä sisältää hakemistoavaimen (indexing key) muodostusperustan määrittelemänä tietueesta tai tietuejoukosta tuotettu tunnus yleensä

Lisätiedot

Luento 2: Tiedostot ja tiedon varastointi

Luento 2: Tiedostot ja tiedon varastointi HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...

Lisätiedot

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,

Lisätiedot

Luonnontieteiden popularisointi ja sen ideologia

Luonnontieteiden popularisointi ja sen ideologia Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro

Lisätiedot

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Hajautusrakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Hajautusrakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1 Hajautusrakenteet R&G Chapter 11 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Hajautukseen perustuvat tiedostorakenteet Hajautukseen perustuvissa tiedostorakenteissa on tavoitteena yksittäisen tietueen

Lisätiedot

Algoritmit 1. Luento 6 Ke Timo Männikkö

Algoritmit 1. Luento 6 Ke Timo Männikkö Algoritmit 1 Luento 6 Ke 25.1.2017 Timo Männikkö Luento 6 Järjestetty lista Listan toteutus dynaamisesti Linkitetyn listan operaatiot Vaihtoehtoisia listarakenteita Puurakenteet Binääripuu Järjestetty

Lisätiedot

Kuva 1: J+-puun rakenne [HXS09].

Kuva 1: J+-puun rakenne [HXS09]. Johdanto Tietotekniikka on kehittynyt viime vuosikymmenten aikana nopeata vauhtia. Tämä on näkynyt niin tietokoneiden tehoissa kuin myös hinnoissa. Myös tietokoneiden keskusmuistit ovat kasvaneet ja ovat

Lisätiedot

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta

Lisätiedot

Algoritmit 2. Luento 5 Ti Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia

Lisätiedot

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017

Lisätiedot

Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1 Tiedostorakenteet R&G Chapter 9 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Tiedostorakenteet Tiedostojen tehokkuutta yhtä kyselyä kohti arvioidaan usein tarvittavien levyhakujen määrällä. kuten levykäsittelyn

Lisätiedot

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Lauri Eloranta Helsingin yliopisto Valtiotieteellinen tiedekunta Viestintä Pro gradu -tutkielma, 2014 Hallintomallit)Suomen)valtionhallinnon)tietohallintostrategioissa

Lisätiedot

Hajautusrakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet

Hajautusrakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet Hajautusrakenteet R&G Chapter Hajautukseen perustuvissa tiedostorakenteissa on tavoitteena yksittäisen tietueen nopea haku. Tähän pyritään siten, että tietueen sijoituspaikan eli solun (cell, bucket) osoite

Lisätiedot

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4

Lisätiedot

Algoritmit 1. Luento 5 Ti Timo Männikkö

Algoritmit 1. Luento 5 Ti Timo Männikkö Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu

Lisätiedot

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Indeksin luonti ja hävitys TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Komentoa ei ole standardoitu ja niinpä sen muoto vaihtelee järjestelmäkohtaisesti Indeksi voidaan

Lisätiedot

7. Tasapainoitetut hakupuut

7. Tasapainoitetut hakupuut 7. Tasapainoitetut hakupuut Tässä luvussa jatketaan järjestetyn sanakirjan tarkastelua esittämällä kehittynyt puutietorakenne. Luvussa 7.1. esitetään monitiehakupuun käsite. Se on järjestetty puu, jonka

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

Lisätään avainarvo 6, joka mahtuu lehtitasolle:

Lisätään avainarvo 6, joka mahtuu lehtitasolle: Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 11.6.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Algoritmit 2. Luento 5 Ti Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö Algoritmit 2 Luento 5 Ti 28.3.2017 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot Algoritmit 2 Kevät 2017 Luento 5 Ti 28.3.2017 2/29 B-puu Algoritmit 2 Kevät 2017 Luento 5 Ti

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018

Lisätiedot

B + -puut. Kerttu Pollari-Malmi

B + -puut. Kerttu Pollari-Malmi B + -puut Kerttu Pollari-Malmi Tämä monista on alunperin kirjoitettu sksn 2005 kurssille osittain Luukkaisen ja Nkäsen vanhojen luentokalvojen pohjalta. Maaliskuussa 2010 pseudokoodiesits on muutettu vastaamaan

Lisätiedot

D B. Tietokannan hallinta kertaus

D B. Tietokannan hallinta kertaus TKHJ:n pääkomponentit metadata TKHJ:ssä Tiedostojen käsittely puskurien rooli tiedostokäsittelyssä levymuistin rakenne ja käsittely mistä tekijöistä hakuaika muodostuu jonotus jos useita samanaikaisia

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017

Lisätiedot

SSD-tietoiset hakemistorakenteet

SSD-tietoiset hakemistorakenteet SSD-tietoiset hakemistorakenteet Peitsa Lähteenmäki Helsinki 9.3.2012 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet

Lisätiedot

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla; Tietorakenteet, laskuharjoitus 7, ratkaisuja 1. Opiskelijarekisteri-luokka saadaan toteutetuksi käyttämällä kahta tasapainotettua binäärihakupuuta. Toisen binäärihakupuun avaimina pidetään opiskelijoiden

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Merkintöjen tulkintoja *++Pstack->top = item *Pstack->top++ = item (*Pstack->top)++ *(Pstack++)->top = item *(++Pstack)->top = item Lisää pinon toteutuksia Dynaaminen taulukko

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun

Lisätiedot

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Kyselykielet, s 2006, Harjoitus 5 (7.12.2006) Tietokannassa on tietoa tavaroista ja niiden toimittajista: Supplier(sid,sname,city,address,phone,etc);

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt

Lisätiedot

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa CT50A2602 Käyttöjärjestelmät Seminaarityö Tietokoneen muisti nyt ja tulevaisuudessa Jyrki Eurén Raimo Asikainen Janne Laitinen Teppo Lapinkoski Manu Toivanen Pasi Ruuth Johdanto Taustaa Työn taustana ryhmän

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

Lisätään avainarvo 1, joka mahtuu lehtitasolle:

Lisätään avainarvo 1, joka mahtuu lehtitasolle: Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 14.5.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle

Lisätiedot

3. Tietokannan hakemistorakenteet

3. Tietokannan hakemistorakenteet 3. Tietokannan hakemistorakenteet Tiedoston tietueiden haku voi perustua johonkin monesta saantipolusta (access path): - perustiedoston tiedostorakenne - hakemistot, joita voidaan tehdä käsittelytarpeiden

Lisätiedot

3. Tietokannan hakemistorakenteet

3. Tietokannan hakemistorakenteet 3. Tietokannan hakemistorakenteet Tiedoston tietueiden haku voi perustua johonkin monesta saantipolusta (access path): - perustiedoston tiedostorakenne - hakemistot, joita voidaan tehdä käsittelytarpeiden

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Oppimateriaalin kokoaminen ja paketointi

Oppimateriaalin kokoaminen ja paketointi Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint. Yleiset hakupuut 4 Monitiehakupuu: Binäärihakupuu 0 1 3 5 6 7 8 v k 1 k k 3 v v 3 v 4 k 1 k 3 k 1 k k k 3 d lapsisolmua d 1 avainta Yleinen hakupuu? Tietorakenteet, syksy 007 1 Esimerkki monitiehakupuusta

Lisätiedot

VÄLIMUISTITIETOISET PUSKURIT. Markus Montonen

VÄLIMUISTITIETOISET PUSKURIT. Markus Montonen VÄLIMUISTITIETOISET PUSKURIT Markus Montonen Sisällys 1. Johdanto 2. L1-välimuistin puskuroinnin ongelma ja ratkaisuehdotus 3. L1-välimuistin puskurioperaation kokeellinen tutkiminen 4. L2-välimuistin

Lisätiedot

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&27455<:4;2;&,9:=>23?277<&8=@74;9&ABBCDABBE

!#$%&'$(#)*+,!!,*--.$*#,&--#*/.,,%0 1&'23456789::94752;&27455<:4;2;&,9:=>23?277<&8=@74;9&ABBCDABBE !"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&2745523?27747544H9;&IG@&JG9?=&15=5H42>:9 '28

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

24.9.2015. Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen

24.9.2015. Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen Työasema- ja palvelinarkkitehtuurit (IC130301) 5 opintopistettä Petri Nuutinen 5 opintopistettä Petri Nuutinen Apumuistit Tarvitaan ohjelmien ja dokumenttien tallentamiseen, kiintolevyjen varmuuskopiointiin,

Lisätiedot

Dell Fluid Data TM solutions

Dell Fluid Data TM solutions Dell Fluid Data TM solutions Älykästä tallennuksen virtualisointia Dell Compellent Juha_Ekstrom@dell.com 2.11.2011 Virtualisointi & Älykkyys Virtualisointi tarkoittaa tietojenkäsittelyssä tekniikkaa, jolla

Lisätiedot

KANSILEHDEN MALLISIVU

KANSILEHDEN MALLISIVU Teknisiä ohjeita pro gradu -tutkielmalle Teologian osasto 12.11.2013 Tässä annettavat ohjeet ovat suosituksia. Viime kädessä seurataan tutkielman ohjaajan antamia ohjeita! Tutkielman kansilehdelle asetellaan

Lisätiedot

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1 Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06

Lisätiedot

D B. Harvat hakemistot

D B. Harvat hakemistot Harvat hakemistot Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut)

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa Hyväksymispäivä Arvosana Arvostelija Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa Marko Lehtimäki Helsinki 12.5. 2009 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i HELSINGIN YLIOPISTO

Lisätiedot

Fyysinen suunnittelu

Fyysinen suunnittelu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Fyysinen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luvusta 9 Jouni

Lisätiedot

Ebrary-palvelun e-kirjojen lukeminen selaimessa

Ebrary-palvelun e-kirjojen lukeminen selaimessa Ebrary-palvelun e-kirjojen lukeminen selaimessa Palaute: nelli @uef.fi Ohje päivitetty: 1.9.2016 / KM Lukuohjeita myös Ebraryn sivuilla: New Online Reader Yliopiston käyttöön hankitussa Ebrary-palvelussa

Lisätiedot

D B. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa. Poistot. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa

D B. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa. Poistot. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa Poistot Alkuperäisen B+ -puun idean mukaisesti tasapainotusta tehdään myös poistossa 50 Jos datasivun täyttösuhde laskee alle puoleen ja sivun ja sen velisivun (sibling, saman isäsivun alla oleva vierussivu)

Lisätiedot

Algoritmit 2. Luento 4 Ke Timo Männikkö

Algoritmit 2. Luento 4 Ke Timo Männikkö Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4

Lisätiedot

Helsingin yliopisto /TKTL Tietokannan hallinta Harri Laine 1 D B. Harvat hakemistot. Harvat hakemistot

Helsingin yliopisto /TKTL Tietokannan hallinta Harri Laine 1 D B. Harvat hakemistot. Harvat hakemistot Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut) kohti Harvan hakemiston

Lisätiedot

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista

Lisätiedot

D B. Tiedostojen käsittely

D B. Tiedostojen käsittely Tietokantojen tietoja säilytetään yleensä apumuistissa, lähinnä levymuisteissa Apumuistiin tallentamisen merkittäviä etuja keskusmuistiin nähden ovat tiedon säilyvyys (virtakatkon yli) säilytyskapasiteetin

Lisätiedot

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Binäärihaun vertailujärjestys

Binäärihaun vertailujärjestys Järjestetyn sanakirjan tehokas toteutus: binäärihaku Binäärihaku (esimerkkikuassa aain = nimi) op Eea 5 op 5 op op 8 op 5 6 7 8 op Eea 5 op 5 op op 8 op 5 6 7 8 op Eea 5 op 5 op op 8 op 5 6 7 8 op Eea

Lisätiedot

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella

Lisätiedot

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

Lisätiedot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Laita tietokone testipenkkiin

Laita tietokone testipenkkiin KUINKA TIETOKONEESI PÄRJÄÄ UUSIMPIA MALLEJA VASTAAN? Suoritin Laita tietokone testipenkkiin 2D-grafiikka Passmark Performance Test tutkii tietokoneen suorituskykyä lukuisten testien avulla. Tämän jälkeen

Lisätiedot

Useaa tietolähdettä käyttävä klusterointi

Useaa tietolähdettä käyttävä klusterointi Useaa tietolähdettä käyttävä klusterointi Mikko Heinonen Tiedon louhinnan seminaari, kevät 2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY

Lisätiedot

Arkkitehtuurinen reflektio

Arkkitehtuurinen reflektio Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET

Lisätiedot

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa Kekolajittelu Prioriteettijonolla toteutettu keko InsertItem ja RemoveMinElem: O(log(n)) Lajittelu prioriteettijonolla: PriorityQueueSort(lajiteltava sekvenssi S) alusta prioriteettijono P while S.IsEmpty()

Lisätiedot

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30100 TIETOKANTOJEN SUUNNITTELU JA IIO30200 TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI, DOCENDO (2003, 2005), LUKU 9 JOUNI HUOTARI,

Lisätiedot

B-puu. 3.3 Dynaamiset hakemistorakenteet

B-puu. 3.3 Dynaamiset hakemistorakenteet Tietokannan hallinta 2 3. Tietokannan hakemistorakenteet 3.3 Dynaamiset hakemistorakenteet Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa.

Lisätiedot

Tieto- ja tallennusrakenteet

Tieto- ja tallennusrakenteet Tieto- ja tallennusrakenteet Sisältö Tyyppi, abstrakti tietotyyppi, abstraktin tietotyypin toteutus Tallennusrakenteet Taulukko Linkitetty rakenne Abstraktit tietotyypit Lista (Puu) (Viimeisellä viikolla)

Lisätiedot

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1

Lisätiedot

Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa.

Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa. Tietokannan hallinta 35 3. Tietokannan 3.3 Dynaamiset Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa. Ajan mittaan epätasapainoa:

Lisätiedot

4 Tehokkuus ja algoritmien suunnittelu

4 Tehokkuus ja algoritmien suunnittelu TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin

Lisätiedot

Nettiposti. Nettiposti käyttöohje

Nettiposti. Nettiposti käyttöohje YKSIKÄÄN ASIAKAS EI OLE MEILLE LIIAN PIENI TAI MIKÄÄN HAASTE LIIAN SUURI. Nettiposti Nettiposti käyttöohje Tässä käyttöohjeessa kuvataan selainkäyttöisen Nettiposti sähköpostiohjelman toiminnot. Käyttöohje

Lisätiedot

MUISTIPIIRIT H. Honkanen

MUISTIPIIRIT H. Honkanen MUISTIPIIRIT H. Honkanen Puolijohdemuistit voidaan jaotella käyttötarkoituksensa mukaisesti: Puolijohdemuistit Luku- ja kirjoitusmuistit RAM, Random Access Memory - Käytetään ohjelman suorituksen aikaisen

Lisätiedot

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...

Lisätiedot

Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen

Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen Yksitasoiset talletusrakenteet Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen järjestämätön peräkkäisrakenne (kasa, heap) järjestetty peräkkäisrakenne (sequential file) hajautusrakenne

Lisätiedot

Seminaari: HL7 versio 2

Seminaari: HL7 versio 2 hyväksymispäivä arvosana arvostelija Seminaari: HL7 versio 2 Markus Koski Helsinki 29.9.2014 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF

Lisätiedot

Tietokantarakenteet ja -algoritmit 3. harjoitus

Tietokantarakenteet ja -algoritmit 3. harjoitus Tietokantarakenteet ja -algoritmit 3. harjoitus Malliratkaisut 1. Analyysivaiheen alussa alustetaan aktiivisten transaktioiden taulu (tyhjä) ja päivitettyjen sivujen taulu (samoin tyhjä) tarkistuspisteestä.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi

Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi Antti Leino 29. maaliskuuta 2005 Tietojenkäsittelytieteen

Lisätiedot

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi Miksi optimoidaan Relaatiotietokannan kyselyt esitetään käytännössä SQLkielellä. Kieli määrittää halutun tuloksen, ei sitä miten tulos muodostetaan (deklaratiivinen kyselykieli) Tietokannan käsittelyoperaatiot

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten

Lisätiedot

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu 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

Lisätiedot