StrÄdÄjot ar lielu datu apjomu, dažkÄrt var rasties diska vietas trÅ«kuma problÄma. Viens veids, kÄ atrisinÄt Å”o problÄmu, ir saspieÅ”ana, pateicoties kurai vienÄ un tajÄ paÅ”Ä iekÄrtÄ jÅ«s varat atļauties palielinÄt uzglabÄÅ”anas apjomu. Å ajÄ rakstÄ mÄs apskatÄ«sim, kÄ Apache Ignite darbojas datu saspieÅ”ana. Å ajÄ rakstÄ tiks aprakstÄ«tas tikai produktÄ ieviestÄs diska saspieÅ”anas metodes. Citas datu saspieÅ”anas metodes (tÄ«klÄ, atmiÅÄ), neatkarÄ«gi no tÄ, vai tÄs ir ieviestas vai nav, paliks Ärpus darbÄ«bas jomas.
TÄtad, ja ir iespÄjots noturÄ«bas režīms, keÅ”atmiÅÄ esoÅ”o datu izmaiÅu rezultÄtÄ Ignite sÄk rakstÄ«t diskÄ:
- KeÅ”atmiÅu saturs
- RakstÄ«t iepriekÅ” žurnÄlu (turpmÄk vienkÄrÅ”i WAL)
Jau labu laiku pastÄv WAL saspieÅ”anas mehÄnisms, ko sauc par WAL blÄ«vÄÅ”anu. Nesen izlaistajÄ Apache Ignite 2.8 tika ieviesti vÄl divi mehÄnismi, kas ļauj saspiest datus diskÄ: diska lapu saspieÅ”ana keÅ”atmiÅas satura saspieÅ”anai un WAL lapas momentuzÅÄmuma saspieÅ”ana dažu WAL ierakstu saspieÅ”anai. PlaÅ”Äka informÄcija par visiem trim Å”iem mehÄnismiem tÄlÄk.
Diska lapas saspieŔana
KÄ tas darbojas
Vispirms ļoti Ä«si apskatÄ«sim, kÄ Ignite glabÄ datus. Lapas atmiÅa tiek izmantota glabÄÅ”anai. Lapas lielums tiek iestatÄ«ts mezgla sÄkumÄ, un to nevar mainÄ«t vÄlÄkos posmos; arÄ« lapas izmÄram ir jÄbÅ«t pakÄpÄ ar diviem un failu sistÄmas bloka lieluma daudzkÄrtÅiem. Lapas pÄc vajadzÄ«bas tiek ielÄdÄtas RAM no diska; diskÄ esoÅ”o datu apjoms var pÄrsniegt pieŔķirtÄs RAM apjomu. Ja RAM nav pietiekami daudz vietas, lai ielÄdÄtu lapu no diska, vecÄs, vairs neizmantotÄs lapas tiks izliktas no RAM.
Dati tiek glabÄti diskÄ Å”ÄdÄ formÄ: katras keÅ”atmiÅas grupas katram nodalÄ«jumam tiek izveidots atseviŔķs fails, Å”ajÄ failÄ lapas tiek rÄdÄ«tas viena pÄc otras augoÅ”Ä indeksa secÄ«bÄ. Pilns lapas identifikators satur keÅ”atmiÅas grupas identifikatoru, nodalÄ«juma numuru un lappuses indeksu failÄ. TÄdÄjÄdi, izmantojot pilnu lapas identifikatoru, mÄs varam unikÄli noteikt failu un nobÄ«di failÄ katrai lapai. VairÄk par peidžeru atmiÅu varat lasÄ«t Apache Ignite Wiki rakstÄ:
Diska lapu saspieÅ”anas mehÄnisms, kÄ jÅ«s varÄtu nojaust pÄc nosaukuma, darbojas lapas lÄ«menÄ«. Kad Å”is mehÄnisms ir iespÄjots, dati RAM tiek apstrÄdÄti tÄdi, kÄdi tie ir, bez saspieÅ”anas, bet, kad lapas tiek saglabÄtas no RAM diskÄ, tÄs tiek saspiestas.
Bet katras lapas saspieÅ”ana atseviŔķi nav problÄmas risinÄjums; jums ir kaut kÄ jÄsamazina iegÅ«to datu failu lielums. Ja lapas izmÄrs vairs nav fiksÄts, mÄs vairs nevaram rakstÄ«t lapas failÄ vienu pÄc otras, jo tas var radÄ«t vairÄkas problÄmas:
- Izmantojot lapas indeksu, mÄs nevarÄsim aprÄÄ·inÄt nobÄ«di, ar kÄdu tas atrodas failÄ.
- Nav skaidrs, ko darÄ«t ar lapÄm, kas neatrodas faila beigÄs, un mainÄ«t to izmÄru. Ja lapas izmÄrs samazinÄs, tÄ atbrÄ«votÄ vieta pazÅ«d. Ja lapas izmÄrs palielinÄs, jums ir jÄmeklÄ jauna vieta failÄ.
- Ja lapa pÄrvietojas par vairÄkiem baitiem, kas nav failu sistÄmas bloka lieluma reizinÄjums, tad, lai to lasÄ«tu vai rakstÄ«tu, bÅ«s jÄpieskaras vÄl vienam failu sistÄmas blokam, kas var izraisÄ«t veiktspÄjas pasliktinÄÅ”anos.
Lai izvairÄ«tos no Å”o problÄmu risinÄÅ”anas savÄ lÄ«menÄ«, diska lapu saspieÅ”ana programmÄ Apache Ignite izmanto failu sistÄmas mehÄnismu, ko sauc par retajiem failiem. Rets fails ir tÄds, kurÄ dažus ar nulli aizpildÄ«tus reÄ£ionus var atzÄ«mÄt kÄ "caurumus". Å ajÄ gadÄ«jumÄ failu sistÄmas bloki netiks pieŔķirti Å”o caurumu glabÄÅ”anai, tÄdÄjÄdi ietaupot diska vietu.
LoÄ£iski, ka, lai atbrÄ«votu failu sistÄmas bloku, cauruma izmÄram ir jÄbÅ«t lielÄkam vai vienÄdam ar failu sistÄmas bloku, kas uzliek papildu ierobežojumu lapas izmÄram un Apache Ignite: lai saspieÅ”anai bÅ«tu kÄda ietekme, lapas izmÄram jÄbÅ«t stingri lielÄkam par failu sistÄmas bloka izmÄru. Ja lapas izmÄrs ir vienÄds ar bloka izmÄru, mÄs nekad nevarÄsim atbrÄ«vot vienu bloku, jo, lai atbrÄ«votu vienu bloku, saspiestajai lapai ir jÄaizÅem 0 baiti. Ja lapas izmÄrs ir vienÄds ar 2 vai 4 bloku izmÄru, mÄs jau varÄsim atbrÄ«vot vismaz vienu bloku, ja mÅ«su lapa bÅ«s saspiesta attiecÄ«gi vismaz lÄ«dz 50% vai 75%.
LÄ«dz ar to galÄ«gais mehÄnisma darbÄ«bas apraksts: Rakstot lapu diskÄ, tiek mÄÄ£inÄts lapu saspiest. Ja saspiestÄs lapas izmÄrs ļauj atbrÄ«vot vienu vai vairÄkus failu sistÄmas blokus, tad lapa tiek rakstÄ«ta saspiestÄ formÄ un atbrÄ«voto bloku vietÄ tiek izveidots ācaurumsā (tiek izpildÄ«ts sistÄmas izsaukums fallocate()
ar caurumu karogu). Ja saspiestÄs lapas izmÄrs neļauj atbrÄ«vot blokus, lapa tiek saglabÄta tÄda, kÄda tÄ ir, nesaspiesta. Visas lappuses nobÄ«des tiek aprÄÄ·inÄtas tÄpat kÄ bez saspieÅ”anas, lapas indeksu reizinot ar lapas izmÄru. Nav nepiecieÅ”ams patstÄvÄ«gi pÄrvietot lapas. Lapu nobÄ«des, tÄpat kÄ bez saspieÅ”anas, ietilpst failu sistÄmas bloku robežÄs.
PaÅ”reizÄjÄ ievieÅ”anÄ Ignite var darboties tikai ar retajiem failiem operÄtÄjsistÄmÄ Linux; attiecÄ«gi diska lapu saspieÅ”anu var iespÄjot tikai tad, ja Å”ajÄ operÄtÄjsistÄmÄ izmantojat Ignite.
SaspieÅ”anas algoritmi, kurus var izmantot diska lapu saspieÅ”anai: ZSTD, LZ4, Snappy. TurklÄt ir arÄ« darbÄ«bas režīms (SKIP_GARBAGE), kurÄ tiek izmesta tikai neizmantotÄ vieta lapÄ, neveicot kompresiju uz atlikuÅ”ajiem datiem, kas samazina CPU slodzi, salÄ«dzinot ar iepriekÅ” uzskaitÄ«tajiem algoritmiem.
Ietekme uz veiktspÄju
DiemžÄl reÄlos veiktspÄjas mÄrÄ«jumus uz reÄliem stendiem neveicu, jo Å”o mehÄnismu ražoÅ”anÄ izmantot neplÄnojam, taÄu teorÄtiski varam spriest, kur zaudÄsim un kur uzvarÄsim.
Lai to izdarÄ«tu, mums ir jÄatceras, kÄ lapas tiek lasÄ«tas un rakstÄ«tas, kad tÄm piekļūst:
- Veicot lasÄ«Å”anas darbÄ«bu, tÄ vispirms tiek meklÄta RAM, ja meklÄÅ”ana ir neveiksmÄ«ga, lapa tiek ielÄdÄta RAM no diska ar to paÅ”u pavedienu, kas veic lasÄ«Å”anu.
- Kad tiek veikta rakstÄ«Å”anas darbÄ«ba, lapa RAM tiek atzÄ«mÄta kÄ netÄ«ra, bet pavediens, kas veic rakstÄ«Å”anu, lapa netiek fiziski saglabÄta diskÄ uzreiz. Visas netÄ«rÄs lapas tiek saglabÄtas diskÄ vÄlÄk kontrolpunkta procesÄ atseviŔķos pavedienos.
TÄtad ietekme uz lasÄ«Å”anas darbÄ«bÄm ir:
- PozitÄ«vs (disks IO), jo ir samazinÄjies nolasÄ«to failu sistÄmas bloku skaits.
- NegatÄ«vs (CPU), jo operÄtÄjsistÄmai nepiecieÅ”ama papildu slodze, lai strÄdÄtu ar retajiem failiem. Ir arÄ« iespÄjams, ka Å”eit netieÅ”i parÄdÄ«sies papildu IO darbÄ«bas, lai saglabÄtu sarežģītÄku retu failu struktÅ«ru (diemžÄl es neesmu pazÄ«stams ar visÄm detaļÄm par retu failu darbÄ«bu).
- Negatīvs (CPU), jo ir nepiecieŔams atspiest lapas.
- Tas neietekmÄ rakstÄ«Å”anas darbÄ«bas.
- Ietekme uz kontrolpunkta procesu (Å”eit viss ir lÄ«dzÄ«gs lasÄ«Å”anas darbÄ«bÄm):
- PozitÄ«vs (disks IO), jo ir samazinÄjies rakstÄ«to failu sistÄmas bloku skaits.
- NegatÄ«vs (CPU, iespÄjams, diska IO), jo strÄdÄjat ar retajiem failiem.
- Negatīvs (CPU), jo ir nepiecieŔama lapas saspieŔana.
Kura skalas puse nogÄzÄ«s skalu? Tas viss ir ļoti atkarÄ«gs no vides, taÄu es sliecos uzskatÄ«t, ka diska lapu saspieÅ”ana, visticamÄk, izraisÄ«s veiktspÄjas pasliktinÄÅ”anos lielÄkajÄ daÄ¼Ä sistÄmu. TurklÄt testi citÄs DBVS, kas izmanto lÄ«dzÄ«gu pieeju ar retajiem failiem, parÄda veiktspÄjas kritumu, kad ir iespÄjota saspieÅ”ana.
KÄ iespÄjot un konfigurÄt
KÄ minÄts iepriekÅ”, Apache Ignite minimÄlÄ versija, kas atbalsta diska lapu saspieÅ”anu, ir 2.8, un tiek atbalstÄ«ta tikai operÄtÄjsistÄma Linux. IespÄjojiet un konfigurÄjiet Å”Ädi:
- Klases ceÄ¼Ä ir jÄbÅ«t aizdedzes saspieÅ”anas modulim. PÄc noklusÄjuma tas atrodas Apache Ignite izplatÄ«jumÄ libs/optional direktorijÄ un nav iekļauts klases ceļÄ. Varat vienkÄrÅ”i pÄrvietot direktoriju vienu lÄ«meni uz augÅ”u uz libs, un, palaižot to caur ignite.sh, tas tiks automÄtiski iespÄjots.
- NoturÄ«bai ir jÄbÅ«t iespÄjotai (IespÄjots, izmantojot
DataRegionConfiguration.setPersistenceEnabled(true))
. - Lapas izmÄram jÄbÅ«t lielÄkam par failu sistÄmas bloka izmÄru (to var iestatÄ«t, izmantojot
DataStorageConfiguration.setPageSize()
). - Katrai keÅ”atmiÅai, kuras dati ir jÄsaspiež, ir jÄkonfigurÄ saspieÅ”anas metode un (pÄc izvÄles) saspieÅ”anas lÄ«menis (metodes
CacheConfiguration.setDiskPageCompression() , CacheConfiguration.setDiskPageCompressionLevel()
).
WAL blÄ«vÄÅ”ana
KÄ tas darbojas
Kas ir WAL un kÄpÄc tas ir vajadzÄ«gs? Ä»oti Ä«si: Å”is ir žurnÄls, kurÄ ir visi notikumi, kas galu galÄ maina lapas krÄtuvi. Tas galvenokÄrt ir nepiecieÅ”ams, lai varÄtu atgÅ«ties kritiena gadÄ«jumÄ. Jebkura darbÄ«ba, pirms lietotÄjam tiek dota kontrole, vispirms ir jÄreÄ£istrÄ notikums WAL, lai kļūmes gadÄ«jumÄ to varÄtu atskaÅot žurnÄlÄ un atjaunot visas darbÄ«bas, par kurÄm lietotÄjs saÅÄmis veiksmÄ«gu atbildi, pat ja Ŕīs darbÄ«bas nebija laika atspoguļoties lapas krÄtuvÄ diskÄ (jau iepriekÅ” Ir aprakstÄ«ts, ka faktiskÄ rakstÄ«Å”ana uz lapu krÄtuvi tiek veikta procesÄ, ko sauc par "kontrolpunktu" ar zinÄmu aizkavi, izmantojot atseviŔķus pavedienus).
WAL ieraksti ir sadalÄ«ti loÄ£iskajos un fiziskajos. BÅ«la vÄrtÄ«bas ir paÅ”as atslÄgas un vÄrtÄ«bas. Fizisks ā atspoguļo izmaiÅas lapu veikalÄ. Lai gan loÄ£iskie ieraksti var bÅ«t noderÄ«gi dažos citos gadÄ«jumos, fiziskie ieraksti ir nepiecieÅ”ami tikai atkopÅ”anai avÄrijas gadÄ«jumÄ, un ieraksti ir nepiecieÅ”ami tikai kopÅ” pÄdÄjÄ veiksmÄ«gÄ kontrolpunkta. Å eit mÄs neiedziļinÄsimies un nepaskaidrosim, kÄpÄc tas darbojas Å”Ädi, bet interesenti var atsaukties uz jau minÄto rakstu Apache Ignite Wiki:
KatrÄ loÄ£iskajÄ ierakstÄ bieži ir vairÄki fiziski ieraksti. Tas ir, piemÄram, viena ievietoÅ”anas operÄcija keÅ”atmiÅÄ ietekmÄ vairÄkas lapas lapas atmiÅÄ (lapa ar paÅ”iem datiem, lapas ar indeksiem, lapas ar brÄ«vajiem sarakstiem). Dažos sintÄtiskos testos es atklÄju, ka fiziskie ieraksti aizÅÄma lÄ«dz pat 90% no WAL faila. TaÄu tie ir nepiecieÅ”ami ļoti Ä«su laiku (pÄc noklusÄjuma intervÄls starp kontrolpunktiem ir 3 minÅ«tes). BÅ«tu loÄ£iski atbrÄ«voties no Å”iem datiem pÄc to aktualitÄtes zaudÄÅ”anas. TieÅ”i to dara WAL blÄ«vÄÅ”anas mehÄnisms: tas atbrÄ«vojas no fiziskajiem ierakstiem un saspiež atlikuÅ”os loÄ£iskos ierakstus, izmantojot zip, savukÄrt faila lielums tiek ļoti ievÄrojami samazinÄts (dažreiz desmitiem reižu).
Fiziski WAL sastÄv no vairÄkiem fiksÄta izmÄra segmentiem (pÄc noklusÄjuma 10) (pÄc noklusÄjuma 64 MB), kas tiek pÄrrakstÄ«ti apļveida veidÄ. TiklÄ«dz paÅ”reizÄjais segments ir aizpildÄ«ts, nÄkamais segments tiek pieŔķirts kÄ paÅ”reizÄjais, un aizpildÄ«tais segments tiek kopÄts arhÄ«vÄ ar atseviŔķu pavedienu. WAL blÄ«vÄÅ”ana jau darbojas ar arhÄ«va segmentiem. TÄpat kÄ atseviŔķs pavediens tas uzrauga kontrolpunkta izpildi un sÄk saspieÅ”anu arhÄ«va segmentos, kuriem fiziskie ieraksti vairs nav nepiecieÅ”ami.
Ietekme uz veiktspÄju
TÄ kÄ WAL blÄ«vÄÅ”ana notiek kÄ atseviŔķs pavediens, tai nevajadzÄtu tieÅ”i ietekmÄt veicamÄs darbÄ«bas. Bet tas joprojÄm rada papildu fona slodzi CPU (saspieÅ”anai) un diskam (nolasot katru WAL segmentu no arhÄ«va un rakstot saspiestos segmentus), tÄpÄc, ja sistÄma darbojas ar maksimÄlo jaudu, tas arÄ« novedÄ«s pie veiktspÄjas pasliktinÄÅ”anÄs.
KÄ iespÄjot un konfigurÄt
Izmantojot Ä«paÅ”umu, varat iespÄjot WAL blÄ«vÄÅ”anu WalCompactionEnabled
Š² DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)
). TurklÄt, izmantojot metodi DataStorageConfiguration.setWalCompactionLevel(), varat iestatÄ«t saspieÅ”anas lÄ«meni, ja neesat apmierinÄts ar noklusÄjuma vÄrtÄ«bu (BEST_SPEED).
WAL lapas momentuzÅÄmuma saspieÅ”ana
KÄ tas darbojas
MÄs jau esam noskaidrojuÅ”i, ka WAL ierakstus iedala loÄ£iskajos un fiziskajos. Katrai katras lapas izmaiÅai lapas atmiÅÄ tiek Ä£enerÄts fizisks WAL ieraksts. SavukÄrt fiziskie ieraksti tiek iedalÄ«ti 2 apakÅ”tipos: lapas momentuzÅÄmuma ieraksts un delta ieraksts. Katru reizi, kad mÄs kaut ko mainÄm lapÄ un pÄrceļam to no tÄ«ra stÄvokļa uz netÄ«ro stÄvokli, pilnÄ«ga Ŕīs lapas kopija tiek saglabÄta WAL (lapas momentuzÅÄmuma ieraksts). Pat ja mÄs mainÄ«jÄm tikai vienu baitu WAL, ieraksts bÅ«s nedaudz lielÄks par lapas izmÄru. Ja kaut ko mainÄm jau netÄ«rÄ lapÄ, WAL tiek izveidots delta ieraksts, kas atspoguļo tikai izmaiÅas salÄ«dzinÄjumÄ ar iepriekÅ”Äjo lapas stÄvokli, bet ne visu lapu. TÄ kÄ lapu stÄvokļa atiestatÄ«Å”ana no netÄ«ras uz tÄ«ru tiek veikta kontrolpunkta procesa laikÄ, tÅ«lÄ«t pÄc kontrolpunkta sÄkuma gandrÄ«z visi fiziskie ieraksti sastÄvÄs tikai no lapu momentuzÅÄmumiem (jo visas lapas uzreiz pÄc kontrolpunkta sÄkuma ir tÄ«ras) , tad, tuvojoties nÄkamajam kontrolpunktam, delta ieraksta daļa sÄk augt un atkal atiestatÄ«t nÄkamÄ kontrolpunkta sÄkumÄ. MÄrÄ«jumi dažos sintÄtiskos testos parÄdÄ«ja, ka lapas momentuzÅÄmumu Ä«patsvars kopÄjÄ fizisko ierakstu apjomÄ sasniedz 90%.
WAL lapas momentuzÅÄmumu saspieÅ”anas ideja ir saspiest lapu momentuzÅÄmumus, izmantojot gatavu lapu saspieÅ”anas rÄ«ku (skatiet diska lapu saspieÅ”anu). TajÄ paÅ”Ä laikÄ WAL ieraksti tiek saglabÄti secÄ«gi tikai pievienoÅ”anas režīmÄ un nav nepiecieÅ”ams saistÄ«t ierakstus ar failu sistÄmas bloku robežÄm, tÄpÄc Å”eit, atŔķirÄ«bÄ no diska lapu saspieÅ”anas mehÄnisma, mums nav nepiecieÅ”ami reti faili viss; attiecÄ«gi Å”is mehÄnisms darbosies ne tikai operÄtÄjsistÄmÄ Linux. TurklÄt mums vairs nav nozÄ«mes, cik ļoti mÄs varÄjÄm lapu saspiest. Pat ja mÄs atbrÄ«vojÄm 1 baitu, tas jau ir pozitÄ«vs rezultÄts un mÄs varam saglabÄt saspiestos datus WAL, atŔķirÄ«bÄ no diska lapu saspieÅ”anas, kur mÄs saglabÄjam saspiesto lapu tikai tad, ja atbrÄ«vojÄm vairÄk nekÄ 1 failu sistÄmas bloku.
Lapas ir ļoti saspiežami dati, to Ä«patsvars kopÄjÄ WAL apjomÄ ir ļoti liels, tÄpÄc, nemainot WAL faila formÄtu, varam iegÅ«t bÅ«tisku tÄ izmÄra samazinÄjumu. SaspieÅ”anai, tostarp loÄ£iskiem ierakstiem, bÅ«tu jÄmaina formÄts un jÄzaudÄ savietojamÄ«ba, piemÄram, ÄrÄjiem patÄrÄtÄjiem, kurus varÄtu interesÄt loÄ£iskie ieraksti, taÄu tas neradÄ«tu ievÄrojamu faila lieluma samazinÄÅ”anos.
TÄpat kÄ diska lapu saspieÅ”anÄ, WAL lapas momentuzÅÄmuma saspieÅ”anÄ var izmantot ZSTD, LZ4, Snappy saspieÅ”anas algoritmus, kÄ arÄ« režīmu SKIP_GARBAGE.
Ietekme uz veiktspÄju
Nav grÅ«ti pamanÄ«t, ka tieÅ”a WAL lapas momentuzÅÄmuma saspieÅ”anas iespÄjoÅ”ana ietekmÄ tikai pavedienus, kas ieraksta datus lapas atmiÅÄ, tas ir, tos pavedienus, kas maina datus keÅ”atmiÅÄ. Fizisko ierakstu nolasÄ«Å”ana no WAL notiek tikai vienu reizi, brÄ«dÄ«, kad mezgls tiek pacelts pÄc kritiena (un tikai tad, ja tas nokrÄ«t kontrolpunkta laikÄ).
Tas ietekmÄ pavedienus, kas maina datus Å”ÄdÄ veidÄ: mÄs iegÅ«stam negatÄ«vu efektu (CPU), jo katru reizi pirms rakstÄ«Å”anas diskÄ ir jÄsaspiež lapa, un pozitÄ«vu efektu (diska IO), jo tiek samazinÄts faila apjoms. uzrakstÄ«ti dati. AttiecÄ«gi Å”eit viss ir vienkÄrÅ”s: ja sistÄmas veiktspÄju ierobežo CPU, mÄs iegÅ«stam nelielu degradÄciju, ja to ierobežo diska I / O, mÄs saÅemam pieaugumu.
NetieÅ”i WAL izmÄra samazinÄÅ”ana ietekmÄ arÄ« (pozitÄ«vi) straumes, kas WAL segmentus izmet arhÄ«vÄ un WAL blÄ«vÄÅ”anas plÅ«smÄs.
ReÄli veiktspÄjas testi mÅ«su vidÄ, izmantojot sintÄtiskos datus, uzrÄdÄ«ja nelielu pieaugumu (caurlaidspÄja palielinÄjÄs par 10%-15%, latentums samazinÄjÄs par 10%-15%).
KÄ iespÄjot un konfigurÄt
MinimÄlÄ Apache Ignite versija: 2.8. IespÄjojiet un konfigurÄjiet Å”Ädi:
- Klases ceÄ¼Ä ir jÄbÅ«t aizdedzes saspieÅ”anas modulim. PÄc noklusÄjuma tas atrodas Apache Ignite izplatÄ«jumÄ libs/optional direktorijÄ un nav iekļauts klases ceļÄ. Varat vienkÄrÅ”i pÄrvietot direktoriju vienu lÄ«meni uz augÅ”u uz libs, un, palaižot to caur ignite.sh, tas tiks automÄtiski iespÄjots.
- NoturÄ«bai ir jÄbÅ«t iespÄjotai (IespÄjots, izmantojot
DataRegionConfiguration.setPersistenceEnabled(true)
). - SaspieÅ”anas režīms jÄiestata, izmantojot metodi
DataStorageConfiguration.setWalPageCompression()
, saspieÅ”ana pÄc noklusÄjuma ir atspÄjota (atspÄjots režīms). - PÄc izvÄles varat iestatÄ«t saspieÅ”anas lÄ«meni, izmantojot metodi
DataStorageConfiguration.setWalPageCompression()
, skatiet javadoc metodi derÄ«gÄm vÄrtÄ«bÄm katram režīmam.
SecinÄjums
AplÅ«kotos datu saspieÅ”anas mehÄnismus programmÄ Apache Ignite var izmantot neatkarÄ«gi viens no otra, taÄu ir pieÅemama arÄ« jebkura to kombinÄcija. Izpratne par to darbÄ«bu ļaus jums noteikt, cik tie ir piemÄroti jÅ«su uzdevumiem jÅ«su vidÄ un kas jums bÅ«s jÄupurÄ, tos izmantojot. Diska lapu saspieÅ”ana ir paredzÄta galvenÄs atmiÅas saspieÅ”anai, un tÄ var nodroÅ”inÄt vidÄju saspieÅ”anas pakÄpi. WAL lapas momentuzÅÄmuma saspieÅ”ana nodroÅ”inÄs WAL failu vidÄjo saspieÅ”anas pakÄpi un, visticamÄk, pat uzlabos veiktspÄju. WAL blÄ«vÄÅ”anai nebÅ«s pozitÄ«vas ietekmes uz veiktspÄju, taÄu tas pÄc iespÄjas samazinÄs WAL failu izmÄrus, noÅemot fiziskos ierakstus.
Avots: www.habr.com