{"id":81936,"date":"2020-05-18T01:42:37","date_gmt":"2020-05-17T23:42:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/szhatie-dannyh-v-apache-ignite-opyt-sbera"},"modified":"2020-05-18T01:42:37","modified_gmt":"2020-05-17T23:42:37","slug":"szhatie-dannyh-v-apache-ignite-opyt-sbera","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/szhatie-dannyh-v-apache-ignite-opyt-sbera","title":{"rendered":"Kompresimi i t\u00eb dh\u00ebnave n\u00eb Apache Ignite. P\u00ebrvoja e Sber","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kompresimi i t\u00eb dh\u00ebnave n\u00eb Apache Ignite. P\u00ebrvoja e Sber\" src=\"\/wp-content\/uploads\/2020\/05\/0e26c686b1f29e88e6be4b8df81ab668.jpg\" style=\"display:block;margin: 0 auto;\" \/>Kur punoni me sasi t\u00eb m\u00ebdha t\u00eb t\u00eb dh\u00ebnave, ndonj\u00ebher\u00eb mund t\u00eb lind\u00eb ndjesh\u00ebm problemi i munges\u00ebs s\u00eb hap\u00ebsir\u00ebs n\u00eb disqe. Nj\u00eb nga m\u00ebnyrat p\u00ebr ta zgjidhur k\u00ebt\u00eb problem \u00ebsht\u00eb kompresimi, i cili b\u00ebhet i mundur q\u00eb, n\u00eb t\u00eb nj\u00ebjtin ekip, t\u00eb lejohet rritja e kapacitetit t\u00eb ruajtjes. N\u00eb k\u00ebt\u00eb artikull do t\u00eb shqyrtojm\u00eb se si funksionon kompresimi i t\u00eb dh\u00ebnave n\u00eb Apache Ignite. Artikulli do t\u00eb p\u00ebrshkruaj\u00eb vet\u00ebm metodat e implementuara brenda produktit p\u00ebr kompresimin n\u00eb disk. M\u00ebnyra t\u00eb tjera t\u00eb kompresimit t\u00eb t\u00eb dh\u00ebnave (n\u00eb rrjet, n\u00eb memorje) si t\u00eb implementuara, ashtu dhe jo, do t\u00eb mbeten jasht\u00eb k\u00ebsaj p\u00ebrmbledhjeje.<\/p>\n<p>Pra, kur \u00ebsht\u00eb aktivizuar modaliteti i p\u00ebrhershm\u00ebris\u00eb, si rezultat i ndryshimit t\u00eb t\u00eb dh\u00ebnave n\u00eb cache, Ignite fillon t\u00eb shkruaj\u00eb n\u00eb disk:<\/p>\n<ol>\n<li>P\u00ebrmbajtja e caches<\/li>\n<li>Dayelli i shkruar p\u00ebrpara (Write Ahead Log, m\u00eb pas vet\u00ebm WAL)<\/li>\n<\/ol>\n<p>\nP\u00ebr kompresimin e WAL, ka nj\u00eb mekaniz\u00ebm q\u00eb \u00ebsht\u00eb krijuar p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb dhe quhet kompresimi i WAL. N\u00eb Apache Ignite 2.8 q\u00eb sapo doli, u prezantuan edhe dy mekanizma t\u00eb tjer\u00eb q\u00eb lejojn\u00eb kompresimin e t\u00eb dh\u00ebnave n\u00eb disk, ky \u00ebsht\u00eb kompresimi i faqes s\u00eb diskut p\u00ebr kompresimin e p\u00ebrmbajtjes s\u00eb caches dhe kompresimi i snapshot-it t\u00eb faqes s\u00eb WAL p\u00ebr kompresimin e disa regjistrimeve t\u00eb WAL. M\u00eb shum\u00eb rreth k\u00ebtyre tre mekanizmave m\u00eb posht\u00eb.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Kompresimi i faqes s\u00eb diskut<\/h3>\n<p><\/p>\n<h4>Si funksionon kjo<\/h4>\n<p>\nP\u00ebr t\u00eb filluar, le t\u00eb ndalemi shum\u00eb shkurt te m\u00ebnyra se si Ignite ruan t\u00eb dh\u00ebnat. P\u00ebr ruajtje p\u00ebrdoret memorie faqore. Madh\u00ebsia e faqes p\u00ebrcaktohet n\u00eb fillim t\u00eb nodit dhe nuk mund t\u00eb ndryshohet m\u00eb von\u00eb, gjithashtu madh\u00ebsia e faqes duhet t\u00eb jet\u00eb nj\u00eb fuqi e dyjes dhe e shum\u00ebfishueshme me madh\u00ebsin\u00eb e bllokut t\u00eb sistemit t\u00eb skedarit. Faqet ngarkohen n\u00eb RAM nga disku sipas nevoj\u00ebs, madh\u00ebsia e t\u00eb dh\u00ebnave n\u00eb disk mund t\u00eb tejkaloj\u00eb kapacitetin e RAM t\u00eb alokuar. N\u00eb rast t\u00eb munges\u00ebs s\u00eb hap\u00ebsir\u00ebs n\u00eb RAM p\u00ebr ngarkimin e nj\u00eb faqe nga disku, faqet e vjetra, t\u00eb cilat nuk p\u00ebrdoren m\u00eb, do t\u00eb z\u00ebvend\u00ebsohen nga RAM.<\/p>\n<p>N\u00eb disk, t\u00eb dh\u00ebnat ruhen n\u00eb k\u00ebt\u00eb form\u00eb: p\u00ebr \u00e7do parti t\u00eb \u00e7do grupi cache krijohet nj\u00eb skedar i ve\u00e7ant\u00eb, n\u00eb k\u00ebt\u00eb skedar, n\u00eb rendin n\u00eb rritje t\u00eb indeksit, faqet vendosen nj\u00ebra pas tjetr\u00ebs. Identifikuesi i plot\u00eb i faqes p\u00ebrfshin identifikuesin e grupit t\u00eb caches, numrin e partis\u00eb dhe indeksin e faqes n\u00eb skedar. K\u00ebshtu, me identifikuesin e plot\u00eb t\u00eb faqes mund t\u00eb p\u00ebrcaktojm\u00eb qart\u00eb skedarin dhe offset-in n\u00eb skedar p\u00ebr secil\u00ebn faqe. M\u00eb shum\u00eb rreth organizimit t\u00eb memories faqore mund t\u00eb lexoni n\u00eb artikullin n\u00eb Apache Ignite Wiki: <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/IGNITE\/Ignite+Persistent+Store+-+under+the+hood\">Ignite P\u00ebrshtatja e Ruajtjes \u2014 n\u00ebn kapak<\/a><\/noindex>.<\/p>\n<p>Mekanizmi i kompresimit t\u00eb faqeve disk, si\u00e7 mund t\u00eb kuptohet nga emri, punon n\u00eb nivelin e faqeve. Kur aktivizohet ky mekaniz\u00ebm, puna me t\u00eb dh\u00ebnat n\u00eb RAM b\u00ebhet ashtu si\u00e7 \u00ebsht\u00eb, pa ndonj\u00eb kompresim, por n\u00eb momentin e ruajtjes s\u00eb faqeve nga RAM n\u00eb disk, ato kompresohen.<\/p>\n<p>Por, kompresimi i \u00e7do faqeje n\u00eb m\u00ebnyr\u00eb t\u00eb ve\u00e7ant\u00eb nuk \u00ebsht\u00eb zgjidhja e problemit; na nevojitet nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb reduktuar p\u00ebrmasat e skedar\u00ebve p\u00ebrfundimtar\u00eb me t\u00eb dh\u00ebna. N\u00ebse p\u00ebrmasat e faqeve nuk mbeten fikse, ne nuk mund t\u00eb shkruajm\u00eb faqet n\u00eb skedar nj\u00ebra pas tjetr\u00ebs, pasi kjo mund t\u00eb shkaktoj\u00eb nj\u00eb seri problemesh:<\/p>\n<ul>\n<li>Ne nuk do t\u00eb jemi n\u00eb gjendje t\u00eb llogarisim offsetin se ku ndodhet nj\u00eb faqe n\u00eb skedar duke p\u00ebrdorur indeksin e faqeve.<\/li>\n<li>Nuk \u00ebsht\u00eb e qart\u00eb se \u00e7far\u00eb t\u00eb b\u00ebjm\u00eb me faqet q\u00eb ndodhen jo n\u00eb fund t\u00eb skedarit dhe ndryshojn\u00eb p\u00ebrmasat e tyre. N\u00ebse p\u00ebrmasat e faqes zvog\u00eblohen, vendi q\u00eb ajo lirohet humbet. N\u00ebse p\u00ebrmasat e faqes rriten, p\u00ebr t\u00eb duhet t\u00eb k\u00ebrkojm\u00eb nj\u00eb vend t\u00eb ri n\u00eb skedar.<\/li>\n<li>N\u00ebse faqja l\u00ebviz n\u00eb nj\u00eb num\u00ebr bajt\u00ebsh q\u00eb nuk \u00ebsht\u00eb shum\u00ebfish i p\u00ebrmas\u00ebs s\u00eb bllokut t\u00eb skedarit, p\u00ebr leximin ose shkruajtjen e saj do t\u00eb k\u00ebrkohet t\u00eb preket nj\u00eb bllok m\u00eb shum\u00eb i skedarit, gj\u00eb q\u00eb mund t\u00eb \u00e7oj\u00eb n\u00eb shkall\u00ebzimin e performanc\u00ebs.<\/li>\n<\/ul>\n<p>\nP\u00ebr t\u00eb mos i zgjidhur k\u00ebto probleme n\u00eb nivelin e tij, kompresimi i faqeve disk n\u00eb Apache Ignite p\u00ebrdor nj\u00eb mekaniz\u00ebm t\u00eb sistemit t\u00eb skedar\u00ebve t\u00eb quajtur skedar\u00eb sparse. Skedari sparse \u00ebsht\u00eb nj\u00eb skedar, n\u00eb t\u00eb cilin disa regjione t\u00eb mbushura me zero mund t\u00eb sh\u00ebnohen si \"vrima\". K\u00ebshtu, blloket e sistemit t\u00eb skedar\u00ebve p\u00ebr ruajtjen e k\u00ebtyre vrimave nuk do t\u00eb akordohen, duke rezultuar n\u00eb kursim t\u00eb hap\u00ebsir\u00ebs n\u00eb disk.<\/p>\n<p>\u00cbsht\u00eb logjike q\u00eb p\u00ebr t\u00eb liruar nj\u00eb bllok t\u00eb sistemit t\u00eb skedar\u00ebve, p\u00ebrmasa e vrim\u00ebs duhet t\u00eb jet\u00eb m\u00eb e madhe ose e barabart\u00eb me bllokun e sistemit t\u00eb skedar\u00ebve, gj\u00eb q\u00eb imponon nj\u00eb kufizim shtes\u00eb n\u00eb p\u00ebrmas\u00ebn e faqeve n\u00eb Apache Ignite: p\u00ebr kompresimi q\u00eb t\u00eb ket\u00eb ndonj\u00eb efekt, \u00ebsht\u00eb e nevojshme q\u00eb p\u00ebrmasa e faqeve t\u00eb jet\u00eb rrept\u00ebsisht m\u00eb e madhe se p\u00ebrmasa e bllokut t\u00eb sistemit t\u00eb skedar\u00ebve. N\u00ebse p\u00ebrmasa e faqeve \u00ebsht\u00eb e barabart\u00eb me p\u00ebrmas\u00ebn e bllokut, ne kurr\u00eb nuk do t\u00eb jemi n\u00eb gjendje t\u00eb lirojm\u00eb asnj\u00eb bllok, pasi p\u00ebr t\u00eb liruar nj\u00eb bllok t\u00eb vet\u00ebm, p\u00ebrfaq\u00ebsimi i kompresuar duhet t\u00eb z\u00ebr\u00eb 0 bajt\u00eb. N\u00ebse p\u00ebrmasa e faqeve \u00ebsht\u00eb e barabart\u00eb me p\u00ebrmas\u00ebn e 2 ose 4 blloqeve, ne do t\u00eb jemi n\u00eb gjendje t\u00eb lironim t\u00eb pakt\u00ebn nj\u00eb bllok n\u00ebse faqja jon\u00eb kompresohet t\u00eb pakt\u00ebn deri n\u00eb 50% ose 75% p\u00ebrkat\u00ebsisht.<\/p>\n<p>Pra k\u00ebsaj, p\u00ebrmbledhja p\u00ebrfundimtare e funksionit t\u00eb mekanizmit \u00ebsht\u00eb: Kur regjistrohet nj\u00eb faqe n\u00eb disk, b\u00ebhet nj\u00eb p\u00ebrpjekje p\u00ebr ta kompresuar at\u00eb. N\u00ebse madh\u00ebsia e faqes s\u00eb kompresuar lejon q\u00eb t\u00eb \u00e7lirohen nj\u00eb apo m\u00eb shum\u00eb bllok\u00eb t\u00eb sistemit t\u00eb skedar\u00ebve, faqja shkruhet n\u00eb form\u00eb t\u00eb kompresuar dhe n\u00eb vendin e bllok\u00ebve t\u00eb \u00e7liruar b\u00ebhet nj\u00eb \"gjurm\u00eb\" (kryhet nj\u00eb thirrje sistemike) <code>fallocate()<\/code> me flamurin \"punch hole\". N\u00ebse madh\u00ebsia e faqes s\u00eb kompresuar nuk lejon \u00e7lirimin e bllok\u00ebve, faqja ruhet si\u00e7 \u00ebsht\u00eb, n\u00eb form\u00eb t\u00eb pakompresuar. T\u00eb gjitha offsetet e faqeve llogariten ashtu si\u00e7 jan\u00eb pa kompresim, duke shum\u00ebzuar indeksin e faqeve me madh\u00ebsin\u00eb e faqes. Nuk k\u00ebrkohet asnj\u00eb rilokim i faqeve nga ana e p\u00ebrdoruesit. Offsetet e faqeve, ashtu si pa kompresim, kalojn\u00eb n\u00eb kufijt\u00eb e bllok\u00ebve t\u00eb sistemit t\u00eb skedar\u00ebve.<\/p>\n<p><img decoding=\"async\" alt=\"Kompresimi i t\u00eb dh\u00ebnave n\u00eb Apache Ignite. P\u00ebrvoja e Sber\" src=\"\/wp-content\/uploads\/2020\/05\/6a6c6ad83d3b8591f76b9343ff067746.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nN\u00eb implementimin aktual, Ignite mund t\u00eb punoj\u00eb me skedar\u00ebt sparse vet\u00ebm n\u00ebn OS Linux, k\u00ebshtu q\u00eb kompresimi i faqeve t\u00eb diskut mund t\u00eb aktivizohet vet\u00ebm kur p\u00ebrdoret Ignite n\u00eb k\u00ebt\u00eb sistem operativ.<\/p>\n<p>Algoritmet e kompresimit q\u00eb mund t\u00eb p\u00ebrdoren p\u00ebr kompresimin e faqeve t\u00eb diskut: ZSTD, LZ4, Snappy. P\u00ebrve\u00e7 k\u00ebsaj, ekziston nj\u00eb regjimi operativ (SKIP_GARBAGE), ku thjesht hidhet hap\u00ebsira e pavendosur brenda faqes pa aplikuar kompresim mbi t\u00eb dh\u00ebnat e mbetura, q\u00eb lejon t\u00eb ulet ngarkesa mbi CPU n\u00eb krahasim me algoritmet e p\u00ebrmendura m\u00eb par\u00eb.<\/p>\n<h4>Ndikimi n\u00eb performanc\u00eb <\/h4>\n<p>\nFatkeq\u00ebsisht, nuk kam kryer matje t\u00eb faktike t\u00eb performanc\u00ebs n\u00eb stendat reale, pasi t\u00eb p\u00ebrdorim k\u00ebt\u00eb mekaniz\u00ebm n\u00eb prodhim nuk \u00ebsht\u00eb planifikuar, por mund t\u00eb spekulojm\u00eb teoretikisht se ku do t\u00eb humbasim dhe ku do t\u00eb fitojm\u00eb.<\/p>\n<p>P\u00ebr k\u00ebt\u00eb, na nevojitet t\u00eb kujtojm\u00eb se si kryhet leximi dhe regjistrimi i faqeve gjat\u00eb qasjes ndaj tyre:<\/p>\n<ul>\n<li>Gjat\u00eb kryerjes s\u00eb operacionit t\u00eb leximit, s\u00eb pari b\u00ebhet k\u00ebrkimi i tij n\u00eb RAM; n\u00ebse k\u00ebrkimi p\u00ebrfundon d\u00ebshtuesh\u00ebm, faqeja ngarkohet n\u00eb RAM nga disku nga po ai rrjedh q\u00eb kryen leximin.<\/li>\n<li>Gjat\u00eb kryerjes s\u00eb operacionit t\u00eb regjistrimit, faqja n\u00eb RAM sh\u00ebnohet si \"e ndotur\"; megjithat\u00eb, ruajtja fizike e faqes n\u00eb disk nuk ndodh menj\u00ebher\u00eb n\u00eb rrjedh\u00ebn q\u00eb kryen regjistrimin. T\u00eb gjitha faqet e ndotura ruhet n\u00eb disk m\u00eb von\u00eb gjat\u00eb procesit t\u00eb kontrollit nga rrjedha t\u00eb ve\u00e7anta.<\/li>\n<\/ul>\n<p>\nPra, ndikimi n\u00eb operacionet e leximit:<\/p>\n<ul>\n<li>Pozitiv (disk IO), p\u00ebr shkak t\u00eb reduktimit t\u00eb numrit t\u00eb bllok\u00ebve t\u00eb lexuar t\u00eb sistemit t\u00eb skedar\u00ebve.<\/li>\n<li>Negativ (CPU), p\u00ebr shkak t\u00eb ngarkes\u00ebs shtes\u00eb t\u00eb nevojshme p\u00ebr sistemin operativ p\u00ebr t\u00eb punuar me skedar\u00ebt sparse. Gjithashtu, \u00ebsht\u00eb e mundur q\u00eb k\u00ebtu t\u00eb shfaqen n\u00eb m\u00ebnyr\u00eb implikative operacione t\u00eb tjera IO p\u00ebr ruajtjen e struktur\u00ebs m\u00eb t\u00eb komplikuar t\u00eb skedar\u00ebve sparse (fatkeq\u00ebsisht, nuk jam i njohur me t\u00eb gjitha detajet e funksionimit t\u00eb skedar\u00ebve sparse).<\/li>\n<li>Negativ (CPU), p\u00ebr shkak t\u00eb nevoj\u00ebs p\u00ebr dekompresimin e faqeve.<\/li>\n<li>Nuk ka ndikim n\u00eb operacionet e shkrimit.<\/li>\n<li>Ndikimi n\u00eb procesin e kontrollit (k\u00ebtu gjith\u00e7ka \u00ebsht\u00eb e ngjashme me operacionet e leximit):<\/li>\n<li>Pozitiv (disk IO), p\u00ebr shkak t\u00eb zvog\u00eblimit t\u00eb numrit t\u00eb blloqeve t\u00eb shkruara t\u00eb sistemit t\u00eb skedar\u00ebve.<\/li>\n<li>Negativ (CPU, ndoshta disk IO), p\u00ebr shkak t\u00eb pun\u00ebs me skedar\u00ebt sparse.<\/li>\n<li>Negativ (CPU), p\u00ebr shkak t\u00eb nevoj\u00ebs p\u00ebr kompresimin e faqeve.<\/li>\n<\/ul>\n<p>\nCila do t\u00eb jet\u00eb pesha m\u00eb e r\u00ebnd\u00eb? Kjo varet shum\u00eb nga mjedisi, por un\u00eb prirem t\u00eb mendoj se kompresimi i faqeve t\u00eb diskut do t\u00eb \u00e7oj\u00eb m\u00eb shum\u00eb n\u00eb degradimin e performanc\u00ebs n\u00eb shumic\u00ebn e sistemeve. Sidomos pasi testet n\u00eb DBMS t\u00eb tjera q\u00eb p\u00ebrdorin nj\u00eb qasje t\u00eb ngjashme me skedar\u00ebt sparse tregojn\u00eb r\u00ebnien e performanc\u00ebs kur kompresimi \u00ebsht\u00eb aktivizuar.<\/p>\n<h4>Si t\u00eb aktivizoni dhe konfiguroni<\/h4>\n<p>\nSi\u00e7 u tha m\u00eb lart, versioni minimal i Apache Ignite q\u00eb mb\u00ebshtet kompresimin e faqeve t\u00eb diskut: 2.8 dhe mb\u00ebshtetet vet\u00ebm nga sistemi operativ Linux. Aktivizimi dhe konfigurimi b\u00ebhet si m\u00eb posht\u00eb:<\/p>\n<ul>\n<li>N\u00eb class-path duhet t\u00eb jet\u00eb moduli ignite-compression. N\u00eb m\u00ebnyr\u00eb q\u00eb kjo t\u00eb ndodh\u00eb, ai ndodhet n\u00eb shp\u00ebrndarjen e Apache Ignite n\u00eb direktorin\u00eb libs\/optional dhe nuk p\u00ebrfshihet n\u00eb class-path. Thjesht mund ta shkoni direktorin\u00eb nj\u00eb nivel m\u00eb lart n\u00eb libs dhe at\u00ebher\u00eb gjat\u00eb nisjes p\u00ebrmes ignite.sh, do t\u00eb aktivizohet automatikisht.<\/li>\n<li>P\u00ebrshtatja duhet t\u00eb jet\u00eb e aktivizuar (Aktivizohet p\u00ebrmes <code>DataRegionConfiguration.setPersistenceEnabled(true))<\/code>.<\/li>\n<li>T\u00eb \u0440\u0430\u0437\u043c\u0435\u0440\u0430 e faqes duhet t\u00eb jet\u00eb m\u00eb e madhe se p\u00ebrmasat e bllokut t\u00eb sistemit t\u00eb skedar\u00ebve (mund t\u00eb caktohet p\u00ebrmes <code>DataStorageConfiguration.setPageSize()<\/code> ).<\/li>\n<li>P\u00ebr \u00e7do cache, t\u00eb dh\u00ebnat e t\u00eb cilit duhet t\u00eb kompresohen, duhet t\u00eb konfigurohet n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb p\u00ebrcaktohet metoda e kompresimit dhe (opsionale) niveli i kompresimit (metodat <code>CacheConfiguration.setDiskPageCompression(), CacheConfiguration.setDiskPageCompressionLevel()<\/code>).<\/li>\n<\/ul>\n<p><\/p>\n<h3>Kompaktimi i WAL<\/h3>\n<p><\/p>\n<h4>Si funksionon kjo<\/h4>\n<p>\n\u00c7far\u00eb \u00ebsht\u00eb WAL dhe p\u00ebrse \u00ebsht\u00eb e nevojshme? Shum\u00eb shkurt: \u00ebsht\u00eb nj\u00eb regjist\u00ebr n\u00eb t\u00eb cilin kalojn\u00eb t\u00eb gjitha ngjarjet q\u00eb e ndryshojn\u00eb p\u00ebrfundimisht magazin\u00ebn e faqeve. Kjo \u00ebsht\u00eb e nevojshme kryesisht p\u00ebr mund\u00ebsin\u00eb e riparimit n\u00eb rast r\u00ebnie. Cdo operacion para se t\u00eb dor\u00ebzoj\u00eb menaxhimin te p\u00ebrdoruesi duhet s\u00eb pari t\u00eb regjistroj\u00eb ngjarjen n\u00eb WAL, n\u00eb m\u00ebnyr\u00eb q\u00eb n\u00eb rast r\u00ebnie t\u00eb jet\u00eb e mundur t\u00eb rikthej\u00eb p\u00ebrmes regjistrit dhe t\u00eb rikthej\u00eb t\u00eb gjitha operacionet p\u00ebr t\u00eb cilat p\u00ebrdoruesi mori nj\u00eb p\u00ebrgjigje t\u00eb suksesshme, edhe n\u00ebse k\u00ebto operacione nuk e arrit\u00ebn ende t\u00eb pasqyrohen n\u00eb magazin\u00ebn e faqeve n\u00eb disk (m\u00eb sip\u00ebr \u00ebsht\u00eb p\u00ebrshkruar se regjistrimi aktual n\u00eb magazin\u00ebn e faqeve kryhet n\u00eb nj\u00eb proces q\u00eb quhet \"checkpoint\" me ndonj\u00eb vones\u00eb nga proceset e ve\u00e7anta).<\/p>\n<p>Regjistrimet n\u00eb WAL ndahen n\u00eb logjike dhe fizike. Logjike - jan\u00eb \u00e7el\u00ebsat dhe vlerat e vet\u00eb. Fizike - reflektosh ndryshimet e faqeve n\u00eb magazin\u00ebn e faqeve. N\u00ebse regjistrimet logjike mund t\u00eb jen\u00eb t\u00eb dobishme p\u00ebr disa raste, regjistrimet fizike jan\u00eb t\u00eb nevojshme vet\u00ebm p\u00ebr riparim n\u00eb rast r\u00ebnie dhe duhen regjistrime vet\u00ebm q\u00eb nga p\u00ebrfundimi i fundit i suksessh\u00ebm t\u00eb checkpoint-it. K\u00ebtu nuk do t\u00eb hyjm\u00eb n\u00eb detaje dhe shpjegojm\u00eb pse kjo funksionon k\u00ebshtu, por ata q\u00eb jan\u00eb t\u00eb interesuar mund t\u00eb referohen n\u00eb artikullin e tashm\u00eb p\u00ebrmendur n\u00eb Apache Ignite Wiki: <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/IGNITE\/Ignite+Persistent+Store+-+under+the+hood\">Ignite P\u00ebrshtatja e Ruajtjes \u2014 n\u00ebn kapak<\/a><\/noindex>.<\/p>\n<p>Nj\u00eb regjistrim logjik shpesh ka disa regjistrime fizike. Pra, p\u00ebr shembull, nj\u00eb operacion put n\u00eb cache prek disa faqe n\u00eb memorin\u00eb e faqeve (faqen me t\u00eb dh\u00ebnat, faqet me indekset, faqet me listat e lir\u00eb). N\u00eb disa teste sintetik\u00eb, un\u00eb kam arritur q\u00eb regjistrimet fizike t\u00eb zinin deri n\u00eb 90% t\u00eb volumit t\u00eb skedarit WAL. Nga ana tjet\u00ebr, ato nevojiten p\u00ebr nj\u00eb koh\u00eb t\u00eb shkurt\u00ebr (n\u00eb parazgjedhje, intervali nd\u00ebrmjet pikave t\u00eb kontrollit \u00ebsht\u00eb 3 minuta). Ishte logjike q\u00eb t\u00eb liroheshim nga k\u00ebto t\u00eb dh\u00ebna pasi humbja e aktualitetit t\u00eb tyre. Pik\u00ebrisht k\u00ebt\u00eb b\u00ebn mekanizmi i kompaktimit WAL, duke eliminuar regjistrimet fizike dhe duke kompresuar me zip regjistrimet logjike q\u00eb mbeten, duke reduktuar n\u00eb m\u00ebnyr\u00eb t\u00eb konsiderueshme madh\u00ebsin\u00eb e skedarit (disa her\u00eb n\u00eb dhjet\u00ebra her\u00eb).<\/p>\n<p>Fizikisht, WAL p\u00ebrb\u00ebhet nga disa segmente (sip\u00ebrfaq\u00ebsisht 10) me madh\u00ebsi fikse (sip\u00ebrfaq\u00ebsisht 64Mb), t\u00eb cilat rikuperohen n\u00eb m\u00ebnyr\u00eb ciklike. Sapo segmenti aktual t\u00eb mbushet, segmenti tjet\u00ebr i tij caktohet si aktual, nd\u00ebrsa segmenti i mbushur kopjohet n\u00eb arkiv nga nj\u00eb rrjedh\u00eb e ve\u00e7ant\u00eb. Kompresimi i WAL tashm\u00eb punon me segmentet arkivore. Gjithashtu, p\u00ebrmes nj\u00eb rrjedhe t\u00eb ve\u00e7ant\u00eb, monitoron p\u00ebrfundimin e pik\u00ebkontrollit dhe fillon kompresimin e segmenteve arkivore, regjistrimet fizike p\u00ebr t\u00eb cilat nuk jan\u00eb m\u00eb t\u00eb nevojshme.<\/p>\n<p><img decoding=\"async\" alt=\"Kompresimi i t\u00eb dh\u00ebnave n\u00eb Apache Ignite. P\u00ebrvoja e Sber\" src=\"\/wp-content\/uploads\/2020\/05\/ca8690ba7a350df9530f2ccf01c90975.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h4>Ndikimi n\u00eb performanc\u00eb<\/h4>\n<p>\nDuke pasur parasysh se kompresimi i WAL funksionon n\u00eb nj\u00eb rrjedh\u00eb t\u00eb ve\u00e7ant\u00eb, nuk duhet t\u00eb ket\u00eb ndonj\u00eb ndikim t\u00eb drejtp\u00ebrdrejt\u00eb mbi operacionet n\u00eb zhvillim. Megjithat\u00eb, ai shp\u00ebrndan nj\u00eb ngarkes\u00eb shtes\u00eb n\u00eb CPU (kompresimi) dhe disk (leximi i \u00e7do segmenti t\u00eb WAL nga arkivi dhe regjistrimi i segmenteve t\u00eb kompresuara), k\u00ebshtu q\u00eb n\u00ebse sistemi punon n\u00eb kufijt\u00eb e mund\u00ebsive, ai gjithashtu do t\u00eb \u00e7oj\u00eb n\u00eb degradimin e performanc\u00ebs.<\/p>\n<h4>Si t\u00eb aktivizoni dhe konfiguroni<\/h4>\n<p>\nAktivizoni kompresimin e WAL duke p\u00ebrdorur pron\u00ebn <code>WalCompactionEnabled<\/code> n\u00eb <code>DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)<\/code>). Po ashtu, me metod\u00ebn DataStorageConfiguration.setWalCompactionLevel() mund t\u00eb caktoni nivelin e kompresimit, n\u00ebse nuk jeni t\u00eb k\u00ebnaqur me vler\u00ebn e paracaktuar (BEST_SPEED).<\/p>\n<h3>Kompresimi i snapshot-it t\u00eb faqeve WAL<\/h3>\n<p><\/p>\n<h4>Si funksionon kjo<\/h4>\n<p>\nM\u00eb par\u00eb kemi zbuluar se regjistrimet WAL ndahen n\u00eb logjike dhe fizike. P\u00ebr \u00e7do ndryshim t\u00eb \u00e7do faqeje n\u00eb memorin\u00eb e faqeve krijohet nj\u00eb regjist\u00ebr fizik WAL. Regjistrat fizik\u00eb gjithashtu ndahen n\u00eb dy n\u00ebnllojra: regjistri i snapshot-it t\u00eb faqes dhe regjistri delta. \u00c7do her\u00eb kur kemi nj\u00eb ndryshim n\u00eb nj\u00eb faqe dhe e \u00e7ojm\u00eb at\u00eb nga nj\u00eb gjendje t\u00eb past\u00ebr n\u00eb nj\u00eb gjendje t\u00eb ndotur, n\u00eb WAL ruhet nj\u00eb kopje e plot\u00eb e k\u00ebsaj faqeje (regjistri i snapshot-it t\u00eb faqes \u2014 snapshot i faqes). Edhe n\u00ebse ne ndryshojm\u00eb vet\u00ebm nj\u00eb bajt, n\u00eb WAL do t\u00eb ruhet nj\u00eb regjist\u00ebr pak m\u00eb i madh se madh\u00ebsia e faqes. N\u00ebse kemi nj\u00eb ndryshim n\u00eb nj\u00eb faqe q\u00eb tashm\u00eb \u00ebsht\u00eb e ndotur, at\u00ebher\u00eb n\u00eb WAL formohet nj\u00eb regjist\u00ebr delta, n\u00eb t\u00eb cilin pasqyrohen vet\u00ebm ndryshimet krahasuar me gjendjen e m\u00ebparshme t\u00eb faqes, por jo e gjith\u00eb faqja n\u00eb t\u00ebr\u00ebsi. Pasi q\u00eb rivendosja e gjendjeve t\u00eb faqeve nga e ndotur n\u00eb t\u00eb past\u00ebr kryhet gjat\u00eb procesit t\u00eb kontrollit, menj\u00ebher\u00eb pas fillimit t\u00eb kontrollit, praktisht t\u00eb gjith\u00eb regjistrat fizik\u00eb do t\u00eb p\u00ebrb\u00ebhen vet\u00ebm nga snapshot-e t\u00eb faqeve (pasi t\u00eb gjitha faqet menj\u00ebher\u00eb pas fillimit t\u00eb kontrollit jan\u00eb t\u00eb pastra), pastaj me kalimin e koh\u00ebs drejt kontrollit t\u00eb ardhsh\u00ebm, pjesa e regjistrave delta fillon t\u00eb rritet dhe p\u00ebrs\u00ebri rivendoset n\u00eb fillim t\u00eb kontrollit t\u00eb ardhsh\u00ebm. Matjet n\u00eb disa teste sintetike kan\u00eb treguar se pjesa e snapshot-eve t\u00eb faqeve n\u00eb v\u00ebllimin e p\u00ebrgjithsh\u00ebm t\u00eb regjistrave fizik\u00eb arrin deri n\u00eb 90%.<\/p>\n<p>Ideja e kompresimit t\u00eb snapshot-it t\u00eb faqes WAL \u00ebsht\u00eb t\u00eb kompresoj\u00eb snapshot-et e faqeve duke p\u00ebrdorur nj\u00eb mjet tashm\u00eb t\u00eb gatsh\u00ebm p\u00ebr kompresimin e faqeve (shih disk page compression). N\u00eb k\u00ebt\u00eb rast, regjistrat n\u00eb WAL ruhen radhazi n\u00eb m\u00ebnyr\u00eb append-only dhe nuk ka nevoj\u00eb p\u00ebr lidhjen e regjistrave me kufijt\u00eb e blloqeve t\u00eb sistemit t\u00eb skedar\u00ebve, k\u00ebshtu q\u00eb k\u00ebtu, n\u00eb ndryshim nga mekanizmi i kompresimit t\u00eb faqeve disk, ne nuk kemi nevoj\u00eb p\u00ebr skedar\u00eb sparse, k\u00ebshtu q\u00eb ky mekaniz\u00ebm do t\u00eb punoj\u00eb jo vet\u00ebm n\u00eb sistemin operativ Linux. P\u00ebr m\u00eb tep\u00ebr, nuk ka r\u00ebnd\u00ebsi se sa shum\u00eb kemi arritur t\u00eb kompresojm\u00eb faqen. Edhe n\u00ebse ne lirojm\u00eb 1 bajt kjo \u00ebsht\u00eb gjithashtu nj\u00eb rezultat pozitiv dhe ne mund t\u00eb ruajm\u00eb n\u00eb WAL t\u00eb dh\u00ebna t\u00eb kompresuara, n\u00eb ndryshim nga kompresimi i faqes disk, ku ruajm\u00eb faqen e kompresuar vet\u00ebm n\u00ebse lirojm\u00eb m\u00eb shum\u00eb se 1 bllok t\u00eb sistemit t\u00eb skedar\u00ebve.<\/p>\n<p>Faqet jan\u00eb t\u00eb dh\u00ebna q\u00eb mund t\u00eb kompresohen mir\u00eb, pjesa e tyre n\u00eb v\u00ebllimin e p\u00ebrgjithsh\u00ebm t\u00eb WAL \u00ebsht\u00eb shum\u00eb e lart\u00eb, k\u00ebshtu q\u00eb pa ndryshuar formatin e skedarit WAL mund t\u00eb arrijm\u00eb nj\u00eb reduktim t\u00eb konsideruesh\u00ebm t\u00eb madh\u00ebsis\u00eb s\u00eb tij. Kompresimi i regjistrimeve logjike gjithashtu do t\u00eb k\u00ebrkonte ndryshimin e formatit dhe humbjen e kompatibilitetit, p\u00ebr shembull, p\u00ebr konsumator\u00ebt e jasht\u00ebm q\u00eb mund t\u00eb jen\u00eb t\u00eb interesuar p\u00ebr regjistrimet logjike, duke mos sjell\u00eb nj\u00eb ulje t\u00eb konsiderueshme t\u00eb v\u00ebllimit t\u00eb skedarit.<\/p>\n<p>P\u00ebrve\u00e7 kompresimit t\u00eb faqeve disk, p\u00ebr kompresimin e snapshots t\u00eb faqeve WAL mund t\u00eb p\u00ebrdoren algoritme kompresimi ZSTD, LZ4, Snappy, si dhe moda SKIP_GARBAGE.<\/p>\n<h4>Ndikimi n\u00eb performanc\u00eb<\/h4>\n<p>\nSi\u00e7 nuk \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb vini re, aktivizimi direkt i kompresimit t\u00eb snapshots t\u00eb faqeve WAL ndikon vet\u00ebm te proceset q\u00eb shkruajn\u00eb t\u00eb dh\u00ebna n\u00eb memorien e faqeve, pra tek ato procese q\u00eb ndryshojn\u00eb t\u00eb dh\u00ebnat n\u00eb cache. Leximi nga WAL i regjistrimeve fizike ndodh vet\u00ebm nj\u00eb her\u00eb, n\u00eb momentin e ngjalljes s\u00eb nyj\u00ebs pas r\u00ebnies (dhe vet\u00ebm n\u00eb rastin e r\u00ebnies gjat\u00eb procesit t\u00eb kontrollit).<\/p>\n<p>P\u00ebr proceset q\u00eb ndryshojn\u00eb t\u00eb dh\u00ebnat, kjo ndikon n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb: ne p\u00ebrfitojm\u00eb nj\u00eb efekt negativ (CPU) p\u00ebr shkak t\u00eb nevoj\u00ebs p\u00ebr t\u00eb kompresuar \u00e7do her\u00eb faqen para se ta shkruajm\u00eb n\u00eb disk dhe nj\u00eb efekt pozitiv (disk IO) p\u00ebr shkak t\u00eb reduktimit t\u00eb sasis\u00eb s\u00eb t\u00eb dh\u00ebnave q\u00eb shkruhen. Prandaj, gjith\u00e7ka \u00ebsht\u00eb e thjesht\u00eb, n\u00ebse performanca e sistemit preket nga CPU, kemi nj\u00eb degradim t\u00eb vog\u00ebl, n\u00ebse nga hyrja\/dalja n\u00eb disk \u2014 kemi nj\u00eb rritje.<\/p>\n<p>P\u00ebrmes reduktimit t\u00eb madh\u00ebsis\u00eb s\u00eb WAL, gjithashtu ndikojn\u00eb (pozitivisht) proceset q\u00eb d\u00ebrgojn\u00eb n\u00eb arkiv segmentet WAL dhe proceset e kompaktimit t\u00eb WAL.<\/p>\n<p>Testet reale t\u00eb performanc\u00ebs n\u00eb ambientin ton\u00eb me t\u00eb dh\u00ebna sintetike treguan nj\u00eb rritje t\u00eb vog\u00ebl (thrputi u rrit nga 10%-15%, latency u reduktua nga 10%-15%).<\/p>\n<h4>Si t\u00eb aktivizoni dhe konfiguroni<\/h4>\n<p>\nVersioni minimal i Apache Ignite: 2.8. Aktivizimi dhe konfigurimi b\u00ebhet si m\u00eb posht\u00eb:<\/p>\n<ul>\n<li>N\u00eb class-path duhet t\u00eb jet\u00eb moduli ignite-compression. N\u00eb m\u00ebnyr\u00eb q\u00eb kjo t\u00eb ndodh\u00eb, ai ndodhet n\u00eb shp\u00ebrndarjen e Apache Ignite n\u00eb direktorin\u00eb libs\/optional dhe nuk p\u00ebrfshihet n\u00eb class-path. Thjesht mund ta shkoni direktorin\u00eb nj\u00eb nivel m\u00eb lart n\u00eb libs dhe at\u00ebher\u00eb gjat\u00eb nisjes p\u00ebrmes ignite.sh, do t\u00eb aktivizohet automatikisht.<\/li>\n<li>P\u00ebrshtatja duhet t\u00eb jet\u00eb e aktivizuar (Aktivizohet p\u00ebrmes <code>DataRegionConfiguration.setPersistenceEnabled(true)<\/code>).<\/li>\n<li>Duhet t\u00eb specifikohet moda e kompresimit me metod\u00ebn <code>DataStorageConfiguration.setWalPageCompression()<\/code>, si\u00e7 \u00ebsht\u00eb \u00e7aktivizuar kompresimi n\u00eb m\u00ebnyr\u00eb parazgjedhjeje (n\u00eb modalitetin DISABLED).<\/li>\n<li>Mund t\u00eb specifikohet n\u00eb m\u00ebnyr\u00eb opsionale shkalla e kompresimit me metod\u00ebn <code>DataStorageConfiguration.setWalPageCompression()<\/code>, vlerat e pranueshme p\u00ebr secil\u00ebn nga modalitetet shihni n\u00eb javadoc t\u00eb metod\u00ebs.<\/li>\n<\/ul>\n<p><\/p>\n<h3>P\u00ebrfundim<\/h3>\n<p>\nMekanizmat e shqyrtuara p\u00ebr kompresimin e t\u00eb dh\u00ebnave n\u00eb Apache Ignite mund t\u00eb p\u00ebrdoren t\u00eb pavarura nga nj\u00ebra-tjetra, por gjithashtu jan\u00eb t\u00eb pranueshme edhe \u00e7do kombinim i tyre. Kuptimi i parimeve t\u00eb funksionimit t\u00eb tyre do t\u00eb ndihmoj\u00eb n\u00eb p\u00ebrcaktimin e p\u00ebrshtatshm\u00ebris\u00eb s\u00eb tyre p\u00ebr nevojat tuaja n\u00eb ambientin tuaj dhe \u00e7far\u00eb do t'ju duhet t\u00eb sakrifikoni p\u00ebr t'i p\u00ebrdorur ato. Kompresimi i faqeve t\u00eb diskut \u00ebsht\u00eb i destinuar p\u00ebr kompresimin e ruajtjes kryesore dhe mund t\u00eb siguroj\u00eb nj\u00eb shkall\u00eb mesatare kompresimi. Kompresimi i snapshot-eve t\u00eb faqeve WAL do t\u00eb ofroj\u00eb nj\u00eb shkall\u00eb mesatare kompresimi p\u00ebr skedar\u00ebt WAL, duke rritur me t\u00eb gjitha gjasat edhe performanc\u00ebn. Kompresimi i WAL nuk do t\u00eb ndikoj\u00eb pozitivisht n\u00eb performanc\u00eb, por do t\u00eb reduktoj\u00eb maksimalisht madh\u00ebsin\u00eb e skedar\u00ebve WAL p\u00ebrmes fshirjes s\u00eb regjistrimeve fizike.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/502136\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043e\u0431\u044a\u0435\u043c\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043d\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u0442\u0440\u043e \u0432\u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0430\u0445. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0436\u0430\u0442\u0438\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443, \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438, \u043c\u043e\u0436\u043d\u043e \u0441\u0435\u0431\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043c\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0436\u0430\u0442\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Apache Ignite. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81937,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81936","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/szhatie-dannyh-v-apache-ignite-opyt-sbera\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0436\u0430\u0442\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Apache Ignite. \u041e\u043f\u044b\u0442 \u0421\u0431\u0435\u0440\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/szhatie-dannyh-v-apache-ignite-opyt-sbera\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-17T23:42:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-17T23:42:37+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kompresimi i t\u00eb dh\u00ebnave n\u00eb Apache Ignite. Eksperienca e Sber | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/szhatie-dannyh-v-apache-ignite-opyt-sbera","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0436\u0430\u0442\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Apache Ignite. \u041e\u043f\u044b\u0442 \u0421\u0431\u0435\u0440\u0430 | ProHoster","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/szhatie-dannyh-v-apache-ignite-opyt-sbera","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-17T23:42:37+00:00","article:modified_time":"2020-05-17T23:42:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81936","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:47:30","updated":"2022-10-02 17:21:32","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=81936"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81936\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/81937"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=81936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=81936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=81936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}