MEMS-muisti relaatiotietokannoissa



Samankaltaiset tiedostot
arvostelija OSDA ja UDDI palveluhakemistoina.

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

Aika/Datum Month and year Kesäkuu 2012

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

Selainpelien pelimoottorit

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

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

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

Puuhakemistoista flash-levyllä

Luonnontieteiden popularisointi ja sen ideologia

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

Ohjelmoinnin perusteet Y Python

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

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Oppimateriaalin kokoaminen ja paketointi

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

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

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Asuntojen neliöhinnan vaihtelu Helsingissä ( )

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Ohjelmoinnin perusteet Y Python

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

HELIA 1 (15) Outi Virkki Tiedonhallinta

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

Arkkitehtuurinen reflektio

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Relaatiomalli ja -tietokanta

Luento 2: Tiedostot ja tiedon varastointi

SELECT-lauseen perusmuoto

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

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

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Tietotekniikan valintakoe

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

Algoritmit 2. Luento 6 To Timo Männikkö

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

HELIA 1 (11) Outi Virkki Tiedonhallinta

Fyysinen suunnittelu

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

17 BUDJETOINTI. Asiakaskohtainen Budjetti Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust Yleistä

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

Muuttujien määrittely

TK Palvelinympäristö

KANSILEHDEN MALLISIVU

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Datatähti 2019 loppu

ASENNUS- JA KÄYTTÖOHJE

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Ohjelmoinnin perusteet Y Python

2. Käsiteanalyysi ja relaatiomalli

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

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Ohjelmoinnin perusteet Y Python

CSE-A1200 Tietokannat

11. Javan toistorakenteet 11.1

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Algoritmit 2. Luento 6 Ke Timo Männikkö

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

Ohjelmoinnin perusteet Y Python

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Tulostettavat KPL-lisätehtävät

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Tulosta yrityksesi tuloslaskelma ja tase myöhempää tarkastusta varten. Ota varmuuskopio tilanteesta ennen tilimuunnosta.

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Hulevesien k ä sittely, Hulevesik a setit ja -tunnelit. Uudet ympäristöystävälliset ja tehokkaat ratkaisut hulevesien käsittelyyn

Laskennallinen yhteiskuntatiede

Relaation tyhjyyden testaaminen

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

LAS-TIEDOSTON SISÄLTÖ LIITE 2/1

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

SQL:N PERUSTEET MARKKU SUNI

1 Funktiot, suurin (max), pienin (min) ja keskiarvo

Nollasummapelit ja bayesilaiset pelit

Yhdiste, leikkaus, erotus ym.

Ohjeita. Datan lukeminen

Puzzle SM Pistelasku

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

KUVAN LIITTÄMINEN TOISEEN KUVAAN PHOTOSCAPE- OHJELMALLA

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra Harri Laine 1. Relaatioalgebra

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

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

CSE-A1200 Tietokannat

Transkriptio:

MEMS-muisti relaatiotietokannoissa Antti Tikka Espoo 28.2.2009 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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 MEMS-muisti relaatiotietokannoissa 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 23.5.07 Sivumäärä Sidoantal Number of pages 12 Tiivistelmä Referat Abstract Uuteen MEMS-teknologiaan perustuvat muistit ovat monessa suhteessa kovalevyä parempia ja soveltuvat erityisesti relaatioiden tietojen tallentamiseen. Kirjoituksessa esitellään MEMSmuisti sekä tarkastellaan eri menetelmiä relaation tietojen sijoittelemiseksi sille fyysisellä tasolla. Kunkin sijoittelumenetelmän yhteydessä tarkastellaan kyselyiden suorittamista sekä analysoidaan niiden suoritusnopeutta. Menetelmien suorituskykyä verrataan toisiinsa sekä nykyisiin kovalevyllä käytettyihin menetelmiin. ACM B.3, H.2.2 Avainsanat Nyckelord Keywords tietokanta, MEMS-muisti Säilytyspaikka Förvaringställe Where deposited Muita tietoja Övriga uppgifter Additional information

Sisältö 1 Johdanto... 1 2 Nykyiset relaation tietojen sijoittelumenetelmät... 2 3 MEMS-muisti... 4 4 FRM-sijoittelumenetelmä... 5 5 Relational-parallel-sijoittelumenetelmä... 7 6 Yhteenveto... 8

