Sdílet prostřednictvím


Ukládání do mezipaměti v datových skladech Fabric

Platí pro: Koncový bod sql Analytics a sklad v Microsoft Fabric

Načítání dat z datového jezera je zásadní operace vstupu a výstupu (V/V) s podstatnými důsledky pro výkon dotazů. Datový sklad Synapse v Microsoft Fabric využívá zpřesněné vzory přístupu k vylepšení čtení dat z úložiště a zvýšení rychlosti provádění dotazů. Navíc inteligentně minimalizuje potřebu čtení vzdáleného úložiště využitím místních mezipamětí.

Ukládání do mezipaměti je technika, která zlepšuje výkon aplikací pro zpracování dat snížením vstupně-výstupních operací. Ukládání do mezipaměti ukládá často přístupná data a metadata v rychlejší vrstvě úložiště, jako je místní paměť nebo místní disk SSD, aby následné požadavky mohly být obsluhovány rychleji přímo z mezipaměti. Pokud dotaz dříve získal přístup ke konkrétní sadě dat, všechny následné dotazy načtou tato data přímo z mezipaměti v paměti. Tento přístup výrazně snižuje latenci vstupně-výstupních operací, protože operace místní paměti jsou v porovnání s načítáním dat ze vzdáleného úložiště výrazně rychlejší.

Ukládání do mezipaměti je pro uživatele plně transparentní. Bez ohledu na původ, ať už se jedná o tabulku skladu, zástupce OneLake nebo dokonce zástupce OneLake, který odkazuje na služby mimo Azure, dotaz ukládá všechna data, ke kterým přistupuje.

Existují dva typy mezipamětí, které jsou popsány dále v tomto článku:

  • Mezipaměť v paměti
  • Mezipaměť disku

Mezipaměť v paměti

Když dotaz přistupuje k datům z úložiště a načítá je, provádí proces transformace, který překóduje data z původního formátu založeného na souborech do vysoce optimalizovaných struktur v mezipaměti v paměti.

Diagram znázorňující, jak se naplní mezipaměť v paměti

Data v mezipaměti jsou uspořádaná do komprimovaného sloupcového formátu optimalizovaného pro analytické dotazy. Každý sloupec dat je uložen společně, odděleně od ostatních, což umožňuje lepší kompresi, protože podobné datové hodnoty jsou uloženy společně, což vede ke snížení využití paměti. Když dotazy potřebují provádět operace s určitým sloupcem, jako jsou agregace nebo filtrování, může modul pracovat efektivněji, protože nemusí zpracovávat nepotřebná data z jiných sloupců.

Kromě toho je toto sloupcové úložiště také přínosem pro paralelní zpracování, což může výrazně urychlit provádění dotazů u velkých datových sad. Modul může současně provádět operace s více sloupci a využívat moderní procesory s více jádry.

Tento přístup je zvlášť přínosný pro analytické úlohy, kdy dotazy zahrnují skenování velkých objemů dat za účelem provádění agregací, filtrování a dalších manipulací s daty.

Mezipaměť disku

Některé datové sady jsou příliš velké, aby je bylo možné umístit do mezipaměti v paměti. Kvůli udržení rychlého výkonu dotazů u těchto datových sad využívá Sklad místo na disku jako doplňkové rozšíření mezipaměti v paměti. Všechny informace načtené do mezipaměti v paměti se také serializují do mezipaměti SSD.

Diagram znázorňující způsob naplnění mezipaměti v paměti a mezipaměti SSD

Vzhledem k tomu, že mezipaměť v paměti má v porovnání s mezipamětí SSD menší kapacitu, zůstávají data odebraná z mezipaměti v paměti v mezipaměti SSD po delší dobu. Když další dotaz požádá o tato data, načte se z mezipaměti SSD do mezipaměti v paměti výrazně rychleji, než když se načte ze vzdáleného úložiště, což vám nakonec zajistí konzistentnější výkon dotazů.

Diagram znázorňující, jak se mezipaměť v paměti naplní z mezipaměti SSD

Správa mezipaměti

Ukládání do mezipaměti zůstává konzistentně aktivní a funguje bez problémů na pozadí a nevyžaduje žádný zásah na vaší straně. Zakázání ukládání do mezipaměti není potřeba, protože by to nutně vedlo ke znatelnému zhoršení výkonu dotazů.

Mechanismus ukládání do mezipaměti je orchestrován a zachovává samotný Microsoft Fabric a nenabízí uživatelům možnost ručně vymazat mezipaměť.

Úplná konzistence transakcí mezipaměti zajišťuje, že všechny úpravy dat v úložišti, například prostřednictvím operací DML (Data Manipulat Language), po počátečním načtení do mezipaměti v paměti způsobí konzistentní data.

Když mezipaměť dosáhne prahové hodnoty kapacity a nová data se čtou poprvé, objekty, které zůstaly nepoužívané po nejdelší dobu trvání, se z mezipaměti odeberou. Tento proces je přijat tak, aby vytvořil prostor pro příliv nových dat a zachoval optimální strategii využití mezipaměti.