Paměťová databáze - In-memory database

Databáze v paměti ( IMDB , také hlavní paměť databáze systému nebo MMDB nebo databáze rezidentní paměti ) je databázový systém, který v první řadě opírá o hlavní paměti pro ukládání počítačových dat . To je v kontrastu se systémy pro správu databází, které využívají mechanismus pro ukládání disků . Databáze v paměti jsou rychlejší než databáze optimalizované pro disk, protože přístup na disk je pomalejší než přístup do paměti, interní optimalizační algoritmy jsou jednodušší a provádějí méně instrukcí CPU. Přístup k datům v paměti eliminuje čas hledání při dotazování na data, což poskytuje rychlejší a předvídatelnější výkon než disk.

Aplikace, kde je kritická doba odezvy, jako jsou ty, které provozují zařízení telekomunikačních sítí a mobilní reklamní sítě, často používají databáze hlavní paměti. Paměti IMDB získaly hodně trakce, zejména v prostoru pro analýzu dat , počínaje polovinou roku 2000 - hlavně díky vícejádrovým procesorům, které dokážou řešit velkou paměť, a kvůli levnější RAM .

Potenciální technickou překážkou při ukládání dat v paměti je volatilita paměti RAM. Konkrétně v případě výpadku napájení, ať už úmyslného nebo jiného, dojde ke ztrátě dat uložených v těkavé paměti RAM . Se zavedením energeticky nezávislé technologie paměti s náhodným přístupem budou databáze v paměti schopny běžet plnou rychlostí a udržovat data v případě výpadku napájení.

Podpora ACID

Ve své nejjednodušší podobě ukládají databáze hlavní paměti data na energeticky nezávislých paměťových zařízeních. Tato zařízení ztratí všechny uložené informace, když ztratí napájení nebo se resetuje. V tomto případě lze říci, že IMDB chybí podpora pro část „trvanlivosti“ vlastností ACID (atomicita, konzistence, izolace, trvanlivost). Těkavé paměti založené na paměti IMDB mohou a často také podporují další tři vlastnosti ACID - atomicitu, konzistenci a izolaci.

Mnoho IMDB přidalo trvanlivost pomocí následujících mechanismů:

  • Soubory snímků nebo obrázky kontrolních bodů , které zaznamenávají stav databáze v daném časovém okamžiku. Systém je obvykle generuje pravidelně, nebo alespoň když IMDB provádí řízené vypnutí. I když dávají datům určitou míru vytrvalosti (tím, že v případě selhání systému databáze neztratí vše), nabízejí pouze částečnou trvanlivost (protože dojde ke ztrátě „nedávných“ změn). Pro plnou trvanlivost je třeba doplnit s jednou z následujících možností:
  • Protokolování transakcí , které zaznamenává změny do databáze do souboru žurnálu a usnadňuje automatické obnovení databáze v paměti.
  • Non-Volatile DIMM ( NVDIMM ), a memory module that has a DRAM interface, often combine with NAND flash for the Non-Volatile data security. První řešení NVDIMM byla navržena se superkondenzátory místo baterií pro záložní zdroj energie. S tímto úložištěm může IMDB bezpečně pokračovat ze svého stavu po restartu.
  • Energeticky nezávislá paměť s náhodným přístupem (NVRAM), obvykle ve formě statické paměti RAM zálohované napájením z baterie (baterie RAM), nebo elektricky vymazatelná programovatelná paměť ROM ( EEPROM ). S tímto úložištěm může systém IMDB s restartem obnovit datové úložiště z jeho posledního konzistentního stavu.
  • Implementace vysoké dostupnosti, které se spoléhají na replikaci databáze , s automatickým převzetím služeb při selhání do stejné pohotovostní databáze v případě selhání primární databáze. Z důvodu ochrany před ztrátou dat v případě úplného zhroucení systému se kromě jednoho nebo více výše uvedených mechanismů obvykle používá replikace IMDB.

Některé IMDB umožňují databázovému schématu specifikovat různé požadavky na trvanlivost pro vybrané oblasti databáze - rychlejší data, která lze snadno regenerovat nebo která nemají žádný význam po vypnutí systému, by tedy nemusela být kvůli trvanlivosti deníkována (ačkoli pro vysokou dostupnost by musel být replikován), zatímco informace o konfiguraci by byly označeny jako vyžadující zachování.

Hybridy s databázemi na disku

Zatímco ukládání dat v paměti poskytuje výhody výkonu, jedná se o nákladnou metodu ukládání dat. Přístup k realizaci výhod úložiště v paměti při omezení jeho nákladů spočívá v uložení nejčastěji přistupovaných dat do paměti a zbytku na disk. Vzhledem k tomu, že neexistuje žádný pevný rozdíl mezi tím, která data by měla být uložena v paměti a která by měla být uložena na disk, některé systémy se dynamicky aktualizují tam, kde jsou data ukládána na základě využití dat. Tento přístup se nenápadně liší od ukládání do mezipaměti , ve kterém jsou ukládána data , ke kterým se přistupuje naposledy , na rozdíl od nejčastěji přistupovaných dat uložených v paměti.

Flexibilita hybridních přístupů umožňuje dosáhnout rovnováhy mezi:

  • výkon (který je vylepšen tříděním, ukládáním a načítáním specifikovaných dat zcela v paměti, spíše než na disk)
  • náklady, protože levnější pevný disk lze nahradit větší pamětí
  • vytrvalost
  • tvarový faktor, protože čipy RAM se nemohou přiblížit hustotě malého pevného disku

V odvětví cloud computingu se objevily pojmy „teplota dat“ nebo „horká data“ a „studená data“, která popisují, jak se v tomto ohledu ukládají data. Horká data se používají k popisu důležitých dat, ke kterým je třeba často přistupovat, zatímco studená data popisují data, která jsou potřebná méně často a méně naléhavě, například data uchovávaná pro účely archivace nebo auditu. Horká data by měla být ukládána způsoby, které nabízejí rychlé načítání a úpravy, často provedené uložením v paměti, ale ne vždy. Chladná data na druhé straně lze ukládat nákladově efektivnějším způsobem a je akceptováno, že přístup k datům bude pravděpodobně pomalejší ve srovnání s horkými daty. I když jsou tyto popisy užitečné, neexistuje žádná konkrétní definice pro „horké“ a „studené“.

Efektivita výroby poskytuje další důvod pro výběr kombinovaného databázového systému v paměti / na disku. Některé produktové řady zařízení, zejména ve spotřební elektronice , obsahují některé jednotky s trvalým úložištěm a jiné, které spoléhají na paměť pro ukládání (například set-top boxy ). Pokud taková zařízení vyžadují databázový systém, může výrobce použít hybridní databázový systém s nižšími a vyššími náklady as menším přizpůsobením kódu, než aby používal samostatné databáze v paměti a na disku pro své disky bez disku a diskové produkty.

První databázový stroj podporující tabulky v paměti i na disku v jedné databázi WebDNA byl vydán v roce 1995.

Paměť úložiště

Další variace zahrnuje velké množství energeticky nezávislé paměti na serveru, například čipy flash paměti jako adresovatelná paměť, nikoli strukturované jako disková pole. Databáze v této formě paměti kombinuje velmi vysokou rychlost přístupu s vytrvalostí při restartování a ztrátách energie.

Viz také

Poznámky

Reference

  • Jack Belzer. Encyclopedia of Computer Science and Technology - Volume 14: Very Large Data Base Systems to Zero-Memory and Markov Information Source . Marcel Dekker Inc. ISBN   978-0-8247-2214-2 .

externí odkazy