1 1 Johdanto Nykyisin relaatioiden tietojen pysyvään tallennukseen käytetään kovalevyä, joissa tiedot tallennetaan bittijonoina levyjen pinnalla oleville urille. Usein kyselyiden yhteydessä relaatioista tarvitaan tiedot vain tietyiltä riveiltä ja sarakkeilta. Kovalevyjen fyysisistä ominaisuuksista johtuen ne eivät mahdollista kyselyissä tarvittavaa luettavien tietojen valikointia rivien ja sarakkeiden tarkkuudella. Tämän seurauksena tietokannan hallintajärjestelmät joutuvat usein kyselyiden suorittamisen yhteydessä lukemaan kovalevyltä muistiin suuria määriä tietoa, joista vain pieni osa seulotaan jatkokäsittelyyn. Ylimääräisten tietojen lukeminen levyltä muistiin lisää kovalevyn ja keskusmuistin kuormitusta. Tämä puolestaan heikentää tietokannan hallintajärjestelmän suorituskykyä huomattavasti. Nyt kehitteillä olevat MEMS-muistit ovat monessa suhteessa kovalevyjä parempia. Tietojen keskimääräiset hakuajat ovat useita kertoja lyhyemmät kuin kovalevyllä ja virrankulutus yli 50 kertaa pienempi. Tietoja voidaan lukea ja kirjoittaa samanaikaisesti yli tuhannella eri lukupäällä. Näissä muisteissa tiedot säilyvät myös ilman sähköä [YKM08]. MEMS-muisteissa tiedot tallennetaan neliön muotoisen levyn pinnalla oleviin bitteihin, jotka on järjestetty riveihin ja sarakkeisiin. Muistista voidaan lukea tarkasti valikoiden vain tietyt rivit ja tietyt sarakkeet. Tätä kaksiulotteista tallennusrakennetta ja luettavien tietojen tarkkaa valikointimahdollisuutta voidaan hyödyntää erityisesti relaatiotietokantojen yhteydessä. Suorituskyvyn kannalta keskeistä on menetelmä, jonka perusteella relaatioiden tiedot sijoitellaan MEMS-muistiin fyysisellä tasolla. Nykyisiä kovalevyillä käytettyjä relaation tietojen sijoittelumenetelmiä voidaan käyttää myös MEMS-muistin yhteydessä esimerkiksi käyttöjärjestelmän tasolla tehtävän yksinkertaisen muunnoksen avulla, mutta tällöin menetetään MEMS-muistin fyysisistä erityisominaisuuksista saatava hyöty. MEMS-muistia varten kehitettyjä sijoittelumenetelmiä käyttämällä saadaan hakuaikoja ja keskusmuistin kuormitusta parannettua moninkertaisesti [YDA07]. Tämän kirjoituksen pääsisältönä on uusien MEMS-muistia varten kehitettyjen sijoitusmenetelmien esittely sekä niiden suorituskyvyn analysointi. Luvussa 2 tehdään katsaus kahteen eri nykyiseen kovalevyllä käytettävään sijoittelumenetelmään ja todetaan näistä aiheutuvat tehokkuusongelmat [YDA07]. Luvussa 3 esitellään MEMS-muisti [YDA07]. Luvussa 4 ja 5 tarkastellaan MEMS-muistia varten kehitettyjä sijoittelumenetelmiä relaation tietojen sijoittelemiseksi [YDA07, YKM08]. Luvussa 6 esitetään yhteenveto MEMSmuistieista ja kirjoituksessa käsitellyistä sijoittelumenetelmistä.

