High-availability Databases
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology |
Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Authors
Date
2007
Department
Major/Subject
Ohjelmistotekniikka
Mcode
T-106
Degree programme
Language
en
Pages
59
Series
Abstract
In short, high availability usually means that the investigated system is able to continue operation and accept new connections 99.999% of time. However, the concept of availability and the definition of high availability involve many other individual concepts and aspects, like reliability, recoverability, redundancy-based fault tolerance and requirement criteria for successful operation under failures. In this study, concepts of availability and high availability arc first examined. Methods for reaching high availability in computing systems are discussed at a general level, then putting the focus on high-availability database management system details. Hotstandby database process failures are described in more detail and failover time in the primary server process is measured. The tested database is based on replicating the database transaction log and sending heartbeat messages between the active and the standby server process. Both processes are monitored and instructed by a custom high-availability controller application. In the measurements, the system was put under a load by using TM1 performance benchmark and simulating a failure of the active or standby server process. The tests revealed no significant differences in the measured failover times when using different replication methods, but the effect of a server process failure in the system throughput is more clearly visible. An average failover time in primary server process failure was measured to be about 500 milliseconds. Recovery from degraded availability state back to full availability state was noted to be considerably slower with 1-safe replication than using 2-safe replication.Korkea saatavuus (aikakäytettävyys) tarkoittaa saatavuusluokituksen tasoa 5, jossa järjestelmä tai sen osa on valmiina palvelemaan uusia pyyntöjä 99,999 % osuuden ajasta. Vikasietoisuus, ohjelmistojen kohdalla erityisesti häiriöistä toipuminen, on ratkaisevassa asemassa korkean saatavuuden saavuttamisessa. Tutkimuksessa esitellään korkean saatavuuden järjestelmien ja ohjelmistojen toteutuksen teknisiä ratkaisuja. Erityisenä sovelluskohteena käsitellään korkean saatavuuden toteuttavia tietokannan hallintajärjestelmiä. Työ koostuu kirjallisuustutkimuksesta ja mittauksista, joissa tavoitteena oli havainnoida järjestelmähäiriöiden aiheuttamia muutoksia palvelun saatavuuteen ja tietokannan suorituskykyyn sekä mitata primääripalvelimen toipumisaika. Testeissä käytettiin transaktiopohjaista levylle tallentavaa relaatiotietokantaa. Järjestelmä koostui kahdesta erillistä rinnakkaistietokannan solmusta, jotka yhdessä muodostivat korkean saatavuuden tason toteuttavan tietokantaparin. Järjestelmää kuormitettiin tietokantojen suorituskykytestausohjelmiston avulla. Mittaustuloksissa raportoidaan tilanmuutoksiin kuluva palautumisaika primäärissä tietokantasolmussa sekä tutkitaan järjestelmän toipumisaikaa alentuneen saatavuuden tilasta täydellisen saatavuuden tilaan käytettäessä eri replikointimenetelmiä. Tuloksissa ei havaittu merkittäviä eroja toipumisajassa eri replikointimenetelmien välillä. Vaihdettaessa primääripalvelinta järjestelmähäiriön takia, keskimääräinen palautumisaika oli noin 500 millisekuntia. Lisäksi 1-safe -replikoinnin todettiin palautuvan 2-safe -replikointia huomattavasti hitaammin täydellisen saatavuuden tilaan.Description
Supervisor
Soisalon-Soininen, EljasThesis advisor
Lindström, JanKeywords
thesis, diplomityö, high availability, tietokanta, database, korkea saatavuus, replication, aikakäytettävyys, failover