Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri koneille) Virtuaaliset tietokannat näkyvät sovellukselle tavallisena kantana riippumatta kantojen fyysisestä sijainnista Hajautuksen hyötyjä Tietokanta on yhdenmukainen riippuen yrityksen organisaatiosta ja rakenteesta Vrt. Microsoftin AD Internetin DNS Toimipisteelle tärkeä tieto saatavilla paikallisesti Organisaation data saatavilla keskitetysti 1
Hajautuksen hyötyjä Toistuvien kyseilyiden kohdistuminen paikalliselle palvelulle parantaa suorituskykyä (viiveiden minimoiminen) Data luotettavammin saatavilla Data hallittavissa paikallisesti Järjestelmä helposti laajennettavissa uusiin pisteisiin Hajautuksen haittapuolia Tietokantajärjestelmistä muodostuu komplekseja kokonaisuuksia, joiden kehittäminen ja hallinnointi voi muodostua resursseja vaativaksi toiminnaksi Tietokantojen välinen dataliikenne voi olla huomattavaa Hajautuksessa huomioitavaa Tietokanta suunniteltava hajautetuksi Tapahtumien hallinta Samanaikaisuuden huomioiminen Toipumisen toteuttaminen Käyttöjärjestelmien ja tiedonhallintajärjestelmien erityispiirteet 2
Hajautuksen vaihtoehtoja Taulun replikointi (hajautus) Osa tauluista kopioidaan useisiin tietokantoihin Taulun segmentointi Samasta taulusta eri toteutus eri tietokannoissa Taulujen hajautus Eri taulut eri tietokannoissa Hajautuksen vaihtoehtoja Segmentointi on tietokannan loogista suunnittelua Replikointi on tietokannan tallennusten suunnittelua Segmentoinnin ja replikoinnin toteutus on suunniteltava yhdessä Tavoitteena datan saatavuus hajautetuissa ja irrallisissa toteutuksissa Hajautus, segmentointi Useampi taulu toteuttaa yhden loogisen tietokantakuvauksen olion Segmentit ovat loogisen taulun osia Segmentit yhdessä muodostavat alkuperäisen taulun Data vain kertaalleen Hajautus on loogista 3
Hajautus, segmentointi Tietokannan segmentointi vaikuttaa sovelluksen toteutukseen Suorituskyky paraneen käytettäessä segmentoituja tauluja Datan paikallisuuden myötä tietoliikenne vähenee Hajautus, replikointi Täysi replikointi Täydellinen kopio tietokannasta jokaisessa tietokannasta Osittainen replikointi Tärkeät taulut tai segmentit kopioidaan Hajautus, replikointi Päivitykset varsinaiseen kantaan, jonka päivitykset vyörytetään muihin esiintymiin tai Päivitykset kohdistuvat kaikkiin esiintymiin, jolloin päivitykset vyörytetään muihin esiintymiin Ajoituksena Synkroninen replikointi Asynkroninen replikointi Ajastettu replikointi 4
Mobiilitietokannat, synkronointi Mobiilitietokanta Oma kiinteä tietokanta, joka sisältää vain tarvittavat osat varsinaisesta tietokannasta Tietokantaan liitetty toiminnallisuus sisältää vain tarvittavat osat Asynkroninen replikointi molempiin suuntiin Hajautus, paikallisuus Autonomisuus Operaatiot hallitaan ja toteutetaan paikallisesti Data saavutettavissa jostakin tietokannasta Toiminta riippumatonta kokonaisuuden toiminnasta Hajautus, samanarvoisuus Päätietokanta Keskitetty tapahtumien ja kyselyiden hallinta Keskitetty tietohakemiston ylläpito Tasa-arvoiset tietokannat Tietokannat vastaavat toisiaan 5
Hajautus, sijainti Sijainnin tuntemattomuus Ei tietoa (tarvetta) fyysisestä sijainnista Data paikallista Helpottaa sovelluksen toteutusta Tietokantojen siirtäminen tai lisääminen ei vaikuta sovellukseen Hajautus, segmentointi Läpinäkyvä segmentointi Taulun rivit eri kannoissa käyttökohteiden mukaan Sovellus näkee loogisen taulun Hajautus, hallinta sovelluksessa Sovellus muodostaa yhteyden eri järjestelmien tietokantoihin (ODBC) Transaktion hallinta toteutetaan sovelluksessa (tietokantaohjelmointia) Sovelluspalvelimet Käyttäjien vahvistaminen ja valtuuttaminen Yhteydet useisiin tietovarastoihin Sovellus ja järjestelmäratkaisu erillään 6