Kasutaja:Kasutaja0/Mälupõhine andmebaas

Mälupõhine andmebaas (inglise keeles in-memory database, millest tuleneb lühend IMDB) on andmebaasi haldamise süsteem, mis talletab andmeid muutmälus. See on vastand andmebaasihaldussüsteemidele, mis säilitavad andmeid kettal. Mälupõhised andmebaasid on kiiremad kui ketassalvestil põhinevad andmebaasid, kuna ketta poole pöördumine on aeglasem kui muutmälu poole pöördumine, sisemised optimeerimisalgoritmid on lihtsamad ning käideltakse vähem protsessorikäske.[1]

Sageli kasutatakse mälupõhiseid andmebaase rakendustes, mille reaktsiooniaeg on kriitiline. Ideaalsed kandidaadid on rakendused, mis tegelevad reaalajas ärianalüüsiga, pettuste tuvastamisega või andmete voogedastamisega. Mälupõhised andmebaasid on muutunud üha populaarsemaks eriti just andmeanalüüsi valdkonnas. IMDB kasutuselevõtt on muutunud üha teostatavamaks, kuna mitmetuumalised protsessorid suudavad adresseerida suurt hulka mälu ning muutmälu hind on ajapikku odavnenud.[1][2]

Mälupõhiste andmebaaside peamine tehniline puudus on, et üldjuhul säilitatakse andmeid hävimälus. See tähendab, et juhul, kui tekib voolukatkestus, andmed hävivad. Kui aga kasutatakse säilmälu, siis mälupõhised andmebaasid suudavad käidelda täiskiirusel ja säilitada andmeid ka elektrikatkestuse korral.[3]

Mittepüsivus muuda

Mälupõhistes andmebaasides talletatakse andmeid muutmälus. Kuna enamik muutmäludest pole säilmälud, siis toite väljalülitamisel mälus olevad andmed hävivad. See aga tähendab, et andmed pole püsivad. Mälupõhistes andmebaasides on võimalik saavutada püsivus järgnevatel viisidel:

  1. hetktõmmis, millega jäädvustatakse hetkeseis andmebaasist. Üldjuhul tekitatakse hetktõmmiseid perioodiliselt ning enne süsteemi plaanipärast väljalülitamist. Selleks salvestatakse andmebaasi hetkene mäluseis näiteks kõvakettale ning hiljem on võimalik taastada andmebaas eelnevasse seisu. Selline lähenemine annab siiski ainult osalise püsivuse, kuna kõige uuemaid andmeid ei säilitata hetktõmmises;[4]
  2. transaktsioonide logimine, mille vahendusel logitakse andmebaasi tehtavad muudatused ketta peal olevasse faili. Juhul kui andmebaasisüsteemile tehakse taaskäivitus, siis failist on võimalik käivitada kõik päringud uuesti ning seeläbi taastada andmebaasi seis;[4]
  3. kõrge kättesaadavusega hajusandmebaaside süsteemid, mis tuginevad andmebaasi tiražeerimisel. Kui üks süsteem lülitub välja, siis asendatakse see teiste süsteemidega, milles on samad andmed;[5]
  4. säilmälu (NVRAMi) kasutamine. Tavaliselt on tegu muutmäluga, mis on toetatud akuga. Juhul kui süsteemile tehakse taaskäivitus, siis andmed jäävad alles.[6]

Hübriidid muuda

Kuigi andmete talletamine mälus annab juurde jõudlust, on tegemist kalli tehnoloogiaga. Üks viis, kuidas võimalikult odavalt mälupõhisest andmebaasist kasu saada, on talletada enimpäritud andmed muutmälus ning kõik ülejaanud kettal. Sellisel juhul on tegemist hübriidiga, kus enamik andmetest säilitatakse kettal ning ainult väike osa andmetest muutmälus. Osad süsteeemid uuendavad andmeid mälus dünaamiliselt sõltuvalt andmete kasutatavusest. Võimalik on ka kasutada puhverdamist, kus talletatakse ainult kõige viimati päritud andmed muutmälus.[7]

Viited muuda

  1. 1,0 1,1 Craig S. Mullins. "How to determine if an in-memory DBMS is right for your company". Vaadatud 5.11.18. {{netiviide}}: kontrolli kuupäeva väärtust: |Kasutatud= (juhend)
  2. "In-memory database". Vaadatud 5.11.18. {{netiviide}}: kontrolli kuupäeva väärtust: |Kasutatud= (juhend)
  3. Toni McConnel. "AGIGARAM NVDIMM saves data through system failure". Vaadatud 5.11.18. {{netiviide}}: kontrolli kuupäeva väärtust: |Kasutatud= (juhend)
  4. 4,0 4,1 Denis Anikin. "What an in-memory database is and how it persists data efficiently". Vaadatud 29.11.18. {{netiviide}}: kontrolli kuupäeva väärtust: |Kasutatud= (juhend)
  5. "In-Memory Database Questions and Answers 2018". Vaadatud 29.11.18. {{netiviide}}: kontrolli kuupäeva väärtust: |Kasutatud= (juhend)
  6. "In-Memory Database Systems - Questions and Answers". Vaadatud 29.11.18. {{netiviide}}: kontrolli kuupäeva väärtust: |Kasutatud= (juhend)
  7. Andrew Brust. "Teradata enters the in-memory fray, intelligently". Vaadatud 5.11.18. {{netiviide}}: kontrolli kuupäeva väärtust: |Kasutatud= (juhend)