2 2 Nykyiset relaation tietojen sijoittelumenetelmät Nykyisiä tietokannan hallintajärjestelmien käyttämiä kovalevyä varten kehitettyjä relaation tietojen sijoittelumenetelmiä voidaan käyttää myös MEMS-muistin yhteydessä esimerkiksi käyttöjärjestelmän tasolla tehtävän yksinkertaisen muunnoksen avulla. Tässä luvussa tarkastellaan kahta eri nykyistä sijoittelumenetelmää ja osoitetaan näistä aiheutuvat tehokkuusongelmat. Näitä menetelmiä tullaan myöhemmin kirjoituksessa vertailemaan MEMS-muistia varten kehitettyihin sijoittelumenetelmiin [YDA07]. Eniten käytetyssä NSM-menetelmässä NSM (N-ary storage model) relaation tiedot tallennetaan tasakokoisille sivuille. Kunkin sivun alussa on otsake, joka sisältää tietokannan hallintajärjestelmän tarvitsemia tietoja. Relaation monikoiden tiedot tallennetaan sivuille luettelemalla monikoiden attribuuttien arvoja peräkkäin otsakkeen jälkeen. Kunkin sivun lopussa on tietuehakemisto, joka ilmoittaa kunkin monikon alkuosoitteen sivun sisällä. Tietuehakemistoa tarvitaan, koska monikoiden pituudet voivat vaihdella. Kuvassa 1 (a) on esitetty esimerkkinä StudentGrade relaatio, ja kuvassa 1 (b) sen tietojen sijoittelu sivulle NSM-menetelmällä. Kuva 1. (a) relaatio StudentGrade, (b) tietojen sijoittelu sivulle NSM-menetelmällä [YDA07]. Monikoiden lisääminen relaatioon on tehokasta, koska tällöin on päivitettävä vain yhtä sivua. Kyselyissä tarvitaan kuitenkin usein tietoja vain osasta attribuuteista. Tarkastellaan esimerkkinä kyselyä (1). select name from StudentGrade (1) where grade > 90

3 Kyselyssä tarvitaan attribuuttien name ja grade tietoja. NSM-sijoittelussa kaikkien attribuuttien tiedot on tallennettu samalle sivulle, joten tietokannan hallintajärjestelmän on luettava muistiin myös age ja permid attribuuttien tiedot. Ylimääräisten attribuuttien tietojen lukeminen lisää levyltä luettavan tiedon määrää ja kuormittaa keskusmuistia. Nämä seikat puolestaan heikentävät järjestelmän suorituskykyä. Suorituskyvyn parantamiseksi on kehitetty DSM-sijoittelumenetelmä. Tässä kunkin attribuutin arvo tallennetaan eri sivulle. Kullakin sivulla on yhden attribuutin arvoja eri monikoille. Kuvassa 2 on esitetty StudentGrade relaation tietojen sijoittelu sivuille DSM-menetelmällä. Kuva 2. Relaation StudentGrade tietojen sijoittelu sivuille DSM-menetelmällä [YDA07]. Tietojen sijoittelun ansiosta tietokannan hallintajärjestelmän on luettava levyltä muistiin ainoastaan kyselyissä tarvittavien attribuuttien tietoja. Tästä johtuen kyselyiden suoritus on tehokasta jos tarvitaan vain yhden attribuutin tietoja. Jos kyselyssä tarvitaan useita eri attribuutteja, sen suorittaminen on hidasta, koska tietoja joudutaan lukemaan monesta eri paikasta. Lisäksi uusien monikoiden lisääminen relaation on hidasta, koska tällöin joudutaan tekemään päivityksiä yhtä monelle sivulle kuin relaatiossa on attribuutteja. Näistä syistä johtuen NSM-menetelmä on yleensä kokonaissuorituskyvyltään parempi [YDA07]. Sijoittelumenetelmien suorituskyvyn arvioinnissa on huomioitava myös, että kyselyiden suorituksessa haetaan yleensä vain tietyt ehdot täyttävät monikot. Nämä monikot ovat usein hajaantuneet tietokantasivuille. Koska tietokannan hallintajärjestelmän on luettava kokonaisia sivuja, se joutuu lukemaan kaikkien sivulla olevien monikoiden tiedot muistiin. Pahimmassa

