Välimuistiin tallentaminen Fabric-tietovarastossa
Koskee:✅ SQL-analytiikan päätepiste ja Microsoft Fabric -varasto
Tietojen noutaminen Data Lake -tallennustilasta on ratkaiseva syöte/tulos -toiminto, jolla on merkittäviä vaikutuksia kyselyn suorituskykyyn. Fabric-tietovarasto hyödyntää tarkennettuja käyttömalleja parantaakseen tallennustilasta luettuja tietoja ja nostaakseen kyselyjen suoritusnopeutta. Lisäksi se minimoi älykkäästi etätallennustilan lukemisen tarpeen paikallisia välimuistia hyödyntämällä.
Välimuistitallennus on tekniikka, joka parantaa tietojenkäsittelysovellusten suorituskykyä vähentämällä IO-toimintoja. Välimuistiin tallentaminen tallentaa usein käytettyjä tietoja ja metatietoja nopeammin tallennuskerroksessa, kuten paikallisessa muistissa tai paikallisessa SSD-levyssä, jotta myöhemmät pyynnöt voidaan suorittaa nopeammin suoraan välimuistista. Jos kysely on aiemmin käyttänyt tiettyä tietojoukkoa, kaikki myöhemmät kyselyt noutavat nämä tiedot suoraan muistissa olevasta välimuistista. Tämä lähestymistapa vähentää merkittävästi IO-viivettä, koska paikalliset muistitoiminnot ovat huomattavasti nopeampia kuin tietojen noutaminen etätallennustilasta.
Käyttäjä voi nähdä välimuistiin tallentamisen täysin. Riippumatta alkuperästä, olipa kyseessä varastotaulukko, OneLake-pikakuvake tai jopa OneLake-pikakuvake, joka viittaa muihin kuin Azure-palveluihin, kysely tallentaa välimuistiin kaikki käyttämänsä tiedot.
Tässä artikkelissa kuvataan myöhemmin kahdenlaisia välimuistityyppejä:
- Muistissa olevan välimuistin
- Levyn välimuisti
Kun kysely käyttää ja noutaa tietoja tallennustilasta, se suorittaa muunnosprosessin, joka transkoodaa tiedot niiden alkuperäisestä tiedostopohjaisesta muodosta muistissa olevan välimuistin erittäin optimoiduiksi rakenteiksi.
Välimuistin tiedot on järjestetty pakattuun sarakemuotoon, joka on optimoitu analyyttisille kyselyille. Kukin tietosarake tallennetaan yhteen muista erillään, mikä parantaa pakkausta, koska samankaltaiset tietoarvot tallennetaan yhteen, mikä pienentää muistin käyttöä. Kun kyselyjen on suoritettava toimintoja tietyssä sarakkeessa, kuten koosteissa tai suodattamisessa, moduuli voi toimia tehokkaammin, koska sen ei tarvitse käsitellä tarpeettomia tietoja muista sarakkeista.
Lisäksi tämä saraketallennustila edistää myös rinnakkaista käsittelyä, mikä voi nopeuttaa merkittävästi suurten tietojoukkojen kyselyjen suorittamista. Moduuli voi suorittaa toimintoja useille sarakkeille samanaikaisesti hyödyntäen nykyaikaisia moniydinsuoritinta.
Tämä lähestymistapa on hyödyllinen erityisesti analyyttisissa kuormituksille, joissa kyselyihin liittyy suurten tietomäärien skannaaminen koosteiden, suodatusten ja muiden tietojen käsittelyn suorittamiseksi.
Tietyt tietojoukot ovat liian suuria muistissa olevaan välimuistiin mahtumiseksi. Tietojoukkojen kyselyjen nopean suorituskyvyn ylläpitämiseksi Warehouse käyttää levytilaa täydentävänä laajennuksena muistissa olevalle välimuistille. Kaikki muistissa välimuistiin ladatut tiedot sarjoitetaan myös SSD-välimuistiin.
Koska muistissa olevan välimuistin kapasiteetti on pienempi kuin SSD-välimuistin, muistissa olevasta välimuistista poistetut tiedot pysyvät SSD-välimuistissa pitkään. Kun myöhempi kysely pyytää näitä tietoja, ne noudetaan SSD-välimuistista välimuistiin huomattavasti nopeammin kuin etätallennustilasta, mikä lopulta tarjoaa yhtenäisemmän kyselyjen suorituskyvyn.
Välimuistitallennus pysyy johdonmukaisena ja toimii saumattomasti taustalla, mikä ei edellytä omalta osaltasi toimia. Välimuistitallennuksen poistamista käytöstä ei tarvita, sillä se heikentäisi väistämättä kyselyn suorituskykyä huomattavasti.
Microsoft Fabric itse järjestää ja pitää välimuistiin tallentamisen mekanismin, eikä se tarjoa käyttäjille mahdollisuutta tyhjentää välimuisti manuaalisesti.
Koko välimuistin tapahtumien johdonmukaisuus varmistaa, että kaikki tallennustilassa olevien tietojen muutokset, kuten tietojen käsittelykielen (DML) toimintojen kautta, sen jälkeen, kun ne on alun perin ladattu muistissa olevan välimuistiin, johtavat yhdenmukaisiin tietoihin.
Kun välimuisti saavuttaa kapasiteettirajan ja uusia tietoja luetaan ensimmäistä kertaa, välimuistista poistetaan objektit, jotka ovat pysyneet käyttämättömänä pisimpään. Tämä prosessi otetaan käyttöön, jotta uusien tietojen tulvalle luodaan tilaa ja pidetään optimaalinen välimuistin käyttöstrategia.