10.9.2012

Exchange ESE, osa 2


FYYSINEN RAKENNE

Mikä on ESE?
Microsoft Exchange käyttää alustanaan ns. JET-tietokantaa. JET-tietokannasta käytetään myös nimitystä ESE (Extensible Storage Engine), joka viittaa Store-palveluun ja sen ESE.dll-komponenttiin. JET-tietokantaa käytetään muissakin Windows-pohjaisissa järjestelmissä ja palveluissa kuten esim. Active Directory, DNS, WINS ja DHCP. Exchangen tietokannasta käytetään nimitystä ESE98, jolla viitataan Exchange 2000 ja sitä uudempiin versioihin. Exchange 2010 myötä tietokannan rakenteeseen, Schemaan, on tullut merkittäviä muutoksia, jotka poikkeavat aikaisemmista versioista. Nimitys ESE98 on silti säilynyt samana.

ESE-tietokantaa kuvataan, että se on “multi-user ISAM (Indexed Sequential Access Method) database with full Data Manipulation Language (DML) and Data Definition Language (DDL) capabilities”. ISAM tarkoittaa Indexeihin perustuvaa nopeaa tiedonhakua ja Indexin avulla paikallistetaan tietue tietokannasta. ISAM on alun perin IBM:n kehittämä menetelmä Mainframe-tietokoneita varten. DLM tarkoittaa syntaksia, jolla tietokantaan voidaan lisätä, poistaa tai päivittää tietoa. DDL on syntaksi, jolla voidaan määritellä tietokannan rakenteita kuten esim. tietokantatauluja.

ESE:n fyysinen toteutus perustuu ns. B+Tree (Balanced)-puumalliin. Siinä tiedot järjestetään Blockeiksi tiedostojärjestelmän mukaisesti. Tehokkuus perustuu siihen, että tiedot tallennetaan syvyyssuunnassa mahdollisimman matalaan hierarkiaan, jotta tiedon palauttamiseen tarvitaan mahdollisimman vähän levyn I/O-operaatioita.

Tietokannan loogista rakennetta kuvaavat tietokantataulut, tietueet ja sarakkeet. Tietokanta sisältää postilaatikoita, jotka sisältävät kansioita, jotka taas sisältävät viestejä. Rakenne on hierarkkinen.

Tietokannan toiminta perustuu transaktioihin eli tietokantaan kohdistuvista sivujen muutoksista, jotka kirjoitetaan ensin transaktiolokiin ja sen jälkeen tietokantaan. Koko tietokanta voidaan palauttaa tarvittaessa lokeista.