Share via


Gyorsítótárazás a Fabric-adattárházakban

A következőkre vonatkozik: SQL Analytics-végpont és Warehouse a Microsoft Fabricben

Az adatok lekérése a data lake-ből kulcsfontosságú bemeneti/kimeneti (IO) művelet, amely jelentős hatással van a lekérdezési teljesítményre. A Microsoft Fabricben a Synapse Data Warehouse kifinomult hozzáférési mintákat alkalmaz az adatok tárolási olvasásának javítása és a lekérdezések végrehajtási sebességének növelése érdekében. Emellett intelligensen minimalizálja a távoli tárolók olvasásának szükségességét a helyi gyorsítótárak használatával.

A gyorsítótárazás olyan technika, amely az IO-műveletek csökkentésével javítja az adatfeldolgozási alkalmazások teljesítményét. A gyorsítótárazás a gyakran használt adatokat és metaadatokat egy gyorsabb tárolási rétegben tárolja, például a helyi memóriát vagy a helyi SSD-lemezt, hogy a későbbi kérések gyorsabban, közvetlenül a gyorsítótárból legyenek kiszolgálva. Ha egy lekérdezés korábban egy adott adatkészlethez fért hozzá, a későbbi lekérdezések közvetlenül a memóriabeli gyorsítótárból fogják lekérni az adatokat. Ez a megközelítés jelentősen csökkenti az IO-késést, mivel a helyi memóriaműveletek különösen gyorsabbak a távoli tárolóból történő adatok lekéréséhez képest.

A gyorsítótárazás teljes mértékben átlátható a felhasználó számára. Függetlenül a forrástól, legyen szó egy raktártábláról, egy OneLake-parancsikonról vagy akár a nem Azure-szolgáltatásokra hivatkozó OneLake-parancsikonról, a lekérdezés gyorsítótárazza az összes elérhető adatot.

A gyorsítótáraknak két típusa van, amelyeket a cikk későbbi részében ismertetünk:

  • Memóriabeli gyorsítótár
  • Lemezgyorsítótár

Memóriabeli gyorsítótár

Amikor a lekérdezés hozzáfér és lekéri az adatokat a tárolóból, egy átalakítási folyamatot hajt végre, amely az adatokat az eredeti fájlalapú formátumból a memóriában lévő gyorsítótárban lévő, magas optimalizált struktúrákra alakítja át.

A memóriabeli gyorsítótár feltöltését bemutató diagram.

A gyorsítótárban lévő adatok elemzési lekérdezésekhez optimalizált tömörített oszlopos formátumban lesznek rendszerezve. A rendszer minden adatoszlopot együtt, a többitől elkülönítve tárol, ami jobb tömörítést tesz lehetővé, mivel a hasonló adatértékek együtt vannak tárolva, ami csökkenti a memóriaigényt. Ha a lekérdezéseknek műveleteket kell végrehajtaniuk egy adott oszlopon, például az aggregátumokon vagy a szűrésen, a motor hatékonyabban működhet, mivel nem kell más oszlopokból származó szükségtelen adatokat feldolgoznia.

Emellett ez az oszlopos tárolás a párhuzamos feldolgozást is elősegíti, ami jelentősen felgyorsíthatja a lekérdezések végrehajtását a nagy adathalmazok esetében. A motor egyszerre több oszlopon is képes műveleteket végezni, kihasználva a modern többmagos processzorok előnyeit.

Ez a megközelítés különösen hasznos az elemzési számítási feladatok esetében, ha a lekérdezések nagy mennyiségű adatot vizsgálnak az összesítések, szűrések és egyéb adatmanipulációk elvégzéséhez.

Lemezgyorsítótár

Bizonyos adathalmazok túl nagyok ahhoz, hogy a memórián belüli gyorsítótárban legyenek elhelyezve. Az adathalmazok gyors lekérdezési teljesítményének fenntartása érdekében a Warehouse a lemezterületet a memóriabeli gyorsítótár kiegészítő bővítményeként használja fel. A memóriában lévő gyorsítótárba betöltött információk szintén szerializálva lesznek az SSD-gyorsítótárban.

A memóriabeli és az SSD-gyorsítótár feltöltését bemutató diagram.

Mivel a memóriabeli gyorsítótár kapacitása az SSD-gyorsítótárhoz képest kisebb, a memóriában lévő gyorsítótárból eltávolított adatok hosszabb ideig az SSD-gyorsítótárban maradnak. Amikor az ezt követő lekérdezés kéri ezeket az adatokat, a rendszer az SSD-gyorsítótárból a memóriában lévő gyorsítótárba kéri le azokat lényegesen gyorsabban, mint ha távoli tárolóból kéri le őket, ezáltal konzisztensebb lekérdezési teljesítményt biztosít.

A memóriabeli gyorsítótár SSD-gyorsítótárból való feltöltését bemutató ábra.

Gyorsítótár-kezelés

A gyorsítótárazás folyamatosan aktív marad, és zökkenőmentesen működik a háttérben, és nem igényel beavatkozást az Ön részéről. A gyorsítótárazás letiltása nem szükséges, mivel ez elkerülhetetlenül a lekérdezési teljesítmény észrevehető romlásához vezetne.

A gyorsítótárazási mechanizmust maga a Microsoft Fabric vezényli és támogatja, és nem teszi lehetővé a felhasználóknak a gyorsítótár manuális törlését.

A teljes gyorsítótár tranzakciós konzisztenciája biztosítja, hogy a tárolóban lévő adatok bármilyen módosítása, például az adatmanipulációs nyelv (DML) műveletein keresztül, a memóriabeli gyorsítótárba való első betöltése után, konzisztens adatokat eredményez.

Amikor a gyorsítótár eléri a kapacitásküszöbét, és a friss adatok első olvasása történik, a leghosszabb ideig nem használt objektumok törlődnek a gyorsítótárból. Ez a folyamat az új adatok beáramlásának helyének létrehozására és az optimális gyorsítótár-kihasználtsági stratégia fenntartására kerül.