Paměťová databáze - In-memory database - Wikipedia
An databáze v paměti (IMDB, taky hlavní paměťový databázový systém nebo MMDB nebo paměť rezidentní databáze) je Systém pro správu databází na které se primárně spoléhá hlavní paměť pro ukládání dat v počítači. To je v kontrastu se systémy pro správu databází, které používají a úložiště disku mechanismus. Paměťové databáze 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 odpadá hledat čas při dotazování na data, která poskytují rychlejší a předvídatelnější výkon než disk.[1][2]
Aplikace, kde je kritická doba odezvy, jako jsou aplikace provozující zařízení telekomunikační sítě a mobilní reklama sítě, často používají databáze hlavní paměti.[3] IMDB získaly hodně trakce, zejména v EU analytika dat prostor, počínaje střední-2000s - hlavně kvůli vícejádrovým procesorům, které dokážou řešit velkou paměť, a kvůli méně nákladným RAM.[4][5]
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í, úmyslného nebo jiného, data uložená v volatilní RAM je ztracen.[6] Se zavedením energeticky nezávislá paměť s náhodným přístupem technologie, paměti v paměti budou schopny běžet plnou rychlostí a udržovat data v případě výpadku napájení.[7][8][9]
Podpora ACID
Ve své nejjednodušší podobě ukládají hlavní paměťové databáze data dočasná paměť zařízení. 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" KYSELINA (atomicita, konzistence, izolace, trvanlivost) vlastnosti. Těkavé paměti založené na paměti IMDB mohou a často podporují další tři vlastnosti ACID - atomicitu, konzistenci a izolaci.
Mnoho IMDB přidalo trvanlivost pomocí následujících mechanismů:
- Momentka soubory, nebo kontrolní bod obrázky, 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é odstavení. 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 ), paměťový modul s rozhraním DRAM, často kombinovaným s NAND flash pro zabezpečení energeticky nezávislých dat. První řešení NVDIMM byla navržena s 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 mazatelné programovatelné paměti ROM (EEPROM ). S tímto úložištěm může systém IMDB při restartu obnovit úložiště dat z jeho posledního konzistentního stavu.
- Vysoká dostupnost implementace, které se spoléhají na databázi replikace, s automatickým převzetí služeb při selhání do stejné pohotovostní databáze v případě selhání primární databáze. K ochraně před ztrátou dat v případě úplného selhání systému se kromě jednoho nebo více výše uvedených mechanismů obvykle používá replikace IMDB.
Některé IMDB umožňují schématu databáze 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 z důvodu trvanlivosti zapisována do deníku (i když 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ý tvrdý 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.[10] Tento přístup se jemně liší od ukládání do mezipaměti, ve kterém nejvíce nedávno přístup data se ukládají do mezipaměti, na rozdíl od většiny často přístupné data uložená 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 RAM čipy se nemohou přiblížit hustota malého pevného disku
V cloud computing v odvětví se objevily pojmy „teplota dat“ nebo „horká data“ a „studená data“, která popisují, jak jsou v tomto ohledu ukládána data.[11] 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é“.[11]
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 v spotřební elektronika, zahrnují některé jednotky s trvalým úložištěm a jiné, které spoléhají na paměť pro ukládání (set-top boxy, například). Pokud taková zařízení vyžadují databázový systém, může výrobce přijmout hybridní databázový systém na nižších a horní náklady a s menším přizpůsobením kódu, než aby pro své produkty bez disku a na disku používaly samostatné databáze v paměti a na disku.
První databázový stroj podporovat tabulky v paměti i na disku v jedné databázi, WebDNA, byl propuště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.[12]
Viz také
- Porovnání systémů správy relačních databází
- Distribuované úložiště dat
- Vestavěné databáze
- Zpracování v paměti
- Seznam databází v paměti
- NoSQL
- NewSQL
Poznámky
- ^ „Definice: databáze v paměti“. WhatIs.com. Citováno 19. ledna 2013.
- ^ Michael Vizard. „Vzestup databází v paměti“. Slashdot. Archivovány od originál dne 1. února 2013. Citováno 19. ledna 2013.
- ^ „TeleCommunication Systems se přihlašuje jako prodejce TimesTen; mobilní operátoři a dopravci získávají platformu pro služby založené na poloze v reálném čase“. Obchodní drát. 2002-06-24.
- ^ „Klesající ceny RAM zvyšují nárůst databáze v paměti“. MÍZA. Citováno 19. ledna 2013.
- ^ „Rise of In-Memory Database Impacts Wide Wide of Jobs“. Dice.com. 13. července 2012.
- ^ „Výpočet v paměti: co se stane, když vypadne napájení?“. Citováno 10. března 2017.
- ^ Z historického hlediska nebyla RAM používána jako trvalé úložiště dat, a proto ztráta dat v těchto případech nebyla problémem. Persistence celého systému s energeticky nezávislými vzpomínkami http://research.microsoft.com/apps/pubs/default.aspx?id=160853
- ^ Temná budoucnost paměti NAND Flash http://research.microsoft.com/apps/pubs/default.aspx?id=162804
- ^ AGIGARAM NVDIMM ukládá data při selhání systému https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system-failure
- ^ „Teradata vstupuje do boje v paměti, inteligentně ZDNet“. Citováno 28. července 2017.
- ^ A b „Co se liší: ukládání horkých a studených dat“. Citováno 28. července 2017.
- ^ „Opravdu jsou to ZLATÉ ROKY skladování.“
Reference
- Jack Belzer. Encyclopedia of Computer Science and Technology - Svazek 14: Velmi velké databázové systémy do nulové paměti a Markovova informačního zdroje. Marcel Dekker Inc. ISBN 978-0-8247-2214-2.