4 tapauksessa monikoita on vain 1/sivu, jolloin levyltä luettavan tiedon määrä on hyvin suuri suhteessa halutun tiedon määrään. Monikoiden hajaantuminen sivuille heikentää kyselyiden suorituskykyä entisestään. 3 MEMS-muisti Uudessa MEMS-teknologiaan perustuvassa muistissa on lukupääjärjestelmä, jossa tuhansia lukupäitä on järjestetty tasavälein riveihin ja sarakkeisiin neliön muotoiselle alueelle. Tiedot tallennetaan lukupääjärjestelmän päällä olevalle neliön muotoiselle tietolevylle, jota voidaan liikutella vaaka- ja pystysuunnassa [YDA07]. MEMS-muistin rakenne on esitetty kuvassa 3. Kuva 3. MEMS-muistin rakenne [YDA07]. Tietolevyllä bitit on järjestetty neliön muotoisiin alueisiin siten, että kukin lukupää käsittelee yhden alueen bittejä. Kullakin alueella bitit on järjestetty pystysuoriin jonoihin, joita kutsutaan bittivektoreiksi. Yhteen bittivektoriin mahtuu 8 tavua tietoa. Tämä on pienin kerralla käsiteltävä tiedon yksikkö. Kunkin alueen bittivektorit on järjestetty riveihin ja sarakkeisiin. Tietolevyn rakenne on esitetty kuvassa 4. Yhden bittivektorin lukeminen tapahtuu yleisesti ottaen kolmessa vaiheessa. Ensin aktivoidaan lukupää, jonka alueella luettava bittivektori on. Seuraavaksi siirretään tietolevyä siten, että aktivoitu lukupää on luettavan bittivektorin päässä. Lopuksi liikutetaan tietolevyä pystysuunnassa ylös tai alaspäin bittivektorin mitan verran. Tällöin bittivektorin bitit liukuvat aktivoidun lukupään yli ja niissä olevat tiedot siirtyvät keskusmuistiin. Myös monta eri lukupäätä voidaan aktivoida samanaikaisesti, minkä ansiosta voidaan lukea yhtä aikaa useita eri bittivektoreita. Myös samanaikainen lukeminen ja kirjoittaminen eri lukupäillä on mahdollista. Kaikkia lukupäitä ei kuitenkaan voida aktivoida samanaikaisesti teknisten rajoitusten vuoksi. Taulukossa 1 on tietoa tietyn tyyppisen MEMS-muistin ominaisuuksista. Kooltaan MEMS-muistit ovat neliösenttimetrin suuruusluokkaa.

5 Kuva 4. Tietolevyn rakenne [YDA07]. Alueiden määrä 6400 (80 x 80) Lukupäiden määrä 6400 Aktiivisten päiden maksimimäärä 1280 Bittivektorin koko 8 tavua Bittien määrä alueella 2000 x 2000 Taulukko 1. Tietoa CMU CHIP tyyppisen MEMS-muistin ominaisuuksista. 4 FRM-sijoittelumenetelmä Tarkastellaan nyt sijoittelumenetelmää, jolla pyritään maksimoimaan MEMS-muistin fyysisistä erityisominaisuuksista saatava hyöty. MEMS-muistia varten kehitetyssä FRMsijoittelumenetelmässä (flexible retrieval model) kunkin monikon tiedot tallennetaan usean eri lukupään alueelle [YDA07]. Tarkastellaan aluksi esimerkkinä yksinkertaistettua tilannetta, jossa kolme 8-tavuista attribuuttia sisältävän relaation tiedot tallennetaan 4 x 4 aluetta sisältävälle tietolevylle. Relaation ensimmäisen monikon tiedot tallennetaan ensimmäiselle vierekkäisten alueiden muodostamalle alueriville. Kunkin ensimmäisen monikon attribuutin arvo sijoitetaan omalle alueelleen (1, 1) koordinaateissa sijaitsevalle bittivektorille. Koska aluerivillä on neljä aluetta, mutta relaatiossa vain kolme attribuuttia, aluerivin viimeinen alue jätetään tyhjäksi. Kuvassa 5 (a) on esimerkki tästä sijoittelusta. Relaation monikot 2-4 tiedot sijoitellaan saman periaatteen mukaisesti seuraaville alueriveille. Monikoiden 5-8 tiedot sijoitellaan samalla tavalla, mutta kunkin alueen sisällä koordinaatteihin (2, 1) eli toiseksi ylimpään bittivektoriin. Monikoiden tallennusta jatketaan saman periaatteen

