8.1.2013

Exchange ESE, osa 4


LOOGINEN RAKENNE

JOHDANTO

Exchangen looginen rakenne muodostuu tauluista, sarakkeista ja riveistä (tietueista). ESEUTIL-työkalulla voidaan listata kannassa olevat taulut, mutta ei varsinaisesti niiden sisältöä. Taulujen sarakkeiden tietotyyppejä (siis minkä tyyppistä dataa niihin voidaan tallentaa) on lueteltu ESE Architecture-artikkelissa. Lisäksi parissa esityksessä ja kirjoissa on kuvattu taulujen rakenteita. Koska taulujen rakenteeseen ei ole olemassa virallisesti mitään työkalua, on niiden sisältö jossain määrin tuntematon. Woanware on tehnyt aikoinaan työkalua (EseDbViewer), jolla voi avata EDB-tiedostoja. Nyt sivusto näkyy olevan lopetettu. Tässä artikkelissa käytetyt esimerkit perustuvat juurikin kyseiseen työkaluun. Tosin pitää huomioida, että tässä artikkelissa esitetyt esimerkit eivät välttämättä vastaa todellisuutta, vaan sitä miltä työkalun näkökulmasta näyttäisi asioiden olevan. Tarkoitus on tehdä vertailua lähinnä Exchange 2010 ja 2013 välillä.

6.1.2013

Exchange 2013 RTM - asennus (Unattended Mode)


Aluksi

Kirjoitin viime elokuussa artikkelin Preview-version Unattend-asennuksesta. Nyt kun Exchange Server 2013 RTM on ollut jo jonkin aikaa saatavilla, on aika päivittää tuo artikkeli. Mitään aikaisemmasta poikkeavaa ei ole oikeastaan tullut, joten samalla periaatteella edetään kuin ennenkin. Olemassa oleviin Exchange-ympäristöihin ei ole vielä mahdollisuus päivittää uutta Exchange 2013-versiota, mutta Microsoft on luvannut vuoden 2013 ensimmäisellä puoliskolla julkaista uudet Service Pack-paketit edellisiin, tuettaviin versioihin, jotta Exchange 2013 voidaan asentaa.

29.12.2012

Exchange ESE, osa 3


TRANSAKTIO


Johdanto
Ensinmäisessä artikkelissa on mainittu keskeiset lähteet ESE:en liittyen. Varsinaiset artikkelit ovat hyvin niukkasanaisia, mutta mainitut kaksi esitystä selvittävät jonkin verran asiaa syvemmältä. Tosin allekirjoittaneelle niistä herää lähinnä lisää kysymyksiä.

Transaktio
Transaktio on yksinkertaisuudessa toimenpide tai sarja toimenpiteitä (transactions), joilla muokataan fyysistä tietokantaa ts. tehdään muutoksia tietokantasivuihin (page). Tärkeimpiä toimenpiteitä ovat:

  • Insert - Lisätään tauluun uusi tieto esim. viesti.
  • Replace - Päivitetään olemassa oleva tieto esim. kansion viestien määrä.
  • Delete - Poistetaan olemassa oleva tieto esim. viesti.

Toimenpiteet, muutokset eli transaktiot kirjoitetaan ensin lokiin, jonka jälkeen muutokset kirjoitetaan muistista levylle, tietokantaan. Tätä kutsutaan myös nimellä Write ahead logging. Jokainen transaktio toteuttaa ns. ACID-mallia:

  • Atomic (all or nothing) – Joko kaikki toimenpiteet toteutuvat tai jonkun puuttuessa, mikään yksittäinen toimenpide ei toteudu.
  • Consistent – Tietokanta muuttuu eheästä tilasta toiseen eheään tilaan.
  • Isolated – Muutokset eivät ole näkyviä, kunnes toimenpiteet ovat onnistuneesti suoritettu. Jokainen transaktio suoritetaan aina eri aikaan, vaikka niitä näyttäisi olevan useita yhtä aikaan. Näin ollen yksittäinen transaktio (t) suoritetaan aina joko ennen (t) tai jälkeen toisen transaktion (t).
  • Durable – Onnistuneet toimenpiteet tulee pysyä tietokannassa järjestelmän vikaantuessa.

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.

21.8.2012

Exchange ESE, osa1


Saatteeksi
Myönnetään, että aihe on vähintäänkin haastava, mutta samalla erittäin mielenkiintoinen. Tarkoituksena on tarkastella Exchangen ESE-tietokantaa kolmesta eri näkökulmasta: fyysinen topologia, transaktiomalli ja looginen topologia. Esimerkit käsittelevät Exchange 2003, 2010 ja 2013 versioita ja ne on mainittu kussakin yhteydessä. Tietokannan toimintaa on hyvä ymmärtää, jotta ongelmatilanteissa ymmärretään, mitä pitää tehdä. Kun tilanne on ns. päällä, ei tällaisen aiheeseen tutustumiseen ole yksinkertaisesti silloin enää mahdollisuuksia, koska jokainen minuutti ja tunti on tärkeä.