{"id":87758,"date":"2020-07-10T01:41:58","date_gmt":"2020-07-09T23:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kody-izbytochnosti-prostymi-slovami-o-tom-kak-nadyozhno-i-dyoshevo-hranit-dannye"},"modified":"2020-07-10T01:41:58","modified_gmt":"2020-07-09T23:41:58","slug":"kody-izbytochnosti-prostymi-slovami-o-tom-kak-nadyozhno-i-dyoshevo-hranit-dannye","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kody-izbytochnosti-prostymi-slovami-o-tom-kak-nadyozhno-i-dyoshevo-hranit-dannye","title":{"rendered":"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/4d853e314dfea596b45a6aff00238bea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>K\u00ebshtu duket redundant\u00ebsia<\/em><\/p>\n<p><\/p>\n<p>Kodet e redundant\u00ebsis\u00eb* p\u00ebrdoren gjer\u00ebsisht n\u00eb sistemet kompjuterike p\u00ebr t\u00eb rritur besueshm\u00ebrin\u00eb e ruajtjes s\u00eb t\u00eb dh\u00ebnave. N\u00eb Yandex, ato p\u00ebrdoren n\u00eb shum\u00eb projekte. P\u00ebr shembull, p\u00ebrdorimi i kodet e redundant\u00ebsis\u00eb n\u00eb vend t\u00eb replikimit n\u00eb magazin\u00ebn ton\u00eb t\u00eb brendshme t\u00eb objekteve kursen miliona pa ulur besueshm\u00ebrin\u00eb. Por, pavar\u00ebsisht p\u00ebrhapjes s\u00eb gjer\u00eb, p\u00ebrshkrimi i qart\u00eb i m\u00ebnyr\u00ebs se si funksionojn\u00eb kodet e redundant\u00ebsis\u00eb \u00ebsht\u00eb shum\u00eb i rrall\u00eb. Ata q\u00eb duan t\u00eb kuptojn\u00eb p\u00ebrballen me di\u00e7ka t\u00eb till\u00eb (nga <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D0%B4_%D0%A0%D0%B8%D0%B4%D0%B0_%E2%80%94_%D0%A1%D0%BE%D0%BB%D0%BE%D0%BC%D0%BE%D0%BD%D0%B0\">Wikipedia<\/a><\/noindex>):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/c5e592acd8c1e113c099357d1ba48d5c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Emri im \u00ebsht\u00eb Vadim, n\u00eb Yandex merrem me zhvillimin e magazin\u00ebs s\u00eb brendshme t\u00eb objekteve MDS. N\u00eb k\u00ebt\u00eb artikull, do ta p\u00ebrshkruaj me fjal\u00eb t\u00eb thjeshta teorin\u00eb e kodet e redundant\u00ebsis\u00eb (kodet e Reed-Solomon dhe LRC). Do t\u00eb flas p\u00ebr m\u00ebnyr\u00ebn se si funksionon, pa matematik\u00eb t\u00eb komplikuar dhe terminologji t\u00eb rrall\u00eb. N\u00eb fund do t\u00eb jap shembuj t\u00eb p\u00ebrdorimit t\u00eb kodet e redundant\u00ebsis\u00eb n\u00eb Yandex.<\/p>\n<p><\/p>\n<p>Nuk do t'i shqyrtoj n\u00eb detaje disa aspekte matematikore, por do t\u00eb ofroj lidhje p\u00ebr ata q\u00eb duan t\u00eb thellohen m\u00eb shum\u00eb. Gjithashtu do t\u00eb v\u00eb n\u00eb dukje se disa p\u00ebrkufizime matematikore mund t\u00eb mos jen\u00eb t\u00eb rrepta, pasi artikulli \u00ebsht\u00eb i destinuar p\u00ebr inxhinier\u00eb q\u00eb duan t\u00eb kuptojn\u00eb thelbin e \u00e7\u00ebshtjes.<\/p>\n<p><\/p>\n<p>* N\u00eb literatur\u00ebn anglisht fol\u00ebse, kodet e redundant\u00ebsis\u00eb shpesh quhen erasure codes.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1 id=\"1-sut-kodov-izbytochnosti\">1. Thelbi i kodet e redundant\u00ebsis\u00eb<\/h1>\n<p><\/p>\n<p>Thelbi i t\u00eb gjith\u00eb kodet e redundant\u00ebsis\u00eb \u00ebsht\u00eb mjaft i thjesht\u00eb: t\u00eb ruash (apo t\u00eb transmetosh) t\u00eb dh\u00ebna n\u00eb m\u00ebnyr\u00eb q\u00eb ato t\u00eb mos humbasin n\u00eb rast t\u00eb gabimeve (thyerjeve t\u00eb disqeve, gabimeve n\u00eb transmetimin e t\u00eb dh\u00ebnave etj.). <\/p>\n<p><\/p>\n<p>N\u00eb shumic\u00ebn* e kodet e redundant\u00ebsis\u00eb, t\u00eb dh\u00ebnat ndahen n\u00eb n blloqe t\u00eb dh\u00ebnash, p\u00ebr to llogariten m blloqe kodesh redundant\u00ebsie, gjithsej ndodhin n + m blloqe. Kodet e redundant\u00ebsis\u00eb nd\u00ebrtohen n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb jet\u00eb e mundur rikuperimi i n blloqeve t\u00eb dh\u00ebnash duke p\u00ebrdorur vet\u00ebm nj\u00eb pjes\u00eb nga n + m blloqet. M\u00eb posht\u00eb do t\u00eb shqyrtojm\u00eb vet\u00ebm kodet e bllokut t\u00eb redundant\u00ebsis\u00eb, dometh\u00ebn\u00eb ato n\u00eb t\u00eb cilat t\u00eb dh\u00ebnat ndahen n\u00eb blloqe.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/1273b4643f915dd615026ec38ca56473.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb rikuperuar t\u00eb gjith\u00eb n blloqet e t\u00eb dh\u00ebnave, nevojitet t\u00eb pakt\u00ebn n nga n + m blloqet, pasi nuk mund t\u00eb marr\u00ebsh n blloqe duke pasur vet\u00ebm n-1 bllok (n\u00eb k\u00ebt\u00eb rast do t\u00eb duhej t\u00eb merrnim 1 bllok 'nga ajri'). A jan\u00eb t\u00eb mjaftuesh\u00ebm n blloqe t\u00eb rast\u00ebsishme nga n + m blloqet p\u00ebr rikuperimin e t\u00eb dh\u00ebnave t\u00eb gjitha? Kjo varet nga lloji i kodit t\u00eb tepric\u00ebs, p\u00ebr shembull, kodet e Reed-Solomon lejojn\u00eb rikuperimin e t\u00eb dh\u00ebnave me n blloqe t\u00eb rast\u00ebsishme, nd\u00ebrsa kodet e tepric\u00ebs LRC - jo gjithmon\u00eb.<\/p>\n<p><\/p>\n<h3 id=\"hranenie-dannyh\">Ruajtja e t\u00eb dh\u00ebnave<\/h3>\n<p><\/p>\n<p>N\u00eb sistemet e ruajtjes s\u00eb t\u00eb dh\u00ebnave, zakonisht secili nga blloqet e t\u00eb dh\u00ebnave dhe blloqet e kodit t\u00eb tepric\u00ebs shkruhen n\u00eb nj\u00eb disk t\u00eb ve\u00e7ant\u00eb. At\u00ebher\u00eb, n\u00eb rastin e d\u00ebshtimit t\u00eb ndonj\u00eb disku, t\u00eb dh\u00ebnat fillestare mund t\u00eb rivendosen dhe t\u00eb lexohen ende. T\u00eb dh\u00ebnat mund t\u00eb rivendosen edhe kur disa disqe d\u00ebshtojn\u00eb nj\u00ebkoh\u00ebsisht.<\/p>\n<p><\/p>\n<h3 id=\"peredacha-dannyh\">Transmetimi i t\u00eb dh\u00ebnave<\/h3>\n<p><\/p>\n<p>Kodat e tepric\u00ebs mund t\u00eb p\u00ebrdoren p\u00ebr transmetimin e besuesh\u00ebm t\u00eb t\u00eb dh\u00ebnave n\u00eb nj\u00eb rrjet t\u00eb pasigurt. T\u00eb dh\u00ebnat e transmetuara ndahen n\u00eb blloqe, p\u00ebr t\u00eb cilat llogariten kodet e tepric\u00ebs. T\u00eb dh\u00ebnat dhe blloqet e kodet e tepric\u00ebs transmetohen p\u00ebrmes rrjetit. N\u00eb rast t\u00eb gabimeve n\u00eb blloqe t\u00eb rast\u00ebsishme (deri n\u00eb nj\u00eb num\u00ebr t\u00eb caktuar blloqesh), t\u00eb dh\u00ebnat ende mund t\u00eb transmetohen pa gabime p\u00ebrmes rrjetit. Kodet e Reed-Solomon, p\u00ebr shembull, p\u00ebrdoren p\u00ebr transmetimin e t\u00eb dh\u00ebnave p\u00ebrmes linjave optike dhe n\u00eb komunikimin satelitor.<\/p>\n<p><\/p>\n<p>* Ka gjithashtu kode teprice, n\u00eb t\u00eb cilat t\u00eb dh\u00ebnat nuk ndahen n\u00eb blloqe, p\u00ebr shembull, kodet Hamming dhe kodet CRC, t\u00eb cilat jan\u00eb gjer\u00ebsisht t\u00eb aplikuara p\u00ebr transmetimin e t\u00eb dh\u00ebnave n\u00eb rrjetet Ethernet. K\u00ebto jan\u00eb kode p\u00ebr kodimin e q\u00ebndruesh\u00ebm ndaj shqet\u00ebsimeve, t\u00eb destinuara p\u00ebr zbuluar gabimet, por jo p\u00ebr t'i korigjuar ato (kode Hamming gjithashtu lejon korrigjimin e pjessh\u00ebm t\u00eb gabimeve).<\/p>\n<p><\/p>\n<h1 id=\"2-kody-rida--solomona\">2. Kodat e Reed-Solomon<\/h1>\n<p><\/p>\n<p>Kodat e Reed-Solomon jan\u00eb disa nga kodet e tepric\u00ebs m\u00eb t\u00eb p\u00ebrdorura, t\u00eb shpikura q\u00eb n\u00eb vitet 1960 dhe q\u00eb filluan t\u00eb p\u00ebrdoren gjer\u00ebsisht n\u00eb vitet 1980 p\u00ebr prodhimin serik t\u00eb disqeve t\u00eb kompakt.<\/p>\n<p><\/p>\n<p>Dy pyetje ky\u00e7e p\u00ebr t\u00eb kuptuar kodet e Reed-Solomon jan\u00eb: 1) si t\u00eb krijojm\u00eb blloqet e kodit t\u00eb tepric\u00ebs; 2) si t\u00eb rikuperojm\u00eb t\u00eb dh\u00ebnat duke p\u00ebrdorur blloqet e kodit t\u00eb tepric\u00ebs. T\u00eb gjejm\u00eb p\u00ebrgjigjet p\u00ebr to.<br \/>\nP\u00ebr thjesht\u00ebsimin e m\u00ebtejsh\u00ebm, do t\u00eb supozojm\u00eb q\u00eb n=6 dhe m=4. Skemat e tjera shqyrtohen me analogji.<\/p>\n<p><\/p>\n<h3 id=\"kak-sozdavat-bloki-kodov-izbytochnosti\">Si t\u00eb krijojm\u00eb blloqet e kodit t\u00eb tepric\u00ebs<\/h3>\n<p><\/p>\n<p>\u00c7do blok kodi t\u00eb tepric\u00ebs llogaritet n\u00eb m\u00ebnyr\u00eb t\u00eb pavarur nga t\u00eb tjer\u00ebt. P\u00ebr t\u00eb llogaritur \u00e7do blok p\u00ebrdoren t\u00eb gjith\u00eb n bloket e t\u00eb dh\u00ebnave. N\u00eb diagramin m\u00eb posht\u00eb, X1-X6 jan\u00eb bloket e t\u00eb dh\u00ebnave, P1\u2013P4 jan\u00eb bloket e kodeve t\u00eb tepric\u00ebs.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/b4841e48a5f2f059376bb458a26c6235.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>T\u00eb gjitha bloket e t\u00eb dh\u00ebnave duhet t\u00eb ken\u00eb t\u00eb nj\u00ebjt\u00ebn madh\u00ebsi, dhe p\u00ebr rreshtimin mund t\u00eb p\u00ebrdoren bit\u00ebr 0. Bloket e marra t\u00eb kodeve t\u00eb tepric\u00ebs do t\u00eb ken\u00eb t\u00eb nj\u00ebjt\u00ebn madh\u00ebsi si bloket e t\u00eb dh\u00ebnave. T\u00eb gjitha bloket e t\u00eb dh\u00ebnave ndahen n\u00eb fjal\u00eb (p.sh., nga 16 bit). Supozoni se i kemi ndar\u00eb bloket e t\u00eb dh\u00ebnave n\u00eb k fjal\u00eb. At\u00ebher\u00eb t\u00eb gjitha bloket e kodeve t\u00eb tepric\u00ebs gjithashtu do t\u00eb ndahen n\u00eb k fjal\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/fff9c998a760e3f05ef45497557888a9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebr llogaritjen e fjal\u00ebs i-t\u00eb t\u00eb secilit blok t\u00eb tepric\u00ebs do t\u00eb p\u00ebrdoren fjal\u00ebt i-ta t\u00eb t\u00eb gjith\u00eb bloket e t\u00eb dh\u00ebnave. Ato do t\u00eb llogariten sipas formul\u00ebs s\u00eb m\u00ebposhtme:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/8f52209ef7f628c8a748325b1a30c2d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>K\u00ebtu vlerat x jan\u00eb fjal\u00ebt e bloket e t\u00eb dh\u00ebnave, p jan\u00eb fjal\u00ebt e bloket e kodeve t\u00eb tepric\u00ebs, t\u00eb gjitha alfa, beta, gamma dhe delta jan\u00eb numra t\u00eb ve\u00e7ant\u00eb t\u00eb zgjedhur, t\u00eb nj\u00ebjt\u00eb p\u00ebr t\u00eb gjith\u00eb i. Menj\u00ebher\u00eb duhet t\u00eb thuhet se t\u00eb gjitha k\u00ebto vlera nuk jan\u00eb numra t\u00eb zakonsh\u00ebm, por elemente t\u00eb fush\u00ebs s\u00eb Galuas, operacionet +, -, *, \/ jan\u00eb jo operacionet e njohura p\u00ebr ne, por operacione speciale t\u00eb futur mbi elementet e fush\u00ebs s\u00eb Galuas.<\/p>\n<p><\/p>\n<h3 id=\"zachem-nuzhny-polya-galua\">P\u00ebrse nevojiten fushat e Galuas<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/94ed4514ae15b01e7869efdeb9a605c6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Duket se \u00ebsht\u00eb e thjesht\u00eb: ndajm\u00eb t\u00eb dh\u00ebnat n\u00eb blloqe, blloqet n\u00eb fjal\u00eb, me ndihm\u00ebn e fjal\u00ebve t\u00eb bllokut t\u00eb t\u00eb dh\u00ebnave llogarisim fjal\u00ebt e bllokut t\u00eb kodeve t\u00eb tepric\u00ebs, k\u00ebshtu marrim blloqet e kodeve t\u00eb tepric\u00ebs. N\u00eb p\u00ebrgjith\u00ebsi, k\u00ebshtu funksionon, por djalli \u00ebsht\u00eb n\u00eb detaje:<\/p>\n<p><\/p>\n<ol>\n<li>Si\u00e7 u tha m\u00eb sip\u00ebr, madh\u00ebsia e fjal\u00ebs \u00ebsht\u00eb e fiksuar, n\u00eb shembullin ton\u00eb 16 bit. Formulat e m\u00ebsip\u00ebrme p\u00ebr kodet e Reed-Solomon jan\u00eb t\u00eb tilla, q\u00eb duke p\u00ebrdorur numra t\u00eb zakonsh\u00ebm t\u00eb plot\u00eb rezultati i llogaritjes p mund t\u00eb mos paraqitet me nj\u00eb fjal\u00eb t\u00eb pranueshme t\u00eb madh\u00ebsis\u00eb.<\/li>\n<li>N\u00eb procesin e rikthimit t\u00eb t\u00eb dh\u00ebnave, formulat e m\u00ebsip\u00ebrme do t\u00eb trajtohen si nj\u00eb sistem ekuacionesh q\u00eb duhet zgjidhur p\u00ebr t\u00eb rikuperuar t\u00eb dh\u00ebnat. N\u00eb procesin e zgjidhjes mund t\u00eb ndodh\u00eb q\u00eb t\u00eb nevojitet t\u00eb kryhet ndarja e numrave t\u00eb plot\u00eb nga nj\u00ebri-tjetri, rezultati i s\u00eb cil\u00ebs do t\u00eb jet\u00eb nj\u00eb num\u00ebr real, i cili nuk mund t\u00eb paraqitet sakt\u00ebsisht n\u00eb memorien e kompjuterit.<\/li>\n<\/ol>\n<p><\/p>\n<p>K\u00ebto probleme nuk lejojn\u00eb p\u00ebrdorimin e numrave t\u00eb plot\u00eb p\u00ebr kodet e Reed\u2013Solomon. Zgjidhja e problemeve \u00ebsht\u00eb origjinale dhe mund t\u00eb p\u00ebrshkruhet n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb: le t\u00eb shpikim numra t\u00eb ve\u00e7ant\u00eb, t\u00eb cil\u00ebt mund t\u00eb paraqiten me fjal\u00eb t\u00eb gjat\u00eb (p.sh., 16 bit), dhe rezultati i t\u00eb gjitha operacioneve mbi ta (shtimi, zbritja, shum\u00ebzimi, ndarja) gjithashtu do t\u00eb p\u00ebrfaq\u00ebsohet n\u00eb memorien e kompjuterit me fjal\u00eb t\u00eb nevojshme gjat\u00ebsi.<\/p>\n<p><\/p>\n<p>Numrat e till\u00eb \"t\u00eb ve\u00e7ant\u00eb\" jan\u00eb studiuar prej nj\u00eb koh\u00eb t\u00eb gjat\u00eb nga matematika, dhe ata quhen fush\u00eb. Nj\u00eb fush\u00eb \u00ebsht\u00eb nj\u00eb shum\u00ebsi elementesh me operacione t\u00eb caktuara p\u00ebr to t\u00eb shtimit, zbritjes, shum\u00ebzimit dhe ndarjes.<\/p>\n<p><\/p>\n<p>Fushat e Galois* jan\u00eb fusha p\u00ebr t\u00eb cilat ekziston dhe \u00ebsht\u00eb unik rezultati i \u00e7do operacioni (+, -, *, \/) p\u00ebr \u00e7do dy elemente t\u00eb fush\u00ebs. Fushat e Galois mund t\u00eb nd\u00ebrtohen p\u00ebr numra q\u00eb jan\u00eb fuqia e 2: 2, 4, 8, 16 etj. (n\u00eb t\u00eb v\u00ebrtet\u00eb fuqia e \u00e7do numri t\u00eb thjesht\u00eb p, por n\u00eb praktik\u00eb na interesojn\u00eb vet\u00ebm fuqit\u00eb e 2). P\u00ebr shembull, p\u00ebr fjal\u00eb me madh\u00ebsi 16 bit, kjo fush\u00eb p\u00ebrmban 65,536 elemente, p\u00ebr \u00e7do \u00e7ift t\u00eb cil\u00ebve mund t\u00eb gjendet rezultati i \u00e7do operacioni (+, -, *, \/). Vlerat x, p, alpha, beta, gamma, delta nga ekuacionet m\u00eb lart p\u00ebr llogaritjet do t\u00eb konsiderohen elemente t\u00eb fush\u00ebs Galois.<\/p>\n<p><\/p>\n<p>K\u00ebshtu, ne kemi nj\u00eb sistem ekuacionesh, me ndihm\u00ebn e t\u00eb cilave mund t\u00eb nd\u00ebrtojm\u00eb blloqe kodesh mbivend\u00ebsimi, duke shkruar nj\u00eb program kompjuterik p\u00ebrkat\u00ebs. Me k\u00ebt\u00eb sistem ekuacionesh, gjithashtu mund t\u00eb kryhet rikuperimi i t\u00eb dh\u00ebnave.<\/p>\n<p><\/p>\n<p>* K\u00ebto nuk jan\u00eb nj\u00eb p\u00ebrkufizim strik, p\u00ebrkundrazi nj\u00eb p\u00ebrshkrim.<\/p>\n<p><\/p>\n<h3 id=\"kak-vosstanavlivat-dannye\">Si t\u00eb rikuperoni t\u00eb dh\u00ebnat<\/h3>\n<p><\/p>\n<p>Rikuperimi \u00ebsht\u00eb i nevojsh\u00ebm kur nga blloqet n + m, nj\u00eb pjes\u00eb e blloqeve mungon. K\u00ebto mund t\u00eb jen\u00eb si blloqe t\u00eb dh\u00ebnash ashtu edhe blloqe kodesh mbivend\u00ebsimi. Mungesa e blloqeve t\u00eb dh\u00ebnash dhe\/ose blloqeve t\u00eb kodit mbivend\u00ebsim do t\u00eb n\u00ebnkuptoj\u00eb se n\u00eb ekuacionet m\u00eb lart, variablat p\u00ebrkat\u00ebse x dhe\/ose p jan\u00eb t\u00eb panjohura.<\/p>\n<p><\/p>\n<p>Ekuacionet p\u00ebr kodet Reed\u2013Solomon mund t\u00eb merren si nj\u00eb sistem ekuacionesh, ku t\u00eb gjitha vlerat alpha, beta, gamma, delta jan\u00eb konstanta, t\u00eb gjitha x dhe p, p\u00ebrkat\u00ebsisht blloqeve t\u00eb disponueshme, jan\u00eb variabla t\u00eb njohur, dhe x dhe p t\u00eb tjer\u00ebt jan\u00eb t\u00eb panjohur.<\/p>\n<p><\/p>\n<p>P\u00ebr shembull, le t\u00eb supozojm\u00eb se blloqet e dh\u00ebnash 1, 2, 3 dhe blloku i kodit mbivend\u00ebsim 2 nuk jan\u00eb t\u00eb aksesuesh\u00ebm, at\u00ebher\u00eb p\u00ebr grupin e fjal\u00ebve i do t\u00eb ket\u00eb sistemin e m\u00ebposht\u00ebm t\u00eb ekuacioneve (t\u00eb panjohurat e sh\u00ebnuara me t\u00eb kuqe):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/6f24804c3d34423f31796e43e9ae1203.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ne kemi nj\u00eb sistem me 4 ekuacione dhe 4 t\u00eb panjohura, pra mund ta zgjidhim dhe t\u00eb rikuperojm\u00eb t\u00eb dh\u00ebnat!<\/p>\n<p><\/p>\n<p>Nga ky sistem ekuacionesh ndodhin disa p\u00ebrfundime p\u00ebr rikuperimin e t\u00eb dh\u00ebnave p\u00ebr kodet e Reed-Solomon (n blloqe t\u00eb dh\u00ebnash, m blloqe t\u00eb kodit t\u00eb tep\u00ebrt):<\/p>\n<p><\/p>\n<ul>\n<li>T\u00eb dh\u00ebnat mund t\u00eb rikuperohen me humbjen e \u00e7do m blloqesh ose m\u00eb pak. Me humbjen e m+1 ose m\u00eb shum\u00eb blloqesh, t\u00eb dh\u00ebnat nuk mund t\u00eb rikuperohen: nuk mund t\u00eb zgjidhen nj\u00eb sistem me m ekuacione dhe m + 1 t\u00eb panjohura. <\/li>\n<li>P\u00ebr t\u00eb rikuperuar edhe nj\u00eb bllok t\u00eb dh\u00ebnash, \u00ebsht\u00eb e nevojshme t\u00eb p\u00ebrdoren \u00e7do n nga blloqet e mbetura, nd\u00ebrkoh\u00eb q\u00eb mund t\u00eb p\u00ebrdoren \u00e7do nga kodet e tep\u00ebrt.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"chto-eschyo-nuzhno-znat\">\u00c7far\u00eb tjet\u00ebr duhet t\u00eb dihet<\/h3>\n<p><\/p>\n<p>N\u00eb p\u00ebrshkrimin e m\u00ebsip\u00ebrm, un\u00eb kaloj disa \u00e7\u00ebshtje t\u00eb r\u00ebnd\u00ebsishme, p\u00ebr t'i shqyrtuar ato, \u00ebsht\u00eb e nevojshme t\u00eb thellohemi m\u00eb tep\u00ebr n\u00eb matematik\u00eb. N\u00eb ve\u00e7anti, nuk flas p\u00ebr si vijon:<\/p>\n<p><\/p>\n<ul>\n<li>Sistemi i ekuacioneve p\u00ebr kodet e Reed-Solomon duhet t\u00eb ket\u00eb (zgjidhjen e vetme) p\u00ebr \u00e7do kombinim t\u00eb t\u00eb panjohurave (jo m\u00eb shum\u00eb se m t\u00eb panjohura). N\u00eb baz\u00eb t\u00eb k\u00ebsaj k\u00ebrkese, p\u00ebrcaktohen vlerat e alfas, betas, gamas dhe deltas.<\/li>\n<li>Sistemi i ekuacioneve duhet t\u00eb dij\u00eb si t\u00eb nd\u00ebrtohet automatikisht (n\u00eb var\u00ebsi t\u00eb bllok\u00ebve q\u00eb nuk jan\u00eb t\u00eb aksesuesh\u00ebm) dhe si t\u00eb zgjidhet.<\/li>\n<li>Duhet t\u00eb nd\u00ebrtohet nj\u00eb fush\u00eb Galois: p\u00ebr nj\u00eb madh\u00ebsi t\u00eb caktuar fjal\u00eb, t\u00eb dihet si t\u00eb gjej\u00eb rezultatin e \u00e7do operacioni (+, -, *, \/) p\u00ebr \u00e7do dy elemente.<\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00eb fund t\u00eb artikullit ka lidhje me literatur\u00ebn p\u00ebr k\u00ebto \u00e7\u00ebshtje t\u00eb r\u00ebnd\u00ebsishme.<\/p>\n<p><\/p>\n<h3 id=\"vybor-n-i-m\">Zgjedhja e n dhe m<\/h3>\n<p><\/p>\n<p>Si t\u00eb zgjidhni praktikisht n dhe m? N\u00eb praktik\u00eb, n\u00eb sistemet e ruajtjes s\u00eb t\u00eb dh\u00ebnave, kodet e tep\u00ebrt p\u00ebrdoren p\u00ebr t\u00eb kursyer hap\u00ebsir\u00eb, prandaj m zgjidhet gjithmon\u00eb m\u00eb i vog\u00ebl se n. Vlerat e tyre specifike varen nga disa faktor\u00eb, duke p\u00ebrfshir\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>Besueshm\u00ebria e ruajtjes s\u00eb t\u00eb dh\u00ebnave. Sa m\u00eb e madhe t\u00eb jet\u00eb m, aq m\u00eb shum\u00eb d\u00ebshtime t\u00eb disqeve mund t\u00eb p\u00ebrballohen, pra m\u00eb e lart\u00eb \u00ebsht\u00eb besueshm\u00ebria.<\/li>\n<li>Teprica e ruajtjes. Sa m\u00eb e lart\u00eb t\u00eb jet\u00eb raporti m \/ n, aq m\u00eb e lart\u00eb do t\u00eb jet\u00eb teprica e ruajtjes, dhe aq m\u00eb shtrenjt\u00eb do t\u00eb jet\u00eb sistemi.<\/li>\n<li>Koha e p\u00ebrpunimit t\u00eb k\u00ebrkesave. Sa m\u00eb e madhe t\u00eb jet\u00eb shuma n + m, aq m\u00eb e gjat\u00eb do t\u00eb jet\u00eb koha e p\u00ebrgjigjes p\u00ebr k\u00ebrkesat. Pasi gjat\u00eb leximit t\u00eb t\u00eb dh\u00ebnave (n\u00eb koh\u00ebn e rikuperimit) duhet t\u00eb lexohen n blloqe, t\u00eb ruajtura n\u00eb n disqe t\u00eb ndrysh\u00ebm, koha e leximit do t\u00eb p\u00ebrcaktohet nga disku m\u00eb t\u00eb ngadalsh\u00ebm.<\/li>\n<\/ul>\n<p><\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, ruajtja e t\u00eb dh\u00ebnave n\u00eb disa Qendra t\u00eb t\u00eb Dh\u00ebnave vendos kufizime t\u00eb tjera n\u00eb zgjedhjen e n dhe m: kur ndalon nj\u00eb Qend\u00ebr t\u00eb t\u00eb Dh\u00ebnave, t\u00eb dh\u00ebnat duhet t\u00eb jen\u00eb ende t\u00eb aksesueshme p\u00ebr lexim. P\u00ebr shembull, kur ruajm\u00eb t\u00eb dh\u00ebnat n\u00eb 3 Qendra t\u00eb t\u00eb Dh\u00ebnave, duhet t\u00eb p\u00ebrmbushet kushti: m &gt;= n\/2, ndryshe mund t\u00eb ndodhi nj\u00eb situat\u00eb kur t\u00eb dh\u00ebnat nuk jan\u00eb t\u00eb aksesueshme p\u00ebr lexim kur nj\u00eb Qend\u00ebr e t\u00eb Dh\u00ebnave \u00ebsht\u00eb ndaluar.<\/p>\n<p><\/p>\n<h1 id=\"3-lrc--local-reconstruction-codes\">3. LRC \u2013 Kodet e Rekonstruksionit Vendor<\/h1>\n<p><\/p>\n<p>P\u00ebr t\u00eb rikuperuar t\u00eb dh\u00ebnat me kodet e Reed-Solomon, duhet t\u00eb p\u00ebrdoren n blloqe t\u00eb rast\u00ebsishme t\u00eb t\u00eb dh\u00ebnave. Kjo \u00ebsht\u00eb nj\u00eb disavantazh shum\u00eb i r\u00ebnd\u00ebsish\u00ebm p\u00ebr sistemet e shp\u00ebrndara t\u00eb ruajtjes s\u00eb t\u00eb dh\u00ebnave, pasi p\u00ebr t\u00eb rikuperuar t\u00eb dh\u00ebnat n\u00eb nj\u00eb disk t\u00eb prishur do t\u00eb duhet t\u00eb lexojm\u00eb t\u00eb dh\u00ebnat nga shumica e blloqeve t\u00eb tjera, duke krijuar nj\u00eb ngarkes\u00eb t\u00eb madhe shtes\u00eb mbi disqet dhe rrjetin.<\/p>\n<p><\/p>\n<p>Gabimet m\u00eb t\u00eb zakonshme jan\u00eb mungesa e nj\u00eb blloku t\u00eb dh\u00ebnash p\u00ebr shkak t\u00eb d\u00ebshtimit ose mbingarkes\u00ebs s\u00eb nj\u00eb disku. A \u00ebsht\u00eb e mundur t\u00eb reduktohet ndonj\u00ebher\u00eb ngarkesa e tep\u00ebrt p\u00ebr rikuperimin e t\u00eb dh\u00ebnave n\u00eb nj\u00eb rast t\u00eb till\u00eb (m\u00eb t\u00eb zakonsh\u00ebm)? Duket se \u00ebsht\u00eb e mundur: p\u00ebr k\u00ebt\u00eb ekzistojn\u00eb kodet e tep\u00ebrt LRC.<\/p>\n<p><\/p>\n<p>LRC (Kodet e Rekonstruksionit Vendor) \u2013 jan\u00eb kode t\u00eb tep\u00ebrt t\u00eb konceptuara nga Microsoft p\u00ebr t'u p\u00ebrdorur n\u00eb Windows Azure Storage. Ideeja e LRC \u00ebsht\u00eb shum\u00eb e thjesht\u00eb: t\u00eb ndajm\u00eb t\u00eb gjith\u00eb blloqet e t\u00eb dh\u00ebnave n\u00eb dy (ose m\u00eb shum\u00eb) grupe dhe t\u00eb llogarisim nj\u00eb pjes\u00eb t\u00eb blloqeve t\u00eb kodit t\u00eb tep\u00ebrt p\u00ebr secil\u00ebn grup t\u00eb ve\u00e7ant\u00eb. K\u00ebshtu, nj\u00eb pjes\u00eb e blloqeve t\u00eb kodit t\u00eb tep\u00ebrt do t\u00eb llogaritet duke p\u00ebrdorur t\u00eb gjitha blloqet e t\u00eb dh\u00ebnave (n\u00eb LRC ato quhen kode globale t\u00eb tep\u00ebrt), dhe nj\u00eb pjes\u00eb \u2013 duke p\u00ebrdorur nj\u00eb nga dy grupet e blloqeve t\u00eb t\u00eb dh\u00ebnave (ato quhen kode lokale t\u00eb tep\u00ebrt).<\/p>\n<p><\/p>\n<p>LRC shprehet me tre numra: n-r-l, ku n \u00ebsht\u00eb numri i blloqeve t\u00eb t\u00eb dh\u00ebnave, r \u00ebsht\u00eb numri i blloqeve globale t\u00eb kodit t\u00eb tep\u00ebrt, l \u00ebsht\u00eb numri i blloqeve lokale t\u00eb kodit t\u00eb tep\u00ebrt. P\u00ebr t\u00eb lexuar t\u00eb dh\u00ebnat kur mungon nj\u00eb bllok t\u00eb dh\u00ebnash, duhet t\u00eb lexojm\u00eb vet\u00ebm n\/l blloqe \u2013 kjo \u00ebsht\u00eb l her\u00eb m\u00eb pak sesa n\u00eb kodet e Reed-Solomon.<\/p>\n<p><\/p>\n<p>P\u00ebr shembull, le t\u00eb shqyrtojm\u00eb skem\u00ebn LRC 6-2-2. X1\u2013X6 jan\u00eb 6 blloqe t\u00eb t\u00eb dh\u00ebnave, P1, P2 jan\u00eb 2 blloqe globale t\u00eb tep\u00ebrt, P3, P4 jan\u00eb 2 blloqe lokale t\u00eb tep\u00ebrt.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/783f6d4b57b992c56385cdd07603cda8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Blloqet e kodit t\u00eb tep\u00ebrt P1, P2 llogariten duke p\u00ebrdorur t\u00eb gjitha blloqet e t\u00eb dh\u00ebnave. Blloku i kodit t\u00eb tep\u00ebrt P3 \u2013 me blloqet e t\u00eb dh\u00ebnave X1\u2013X3, blloku i kodit t\u00eb tep\u00ebrt P4 \u2013 me blloqet e t\u00eb dh\u00ebnave X4\u2013X6.<\/p>\n<p><\/p>\n<p>T\u00eb tjerat b\u00ebhen n\u00eb LRC duke ndjekur kodet e Ridhardit - Solomonit. Ekuacionet p\u00ebr llogaritjen e fjal\u00ebve t\u00eb blloqeve t\u00eb kodit t\u00eb tep\u00ebrt do t\u00eb jen\u00eb k\u00ebto:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kodet e tepric\u00ebs: me fjal\u00eb t\u00eb thjeshta se si t\u00eb ruani t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme dhe me kosto t\u00eb ul\u00ebt\" src=\"\/wp-content\/uploads\/2020\/07\/b32c8864fac0678014fc9a5abf490537.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb p\u00ebrcaktuar numrat alfa, beta, gamma, delta, duhet t\u00eb p\u00ebrmbushen disa kushte q\u00eb garantojn\u00eb mund\u00ebsin\u00eb e rikuperimit t\u00eb t\u00eb dh\u00ebnave (dmth, zgjidhja e sistemit t\u00eb ekuacioneve). M\u00eb shum\u00eb rreth tyre mund t\u00eb lexoni n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/LRC12-cheng20webpage.pdf\">artikulli yn\u00eb<\/a><\/noindex>.<br \/>\nPo ashtu, n\u00eb praktik\u00eb p\u00ebr llogaritjen e kodeve lokale te tep\u00ebrt P3, P4 p\u00ebrdoret operacioni XOR. <\/p>\n<p><\/p>\n<p>Nga sistemi i ekuacioneve p\u00ebr LRC nxirren disa p\u00ebrfundime:<\/p>\n<p><\/p>\n<ul>\n<li>P\u00ebr t\u00eb rikuperuar \u00e7do 1 bllok t\u00eb dh\u00ebnash \u00ebsht\u00eb e mjaftueshme t\u00eb lexoni n\/l blloqe (n\/2 n\u00eb shembullin ton\u00eb).<\/li>\n<li>N\u00ebse nuk jan\u00eb t\u00eb arritsh\u00ebm r + l blloqe, dhe t\u00eb gjitha blloqet p\u00ebrfshihen n\u00eb nj\u00eb grup, at\u00ebher\u00eb t\u00eb dh\u00ebnat nuk mund t\u00eb rikuperohen. Kjo mund t\u00eb shpjegohet leht\u00eb me nj\u00eb shembull. Le t\u00eb themi se blloqet X1\u2013X3 dhe P3 nuk jan\u00eb t\u00eb arritshme: k\u00ebto jan\u00eb r + l blloqe nga nj\u00eb grup, 4 n\u00eb rastin ton\u00eb. At\u00ebher\u00eb kemi nj\u00eb sistem t\u00eb 3 ekuacioneve me 4 t\u00eb panjohura, t\u00eb cilin nuk mund ta zgjidhim.<\/li>\n<li>N\u00eb t\u00eb gjitha rastet e tjera t\u00eb paprekshm\u00ebris\u00eb r + l blloqe (kur nga \u00e7do grup \u00ebsht\u00eb i arritsh\u00ebm t\u00eb pakt\u00ebn nj\u00eb bllok), t\u00eb dh\u00ebnat n\u00eb LRC mund t\u00eb rikuperohen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Prandaj, LRC \u00ebsht\u00eb m\u00eb i mir\u00eb se kodet Ridhard - Solomon n\u00eb rikuperimin e t\u00eb dh\u00ebnave pas gabimeve t\u00eb vetme. N\u00eb kodet Ridhard - Solomon, p\u00ebr t\u00eb rikuperuar edhe nj\u00eb bllok t\u00eb dh\u00ebnash duhet t\u00eb p\u00ebrdoren n blloqe, nd\u00ebrsa n\u00eb LRC p\u00ebr t\u00eb rikuperuar nj\u00eb bllok t\u00eb dh\u00ebnash \u00ebsht\u00eb e mjaftueshme t\u00eb p\u00ebrdoren n\/l blloqe (n\/2 n\u00eb shembullin ton\u00eb). Nga ana tjet\u00ebr, LRC humbet p\u00ebrpara kodeve Ridhard - Solomon n\u00eb numrin maksimal t\u00eb gabimeve t\u00eb lejuara. N\u00eb shembujt e m\u00ebsip\u00ebrm, kodet Ridhard - Solomon mund t\u00eb rikuperojn\u00eb t\u00eb dh\u00ebnat p\u00ebr \u00e7do 4 gabim, nd\u00ebrsa p\u00ebr LRC ka 2 kombinime nga 4 gabime, kur t\u00eb dh\u00ebnat nuk mund t\u00eb rikuperohen.<\/p>\n<p><\/p>\n<p>\u00c7far\u00eb \u00ebsht\u00eb m\u00eb e r\u00ebnd\u00ebsishme - varet nga situata specifike, por shpesh kursimi i ngarkes\u00ebs s\u00eb tep\u00ebrt q\u00eb ofron LRC e kalon disi besueshm\u00ebrin\u00eb e pak\u00ebt t\u00eb ruajtjes.<\/p>\n<p><\/p>\n<h1 id=\"4-drugie-kody-izbytochnosti\">4. Kodet e tjera t\u00eb tep\u00ebrt<\/h1>\n<p><\/p>\n<p>P\u00ebrve\u00e7 kodeve Ridhard - Solomon dhe LRC, ka shum\u00eb kode t\u00eb tjera t\u00eb tep\u00ebrt. Kode t\u00eb ndryshme t\u00eb tep\u00ebrt p\u00ebrdorin matematik\u00eb t\u00eb ndryshme. Ja disa kode t\u00eb tjera t\u00eb tep\u00ebrt:<\/p>\n<p><\/p>\n<ul>\n<li>Kodi i tep\u00ebrt me an\u00eb t\u00eb operatorit XOR. Operacioni XOR kryhet mbi n blloqe t\u00eb dh\u00ebnash dhe rezulton n\u00eb 1 bllok kode t\u00eb tep\u00ebrt, dmth, skema n+1 (n blloqe t\u00eb dh\u00ebnash, 1 kod t\u00eb tep\u00ebrt). P\u00ebrdoret n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/RAID#RAID_5\">RAID 5<\/a><\/noindex>, ku blloqet e t\u00eb dh\u00ebnave dhe t\u00eb kodit t\u00eb tep\u00ebrt shkruhen ciklikisht n\u00eb t\u00eb gjitha disk\u00ebt e grupit.<\/li>\n<li>Algoritmi even-odd, i bazuar n\u00eb operacionin XOR. Lejon nd\u00ebrtimin e 2 bllok\u00ebve t\u00eb kodit t\u00eb tep\u00ebrt, q\u00eb do t\u00eb thot\u00eb skema n+2.<\/li>\n<li>Algoritmi STAR, i bazuar n\u00eb operacionin XOR. Lejon nd\u00ebrtimin e 3 bllok\u00ebve t\u00eb kodit t\u00eb tep\u00ebrt, q\u00eb do t\u00eb thot\u00eb skema n+3.<\/li>\n<li>Kodet Pyramide \u2014 nj\u00eb tjet\u00ebr kod i tep\u00ebrt nga Microsoft.<\/li>\n<\/ul>\n<p><\/p>\n<h1 id=\"5-ispolzovanie-v-yandekse\">5. P\u00ebrdorimi n\u00eb Yandex<\/h1>\n<p><\/p>\n<p>Nj\u00eb num\u00ebr projektesh infrastrukturore t\u00eb Yandex p\u00ebrdorin kode t\u00eb tep\u00ebrta p\u00ebr ruajtjen e besueshme t\u00eb t\u00eb dh\u00ebnave. Ja disa shembuj:<\/p>\n<p><\/p>\n<ul>\n<li>Sistemi i brendsh\u00ebm t\u00eb ruajtjes s\u00eb objektit MDS, p\u00ebr t\u00eb cilin kam shkruar n\u00eb fillim t\u00eb artikullit.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/311104\/\">YT<\/a><\/noindex> \u2014 Sistemi MapReduce i Yandex.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=FwLvAuOSIOU\">YDB<\/a><\/noindex> (Yandex DataBase) \u2014 nj\u00eb baz\u00eb t\u00eb dh\u00ebnash distribuate newSQL.<\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00eb MDS p\u00ebrdoren kode t\u00eb tep\u00ebrta LRC, skema 8-2-2. T\u00eb dh\u00ebnat me kode t\u00eb tep\u00ebrta shkruhen n\u00eb 12 diska t\u00eb ndrysh\u00ebm n\u00eb servera t\u00eb ndrysh\u00ebm n\u00eb 3 DC t\u00eb ndryshme: 4 servera n\u00eb \u00e7do DC. M\u00eb shum\u00eb rreth k\u00ebsaj lexoni n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/311806\/\">artikulli yn\u00eb<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>N\u00eb YT p\u00ebrdoren si kodet e Reed-Solomon (skema 6-3), t\u00eb cilat u implementuan t\u00eb parat, ashtu edhe kode t\u00eb tep\u00ebrta LRC (skema 12-2-2), p\u00ebrkat\u00ebsisht LRC \u00ebsht\u00eb m\u00ebnyra e preferuar e ruajtjes.<\/p>\n<p><\/p>\n<p>N\u00eb YDB p\u00ebrdoren kode t\u00eb tep\u00ebrta, t\u00eb bazuara n\u00eb even-odd (skema 4-2). Rreth kodeve t\u00eb tep\u00ebrta n\u00eb YDB \u00ebsht\u00eb diskutohet tashm\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=dCpfGJ35kK8\">n\u00eb Highload<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>P\u00ebrdorimi i skemave t\u00eb ndryshme t\u00eb kodeve t\u00eb tep\u00ebrta \u00ebsht\u00eb i justifikuar nga k\u00ebrkesat e ndryshme q\u00eb u vendosen sistemeve. P\u00ebr shembull, n\u00eb MDS, t\u00eb dh\u00ebnat e ruajtura me LRC vendosen menj\u00ebher\u00eb n\u00eb 3 DC. Na intereson q\u00eb t\u00eb dh\u00ebnat t\u00eb q\u00ebndrojn\u00eb t\u00eb aksesueshme p\u00ebr lexim gjat\u00eb d\u00ebshtimit t\u00eb ndonj\u00eb DC, prandaj blloqet duhet t\u00eb jen\u00eb t\u00eb shp\u00ebrndara n\u00eb DC n\u00eb m\u00ebnyr\u00eb q\u00eb, n\u00eb rastin e munges\u00ebs s\u00eb ndonj\u00eb DC, numri i blloqeve t\u00eb pap\u00ebrdorshme t\u00eb mos kaloj\u00eb nivelin e pranuesh\u00ebm. N\u00eb skem\u00ebn 8-2-2 mund t\u00eb vendosen 4 blloqe n\u00eb \u00e7do DC, k\u00ebshtu q\u00eb me ndalimin e ndonj\u00eb DC, do t\u00eb ket\u00eb 4 blloqe t\u00eb pap\u00ebrdorshme, dhe t\u00eb dh\u00ebnat mund t\u00eb lexohen. \u00c7do skem\u00eb q\u00eb zgjidhim p\u00ebr vendosjen n\u00eb 3 DC, n\u00eb \u00e7do rast, duhet t\u00eb jet\u00eb (r + l) \/ n &gt;= 0,5, q\u00eb do t\u00eb thot\u00eb se tep\u00ebrsia e ruajtjes do t\u00eb jet\u00eb t\u00eb pakt\u00ebn 50%.<\/p>\n<p><\/p>\n<p>N\u00eb YT situata \u00ebsht\u00eb e ndryshme: \u00e7do klaster YT vendoset plot\u00ebsisht n\u00eb 1 DC (klastere t\u00eb ndryshme n\u00eb DC t\u00eb ndryshme), prandaj atje nuk ka nj\u00eb kufizim t\u00eb till\u00eb. Skema 12-2-2 ofron tep\u00ebrsin\u00eb 33%, q\u00eb do t\u00eb thot\u00eb se ruajtja e t\u00eb dh\u00ebnave \u00ebsht\u00eb m\u00eb e lir\u00eb, dhe gjithashtu mund t\u00eb p\u00ebrballojn\u00eb deri n\u00eb 4 ndalime t\u00eb disqeve n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, ashtu si skema n\u00eb MDS.<\/p>\n<p><\/p>\n<p>Ka jan\u00eb shum\u00eb ve\u00e7ori t\u00eb tjera t\u00eb p\u00ebrdorimit t\u00eb kodit t\u00eb tep\u00ebrt n\u00eb sistemet e ruajtjes dhe p\u00ebrpunimit t\u00eb t\u00eb dh\u00ebnave: detaje t\u00eb rikuperimit t\u00eb t\u00eb dh\u00ebnave, ndikimi i rikuperimit n\u00eb koh\u00ebn e ekzekutimit t\u00eb k\u00ebrkesave, ve\u00e7orit\u00eb e shkruarjes s\u00eb t\u00eb dh\u00ebnave etj. Un\u00eb kam nd\u00ebrmend t\u00eb flas ve\u00e7mas p\u00ebr k\u00ebto dhe ve\u00e7ori t\u00eb tjera t\u00eb p\u00ebrdorimit t\u00eb kodit t\u00eb tep\u00ebrt n\u00eb praktik\u00eb, n\u00ebse tema do t\u00eb jet\u00eb interesante.<\/p>\n<p><\/p>\n<h1 id=\"6-ssylki\">6. Lidhjet<\/h1>\n<p><\/p>\n<ol>\n<li>Seria e artikujve mbi kodet e Ridh-Salomoni dhe fushat e Galois: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yadro\/blog\/336286\/\">https:\/\/habr.com\/ru\/company\/yadro\/blog\/336286\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yadro\/blog\/341506\/\">https:\/\/habr.com\/ru\/company\/yadro\/blog\/341506\/<\/a><\/noindex><br \/>\nN\u00eb to shqyrtohet matematika m\u00eb thell\u00eb n\u00eb nj\u00eb gjuh\u00eb t\u00eb aksesueshme.<\/li>\n<li>Artikulli nga Microsoft mbi LRC: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/LRC12-cheng20webpage.pdf\">https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/LRC12-cheng20webpage.pdf<\/a><\/noindex><br \/>\nN\u00eb seksionin 2 shpjegohet shkurtimisht teoria, m\u00eb pas shqyrtohet p\u00ebrvoja e aplikimit t\u00eb LRC n\u00eb praktik\u00eb.<\/li>\n<li>Sistemi even-odd: <noindex><a rel=\"nofollow\" href=\"https:\/\/people.eecs.berkeley.edu\/~kubitron\/courses\/cs262a-F12\/handouts\/papers\/p245-blaum.pdf\">https:\/\/people.eecs.berkeley.edu\/~kubitron\/courses\/cs262a-F12\/handouts\/papers\/p245-blaum.pdf<\/a><\/noindex><\/li>\n<li>Sistemi STAR: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.usenix.org\/legacy\/event\/fast05\/tech\/full_papers\/huang\/huang.pdf\">https:\/\/www.usenix.org\/legacy\/event\/fast05\/tech\/full_papers\/huang\/huang.pdf<\/a><\/noindex><\/li>\n<li>Pyramid codes: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/pyramid-codes-flexible-schemes-to-trade-space-for-access-efficiency-in-reliable-data-storage-systems\/\">https:\/\/www.microsoft.com\/en-us\/research\/publication\/pyramid-codes-flexible-schemes-to-trade-space-for-access-efficiency-in-reliable-data-storage-systems\/<\/a><\/noindex><\/li>\n<li>Kodet e tep\u00ebrt n\u00eb MDS: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/311806\">https:\/\/habr.com\/ru\/company\/yandex\/blog\/311806<\/a><\/noindex> <\/li>\n<li>Kodet e tep\u00ebrt n\u00eb YT: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/311104\/\">https:\/\/habr.com\/ru\/company\/yandex\/blog\/311104\/<\/a><\/noindex><\/li>\n<li>Kodet e tep\u00ebrt n\u00eb YDB: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=dCpfGJ35kK8\">https:\/\/www.youtube.com\/watch?v=dCpfGJ35kK8<\/a><\/noindex><\/li>\n<\/ol>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/510050\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0422\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u041a\u043e\u0434\u044b \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438* \u0448\u0438\u0440\u043e\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u042f\u043d\u0434\u0435\u043a\u0441\u0435 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u043e\u0432 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0431\u0435\u0437 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438. \u041d\u043e \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0448\u0438\u0440\u043e\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435, \u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043a\u043e\u0434\u044b \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0440\u0435\u0434\u043a\u043e. \u0416\u0435\u043b\u0430\u044e\u0449\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87759,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87758","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=\"description\" content=\".\" \/>\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\/kody-izbytochnosti-prostymi-slovami-o-tom-kak-nadyozhno-i-dyoshevo-hranit-dannye\" \/>\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\u041a\u043e\u0434\u044b \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438: \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0434\u0451\u0436\u043d\u043e \u0438 \u0434\u0451\u0448\u0435\u0432\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\".\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kody-izbytochnosti-prostymi-slovami-o-tom-kak-nadyozhno-i-dyoshevo-hranit-dannye\" \/>\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-07-09T23:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-09T23:41:58+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\udd47Kodet e tep\u00ebrt: me fjal\u00eb t\u00eb thjeshta p\u00ebr m\u00ebnyr\u00ebn se si t\u00eb ruani t\u00eb dh\u00ebnat me siguri dhe n\u00eb m\u00ebnyr\u00eb t\u00eb lir\u00eb | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kody-izbytochnosti-prostymi-slovami-o-tom-kak-nadyozhno-i-dyoshevo-hranit-dannye","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\u041a\u043e\u0434\u044b \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438: \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0434\u0451\u0436\u043d\u043e \u0438 \u0434\u0451\u0448\u0435\u0432\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 | ProHoster","og:description":".","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kody-izbytochnosti-prostymi-slovami-o-tom-kak-nadyozhno-i-dyoshevo-hranit-dannye","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-07-09T23:41:58+00:00","article:modified_time":"2020-07-09T23:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87758","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 13:44:06","updated":"2022-09-29 13:02:43","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\/87758","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=87758"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/87758\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/87759"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=87758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=87758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=87758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}