6 mukaisesti kunnes kunkin alueen alin bittivektori on käytetty. Tämän jälkeen siirrytään kullakin alueella yhden bittivektorin verran oikealle ja jatketaan monikoiden sijoittelua alhaalta ylöspäin. Kuvassa 5 (a) olevat yhtenäiset nuolet kuvaavat monikoiden sijoittelujärjestystä. Kuva 5. (a) Relaation tietojen tallentaminen MEMS-muistiin FRM-sijoittelumenetelmällä. (b) Relaation StudentGrade tietosivu puskurissa käytettäessä FRM:ää. [YDA07] Jos jokin attribuuteista on kooltaan yli 8 tavua, tämä tallennetaan usealle eri vierekkäiselle alueelle. Todellisessa tietolevyssä vierekkäisiä alueita on useita kymmeniä. Tällöin yhdelle alueriville sijoitellaan useiden monikoiden tietoja siten, että yhden monikon viimeisen alueen vieressä oleville seuraaville alueille sijoitellaan seuraavan monikon attribuutit. Monikoiden sijoittelua alueriville jatketaan niin kauan kun siihen mahtuu kokonaisia monikoita. Tarkastellaan nyt kyselyn (1) suorittamista tilanteessa, jossa relaation StudentGrade tiedot on sijoiteltu FRM-menetelmän mukaisesti. Aluksi aktivoidaan name ja grade attribuuttien alueista vastaavat lukupäät. Seuraavaksi siirretään tietolevyä siten, että lukupäät, ovat alueiden koordinaateissa (1, 1). Tämän jälkeen liikutetaan tietolevyä kuvassa 5 (a) näkyvien yhtenäiset nuolten mukaista liikerataa. Tällöin ainoastaan kyselyssä tarvittavien attribuuttien tiedot siirtyvät muistiin. Kuvassa 5 (b) on esitetty puskurissa olevan sivun sisältö FRM:ää käytettäessä. Samanaikaisesti aktivoitavien lukupäiden määrä on rajoitettu. Tästä rajoituksesta seuraa, että kaikkia monikoita ei välttämättä saada luettua yhdellä kertaa. Tällöin levyä liikutetaan samaa liikerataa pitkin useita kertoja etu- ja takaperin siten, että joka kerralla aktivoidaan eri lukupäät. Kuvassa 5 (a) on esitetty tietolevyn liikerata tilanteessa tällaisessa tilanteessa.

7 Verrataan nyt FRM:n suorituskykyä edellä esitettyyn NSM-sijoittelumenetelmän nähden tilanteessa, jossa ei ole käytössä hakemistoa. NSM:ää käytettäessä on luettava aina koko relaation tiedot. FRM:ssä levyltä luettavan tiedon määrä ja muistin kulutus riippuu kyselyssä tarvittavien attribuuttien määrästä. Näin ollen FRM on yhtä tehokas kuin NSM, kun kyselyssä tarvitaan kaikki relaation attribuutit. Usein kuitenkin kyselyssä tarvitaan vain pieni osa relaation attribuuteista. Tällöin FRM on huomattavasti tehokkaampi kuin NSM. FRM on myös kaikissa tapauksissa vähintään yhtä tehokas kuin DSM. Vaihtelevanmittaisten attribuuttien arvojen sijoittelemisessa on kaksi eri tapaa. Jokaiselle attribuutin arvolle voidaan varata maksimimäärä tilaa, jolloin paljon tilaa menee hukkaan. Toinen tapa on sijoitella vaihtelevanmittaiset attribuutit alueille vakiomittaisten jälkeen ja varata niille ainoastaan arvon tarvitsema tila. Tällöin kuitenkin menetetään vaihtelevan mittaisten attribuutit osalta FRMmenetelmälle ominainen etu valita luettavaksi ainoastaan kyselyssä tarvittavat attribuutit. 5 Relational-parallel-sijoittelumenetelmä Relational-parallel-sijoittelumenetelmässä kunkin attribuutin arvot sijoitellaan mahdollisimman monen eri lukupään alueelle. Ensimmäisen attribuutin arvot sijoitetaan kunkin alueen sisällä samoissa koordinaateissa olevalle bittivektorille tai tarvittaessa peräkkäisille bittisektoreille. Seuraavat attribuuttien arvot sijoitellaan alueiden seuraaville bittivektoreille. Kuvassa 6 on esimerkki tästä sijoittelusta [YKM08]. Kuva 6. Esimerkki relational-parallel-sijoittelumenetelmästä. Tarkastellaan kyselyn

