Kas yra talpykla?

Prašant duomenų iš bet kurio šaltinio, visada šiek tiek vėluojama. Ping į žiniatinklio serverius matuojamas milisekundėmis, prieigos prie saugyklos laikas gali turėti delsą mikrosekundėmis, o RAM delsa matuojama procesoriaus laikrodžio ciklais. Žinoma, tokie greičiai būtų buvę neįsivaizduojami dar prieš kelis dešimtmečius, tačiau šiuo metu jie niekada nėra pakankamai greiti. Prieigos greitis dažnai yra tam tikra našumo kliūtis. Vienas iš būdų tai išspręsti yra talpyklos kaupimas.

Talpykla yra laikinos išteklių kopijos saugojimas taip, kad ją būtų galima pasiekti greičiau nei įprastai. Yra daugybė diegimų tiek programinėje, tiek aparatinėje įrangoje. Talpyklos gali veikti kaip skaitymo talpyklos, rašymo talpyklos arba abi.

Skaityti talpyklas

Skaitymo talpykloje duomenys, kurių buvo prašoma anksčiau, saugomi talpykloje, kad būtų galima greičiau pasiekti. Kai kuriais atvejais talpykloje netgi gali būti iš anksto įkeliami duomenys, leidžiantys pateikti pirmąją užklausą iš talpyklos, o ne tik paskesnes užklausas.

Skaitymo talpykla, kurią greičiausiai žinote, yra naršyklės talpykla. Čia naršyklė išsaugo vietinę prašomų išteklių kopiją. Tai reiškia, kad jei ir kai tinklalapis įkeliamas iš naujo arba įkeliamas panašus puslapis, kuriame naudojama daug to paties turinio, tas turinys gali būti teikiamas iš talpyklos, o ne iš žiniatinklio serverio. Tai ne tik reiškia, kad tinklalapis gali įkelti greičiau, bet ir sumažina žiniatinklio apkrovą serverio ir sumažina duomenų, kuriuos vartotojas turi atsisiųsti, kiekį, o tai gali būti svarbu naudojant skaitiklį jungtys.

Pati RAM taip pat veikia kaip duomenų skaitymo talpykla standžiajame diske. Šiuo atveju vykdomos programos duomenys iš anksto įkeliami į RAM, kad procesorius galėtų juos pasiekti greičiau. Tada duomenys iš RAM toliau talpinami į procesoriaus talpyklą, nors tai yra daug sudėtingesnis procesas, nes procesoriaus talpykla matuojama megabaitais, o ne gigabaitais.

Rašyti talpyklas

Rašymo talpykla yra talpykla, kuri gali sugerti duomenis, rašomus į lėtesnį įrenginį. Dažnas to pavyzdys būtų SLC talpykla šiuolaikiniuose SSD. Ši talpykla neleidžia greičiau nuskaityti duomenų, tačiau rašyti į TLC arba QLC blykstę, kuri sudaro likusią SSD dalį, yra daug greičiau. SLC talpykla gali absorbuoti didelės spartos rašymo operacijas, o tada kuo greičiau perkelia tuos duomenis į TLC blykstę, kuri siūlo daug didesnį saugojimo tankį, bet taip pat daug lėčiau įrašoma. Naudojant „flash“ atmintį tokiu būdu ji optimizuojama, kad būtų pasiektas didelis įrašymo greitis ir didelis saugojimo tankis.

Hibridinės talpyklos

Yra daug būdų, kaip tvarkyti talpyklas, kurios gali leisti jiems veikti kaip skaitymo ir rašymo talpykla. Kiekvienas iš šių metodų rašymo operacijas tvarko skirtingai ir turi privalumų bei trūkumų. Trys parinktys yra perrašymas, perrašymas ir atrašymas. Rašymo talpykla visiškai praleidžia talpyklą, kai rašoma, įrašymo talpykla įrašo į talpyklą, tačiau operacija laikoma baigta tik tada, kai ji įrašoma į saugyklą. Atnaujinimo talpykla rašo į talpyklą ir tada mano, kad operacija baigta, pasikliaudama talpykla, kad prireikus perkeltų ją į saugyklą.