8 select attr_a, attr_b, attr_c from r (2) where attr_a > bound suorittamista suuressa relaatiossa. Ensin aktivoidaan maksimimäärä lukupäitä. Seuraavaksi siirretään tietolevy koordinaatteihin (1,1). Tämän jälkeen luetaan attribuutin A arvot kaikista monikoista. Tämä saattaa vaatia tietolevyn liikuttamista useita kertoja edestakaisin. Ehdon attr_a > bound toteutuminen tarkistetaan. Attribuuttien attr_b ja attr_c arvot luetaan vain niistä monikoista, joille ehto on tosi. Vertaillaan nyt relational-parallel-menetelmää FRM:n kanssa. Relational-parallel-menetelmän etuna on, että siinä saadaan aktivoitua mahdollisimman suuri määrä lukupäitä samanaikaisesti. Tämän ansiosta tiedon siirtonopeus on parempi kuin FRM:ssä. Toisaalta luettavien bittivektoreiden väliin jää monessa tapauksessa bittivektoreita, joita ei lueta. Tästä syystä johtuen relational-parallelmenetelmää käytettäessä kuluu enemmän aikaa lukemisten välillä tapahtuvaan tietolevyn liikutteluun. Lisäksi relational-parallel-menetelmän etuna on, että kyselyitä suoritettaessa ei tarvitse lukea muiden kuin ehto-osassa olevien attribuuttien tietoja. Tästä johtuen myös muistin kulutus on pienempi. FRM-menetelmässä on puolestaan poistettu lukemisten välillä tapahtuva turha tietolevyn liikuttelu, mutta maksimimäärää lukupäitä ei saada välttämättä aktivoitua samanaikaisesti. Lisäksi kaikkien kyselyssä tarvittavien attribuuttien tiedot on luettava myös niistä monikoista, jotka eivät annettuja ehtoja. 6 Yhteenveto MEMS-muistit soveltuvat kaksiulotteisen rakenteensa ja luettavien tietojen tarkan valikointimahdollisuutensa ansiosta erityisesti relaatioiden tietojen tallentamiseen. Suorituskyvyn kannalta keskeistä on menetelmä, jonka perusteella tiedot sijoitellaan fyysisellä tasolla. Kovalevyä varten kehitettyjä sijoittelumenetelmiä voidaan käyttää myös MEMS-muistin yhteydessä käyttöjärjestelmässä tehtävän muunnoksen avulla, mutta tällöin menetetään MEMS-muistin fyysisistä erityisominaisuuksista saatava hyöty. MEMS-muistia varten kehitettyjä menetelmiä käyttämällä voidaan suorituskykyä parantaa moninkertaisesti. Kirjoituksessa tarkasteltiin kahta eri MEMS-muistia varten kehitettyä sijoittelumenetelmää. FRM-menetelmässä tiedot sijoitellaan relaation loogista rakennetta muistuttavalla tavalla. Tällöin relaatiosta voidaan lukea vain kyselyssä tarvittavien attribuuttien tiedot. Tämän ansiosta levyltä

9 luettavan tiedon määrä ja keskusmuistin kulutus ovat pienempiä kuin kovalevyä varten kehitetyissä sijoittelumenetelmissä [YDA07]. Relational-parallel-menetelmässä relaation tiedot sijoitellaan attribuuteittain ryhmiteltynä. Menetelmän etuna on, että siinä saadaan maksimoitua aktiivisten lukupäiden määrä eikä kaikkien attribuuttien tietoja tarvitse lukea ehtoja täyttämättömistä monikoista. Haittapuolena on, että tietolevyä joudutaan liikuttelemaan enemmän [YKM08]. FRM- ja relational-parallel-menetelmän suoritusteho riippuu luettavan tiedon määrästä, kyselyssä tarvittavien attribuuttien määrästä, ehto-osan rajoittavuudesta. Relational-parallel menetelmä on tehokkaampi, jos relaatio on suuri ja ehto-osassa käytetään tiukasti rajaavaa ehtoa. Lähteet YDA07 Yu, H., Divyakant, A., Amr, E., MEMS based storage architecture for relational databases. The VLDB Journal (2007) 16(2): sivut 251-268 YKM08 Yi-Reun, K., KyuYoung, W., Min-Soo, K., Young-Koo, L., Il-Yeol, S. A logical model and data placement strategies for MEMS storage devices. CR/TR-2007-273 (2008)