Rašymas gali būti naudingas, jei tikitės daug įrašų, nes tai sumažina talpyklos trūkumą. Tačiau tai reiškia, kad operacija, kuri vėliau nuskaito bet kokius tuos įrašytus duomenis, pirmą kartą susidurs su bent vienu talpyklos praleidimu. Rašymo talpyklos nedelsiant talpina rašymo operacijas, o tai reiškia, kad rezultatas gali būti pateiktas iš talpyklos, kai pirmą kartą jo prašoma. Kad rašymo operacija būtų laikoma baigta, ji taip pat turi įrašyti duomenis į diską, o tai padidina delsą. Atnaujinimo talpykla turi tokią pat naudą, kaip ir perrašymas, todėl rašytiniai duomenys gali būti nedelsiant aptarnaujami iš talpyklos. Vis dėlto, norint įrašyti į diską, nereikia rašymo operacijų, kad būtų laikomasi užbaigtų. Tai sumažina rašymo delsą, tačiau kyla duomenų praradimo rizika, jei talpykla yra nepastovi ir ji nebaigia įrašyti duomenų atgal į saugyklą prieš prarandant maitinimą.

Kaip pašalinti duomenis iš talpyklos?

Vienas iš bet kurios talpyklos ribojančių veiksnių yra talpa. Didelės talpyklos paieška trunka ilgai, o tai panaikina didelę talpyklos naudojimo pranašumų dalį. Talpykloje naudojamos atminties technologijos taip pat paprastai yra brangesnės nei atmintis, iš kurios jie kaupiami talpykloje. Jei taip nebūtų, tikėtina, kad ta atminties pakopa būtų perjungusi atminties technologijas, kad pagerintų našumą. Abu šie veiksniai reiškia, kad talpyklos paprastai yra gana mažos, ypač lyginant su laikmena, iš kurios jie kaupiami talpykloje. RAM turi mažesnę talpą nei saugykla, o procesoriaus talpykla yra mažesnė nei RAM. SLC talpyklos talpa yra mažesnė nei TLC atmintis.

Visa tai reiškia, kad dažnai reikia perkelti duomenis iš talpyklos, kad būtų atlaisvinta vietos naujiems duomenims, kuriuos reikia talpykloje saugoti. Yra daugybė skirtingų požiūrių į tai. „Retiausiai naudojamas“, nori iškeldinti talpyklos įrašus, kurių prieigos skaičius yra mažiausias. Tai gali būti naudinga numatant, kurie įrašai turės mažiausiai įtakos būsimiems talpyklos praleidimams, bet taip pat būtų skaičiuojami labai neseniai pridėti įrašai kaip turintys mažai prieigos, todėl gali atsirasti talpyklos riesti.

„Neseniai naudota“ nori iškeldinti talpyklos įrašus, kurie kurį laiką nebuvo naudojami. Tai daroma prielaida, kad jie šiuo metu nenaudojami, tačiau neatsižvelgiama į tai, ar jie buvo intensyviai naudojami prieš kurį laiką. „Neseniai naudoti“ nori iškeldinti vėliausiai naudotus talpyklos įrašus, darant prielaidą, kad jie buvo panaudoti ir jų nebereikės naudoti. Geriausias būdas paprastai yra visų trijų derinys, pagrįstas naudojimo statistika.

Pasenusi informacija ir saugumo pavojai

Pagrindinė talpyklų rizika yra ta, kad jose esanti informacija gali pasenti. Talpyklos įrašas laikomas pasenusiu, kai atnaujinami pirminiai duomenys, todėl talpyklos įrašas pasenęs. Svarbu reguliariai tikrinti, ar teikiama tiesioginė kopija vis dar sutampa su talpykloje esančia kopija.

Konkrečiai svetainėse taip pat labai svarbu nustatyti, kokius duomenis galima ir kurių negalima laikyti talpykloje. Pavyzdžiui, puiku, jei talpykloje saugomas didelis nekintantis „JavaScript“ failas. Tai apsaugo vartotoją nuo jo atsisiuntimo kiekvieną kartą ir netgi gali būti naudinga kitiems vartotojams, aptarnaujamiems toje pačioje talpykloje. Tačiau negalite talpykloje išsaugoti konkrečių seansų duomenų. Įsivaizduokite, kas nutiktų, jei naršytumėte susirašinėjimo programėlę būdami prisijungę kaip jūs ir sužinotumėte, kad jums buvo pateikta talpykloje saugoma kito vartotojo pranešimų versija. Laimei, žiniatinklio serveriai gali nurodyti, kuriuos išteklius galima ir kurių negalima laikyti talpykloje, ir šios problemos paprastai yra gerai žinomos, todėl tokių problemų yra nedaug.

Išvada

Talpykla yra atminties dalis, kuri gali saugoti kai kuriuos neseniai naudotus duomenis saugojimo metodu, kuris pasiekiamas greičiau, nei būtų galima vėl užbaigti įprastą prieigos prie duomenų procesą. Talpyklos talpa paprastai yra ribota, o tai reiškia, kad ji turi iškeldinti įrašus, kai ji pilna. Talpyklos paprastai yra skaidrios vartotojui, o tai reiškia, kad delsa yra vienintelis požymis, kad rezultatas buvo pateiktas per talpyklą.