Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Hekk tidher is-sensja

Il-kodiċijiet ta' redundancy* jintużaw ħafna fis-sistemi tal-kompjuter biex tiżdied l-affidabbiltà tal-ħażna tad-dejta. F'Yandex jintużaw f'ħafna proġetti. Pereżempju, l-użu ta 'kodiċijiet ta' redundancy minflok replikazzjoni fil-ħażna interna tal-oġġetti tagħna jiffranka miljuni mingħajr ma tiġi sagrifikata l-affidabbiltà. Iżda minkejja l-użu mifrux tagħhom, deskrizzjonijiet ċari ta 'kif jaħdmu l-kodiċijiet ta' redundancy huma rari ħafna. Dawk li jridu jifhmu huma ffaċċjati b'madwar dan li ġej (minn Wikipedija):

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Jisimni Vadim, f'Yandex qed niżviluppa MDS tal-ħażna interna tal-oġġetti. F'dan l-artikolu, ser niddeskrivi fi kliem sempliċi l-pedamenti teoretiċi tal-kodiċijiet ta 'redundancy (kodiċijiet Reed-Solomon u LRC). Jien ngħidlek kif taħdem, mingħajr matematika kumplessa u termini rari. Fl-aħħar se nagħti eżempji ta 'użu ta' kodiċijiet ta 'redundancy f'Yandex.

Mhux se nikkunsidra numru ta' dettalji matematiċi fid-dettall, iżda se nipprovdi links għal dawk li jixtiequ jgħoddsu aktar fil-fond. Se ninnota wkoll li xi definizzjonijiet matematiċi jistgħu ma jkunux stretti, peress li l-artikolu mhuwiex maħsub għall-matematiċi, iżda għall-inġiniera li jridu jifhmu l-essenza tal-kwistjoni.

* Fil-letteratura bil-lingwa Ingliża, il-kodiċijiet ta’ redundancy spiss jissejħu kodiċijiet tat-tħassir.

1. L-essenza tal-kodiċijiet ta 'redundancy

L-essenza tal-kodiċijiet kollha ta 'redundancy hija estremament sempliċi: aħżen (jew tittrasmetti) data sabiex ma tintilifx meta jseħħu żbalji (fallimenti tad-disk, żbalji ta' trasferiment tad-data, eċċ.).

Fil-biċċa l-kbira tal-* kodiċijiet ta 'redundancy, id-dejta hija maqsuma f'n blokki ta' data, li għalihom jingħaddu m blokki ta 'kodiċijiet ta' redundancy, li jirriżultaw f'total ta 'n + m blokki. Il-kodiċijiet ta’ redundancy huma mibnija b’tali mod li n blokki ta’ data jistgħu jiġu rkuprati bl-użu biss ta’ porzjon ta’ n + m blokki. Sussegwentement, se nikkunsidraw biss kodiċijiet ta 'redundancy tal-blokki, jiġifieri dawk li fihom id-dejta hija maqsuma fi blokki.

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Biex tirkupra n-blokki kollha ta' dejta, jeħtieġ li jkollok mill-inqas n ta' n + m blokki, peress li ma tistax tikseb n blokki billi jkollok biss n-1 blokk (f'dan il-każ, inti jkollok tieħu blokk 1 "minn irqiq arja”). Huma n blokki każwali ta 'n + m blokki biżżejjed biex jirkupraw id-dejta kollha? Dan jiddependi fuq it-tip ta 'kodiċijiet ta' redundancy, pereżempju, kodiċijiet Reed-Solomon jippermettulek tirkupra d-dejta kollha bl-użu ta 'blokki n arbitrarji, iżda l-kodiċijiet ta' redundancy LRC mhux dejjem.

Ħażna tad-dejta

Fis-sistemi tal-ħażna tad-dejta, bħala regola, kull wieħed mill-blokki tad-dejta u l-blokki tal-kodiċi ta 'redundancy jinkiteb fuq disk separat. Imbagħad, jekk diska arbitrarja tfalli, id-dejta oriġinali xorta tista 'tiġi rrestawrata u tinqara. Id-data tista 'tiġi rkuprata anki jekk diversi diski jonqsu fl-istess ħin.

Trasferiment tad-dejta

Kodiċijiet ta' redundancy jistgħu jintużaw biex jittrasmettu data b'mod affidabbli fuq netwerk mhux affidabbli. Id-dejta trażmessa hija maqsuma fi blokki, u l-kodiċijiet ta 'redundancy huma kkalkulati għalihom. Kemm il-blokki tad-dejta kif ukoll il-blokki tal-kodiċi ta’ redundancy huma trażmessi fuq in-netwerk. Jekk iseħħu żbalji fi blokki arbitrarji (sa ċertu numru ta 'blokki), id-dejta xorta tista' tiġi trażmessa fuq in-netwerk mingħajr żbalji. Il-kodiċijiet Reed-Solomon, pereżempju, jintużaw biex jittrażmettu data fuq linji ta 'komunikazzjoni ottika u fil-komunikazzjonijiet bis-satellita.

* Hemm ukoll kodiċijiet ta 'redundancy li fihom id-dejta mhix maqsuma fi blokki, bħal kodiċijiet Hamming u kodiċi CRC, li jintużaw ħafna għat-trażmissjoni tad-dejta f'netwerks Ethernet. Dawn huma kodiċijiet għall-kodifikazzjoni tal-korrezzjoni tal-iżbalji, huma mfassla biex jiskopru żbalji, u mhux biex jikkoreġuhom (il-kodiċi Hamming jippermetti wkoll korrezzjoni parzjali tal-iżbalji).

2. Kodiċijiet Reed-Solomon

Il-kodiċijiet Reed-Solomon huma wieħed mill-kodiċijiet ta 'redundancy l-aktar użati, ivvintati lura fis-sittinijiet u użati għall-ewwel darba fis-snin tmenin għall-produzzjoni tal-massa ta' compact discs.

Hemm żewġ mistoqsijiet ewlenin biex nifhmu l-kodiċijiet Reed-Solomon: 1) kif toħloq blokki ta 'kodiċijiet ta' redundancy; 2) kif tirkupra data bl-użu ta ' blokki tal-kodiċi ta' redundancy. Ejja nsibu tweġibiet għalihom.
Għal sempliċità, aħna se nassumu aktar li n=6 u m=4. Skemi oħra huma kkunsidrati b'analoġija.

Kif toħloq blokki ta' kodiċi ta' redundancy

Kull blokk ta' kodiċijiet ta' redundancy jingħadd indipendentement mill-oħrajn. Il-blokki tad-data n kollha jintużaw biex jgħoddu kull blokka. Fid-dijagramma hawn taħt, X1-X6 huma blokki tad-dejta, P1-P4 huma blokki ta 'kodiċi ta' redundancy.

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Il-blokok tad-dejta kollha għandhom ikunu tal-istess daqs, u żero bits jistgħu jintużaw għall-allinjament. Il-blokki tal-kodiċi ta' redundancy li jirriżultaw se jkunu tal-istess daqs bħall-blokki tad-dejta. Il-blokki tad-dejta kollha huma maqsuma fi kliem (per eżempju, 16-il bit). Ejja ngħidu li naqsmu l-blokki tad-data f'k kliem. Imbagħad il-blokki kollha ta 'kodiċijiet ta' redundancy se jinqasmu wkoll f'k kelmiet.

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Biex tgħodd il-kelma i-th ta' kull blokka redundancy, se jintużaw il-kliem i-th tal-blokki tad-data kollha. Dawn se jiġu kkalkulati skont il-formula li ġejja:

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Hawnhekk il-valuri x huma l-kliem ta 'blokki tad-dejta, p huma l-kliem ta' blokki ta 'kodiċi ta' redundancy, kollha alfa, beta, gamma u delta huma numri magħżula apposta li huma l-istess għall-i kollha. Għandu jingħad mill-ewwel li dawn il-valuri kollha mhumiex numri ordinarji, iżda elementi tal-qasam Galois l-operazzjonijiet +, -, *, / mhumiex operazzjonijiet familjari għalina lkoll, iżda operazzjonijiet speċjali introdotti fuq elementi tal-Galois; qasam.

Għaliex huma meħtieġa għelieqi Galois?

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Jidher li kollox huwa sempliċi: naqsmu d-dejta fi blokki, il-blokki fi kliem, billi tuża l-kliem tal-blokki tad-dejta ngħoddu l-kliem tal-blokki tal-kodiċi ta 'redundancy - nikbru blokki tal-kodiċi ta' redundancy. B'mod ġenerali dan huwa kif jaħdem, iżda x-xitan jinsab fid-dettalji:

  1. Kif intqal hawn fuq, id-daqs tal-kelma huwa fiss, fl-eżempju tagħna 16-il bit. Il-formuli ta 'hawn fuq għall-kodiċijiet Reed-Solomon huma tali li meta jintużaw numri interi ordinarji, ir-riżultat tal-kalkolu ta' p jista 'ma jkunx rappreżentabbli bl-użu ta' kelma ta 'daqs validu.
  2. Meta tiġi rkuprata d-dejta, il-formuli ta 'hawn fuq se jitqiesu bħala sistema ta' ekwazzjonijiet li jridu jiġu solvuti sabiex tiġi rkuprata d-dejta. Matul il-proċess tas-soluzzjoni, jista 'jkun meħtieġ li numri interi jiġu maqsuma ma' xulxin, li jirriżulta f'numru reali li ma jistax jiġi rappreżentat b'mod preċiż fil-memorja tal-kompjuter.

Dawn il-problemi jipprevjenu l-użu ta 'numri interi għall-kodiċijiet Reed-Solomon. Is-soluzzjoni għall-problema hija oriġinali, tista 'tiġi deskritta kif ġej: ejja noħorġu b'numri speċjali li jistgħu jiġu rappreżentati bl-użu ta' kliem tat-tul meħtieġ (per eżempju, 16-il bit), u r-riżultat tat-twettiq tal-operazzjonijiet kollha li fuqhom (żieda , tnaqqis, multiplikazzjoni, diviżjoni) se jiġu ppreżentati wkoll fil-memorja tal-kompjuter bl-użu ta’ kliem tat-tul meħtieġ.

Numri "speċjali" bħal dawn ġew studjati mill-matematika għal żmien twil huma msejħa oqsma; Field huwa sett ta 'elementi b'operazzjonijiet ta' żieda, tnaqqis, multiplikazzjoni u diviżjoni definiti għalihom.

Fields Galois* huma fields li għalihom hemm riżultat uniku ta' kull operazzjoni (+, -, *, /) għal kwalunkwe żewġ elementi tal-field. L-oqsma ta' Galois jistgħu jinbnew għal numri li huma setgħat ta' 2: 2, 4, 8, 16, eċċ. Per eżempju, għal kliem ta '2-il bit, dan huwa qasam li fih 16 element, għal kull par li r-riżultat ta' kwalunkwe operazzjoni (+, -, *, /) jista 'jinstab. Il-valuri x, p, alpha, beta, gamma, delta mill-ekwazzjonijiet ta 'hawn fuq se jitqiesu bħala elementi tal-qasam Galois għall-kalkoli.

Għalhekk, għandna sistema ta 'ekwazzjonijiet li biha nistgħu nibnu blokki ta' kodiċijiet ta 'redundancy billi niktbu programm tal-kompjuter xieraq. Billi tuża l-istess sistema ta 'ekwazzjonijiet, tista' twettaq l-irkupru tad-data.

* Din mhix definizzjoni stretta, iżda pjuttost deskrizzjoni.

Kif tirkupra d-data

Ir-restawr huwa meħtieġ meta xi wħud mill-blokki n + m huma neqsin. Dawn jistgħu jkunu kemm blokki tad-dejta kif ukoll blokki tal-kodiċi ta’ redundancy. In-nuqqas ta' blokki tad-dejta u/jew blokki ta' kodiċi ta' redundancy se jfisser li l-varjabbli x u/jew p korrispondenti mhumiex magħrufa fl-ekwazzjonijiet ta' hawn fuq.

L-ekwazzjonijiet għall-kodiċijiet Reed-Solomon jistgħu jitqiesu bħala sistema ta’ ekwazzjonijiet li fihom il-valuri kollha alfa, beta, gamma, delta huma kostanti, x u p kollha li jikkorrispondu mal-blokki disponibbli huma varjabbli magħrufa, u x u p li jifdal mhumiex magħrufa.

Pereżempju, ħalli l-blokki tad-dejta 1, 2, 3 u l-blokk ta’ kodiċi ta’ redundancy 2 ma jkunux disponibbli, allura għall-i-th grupp ta’ kliem se jkun hemm is-sistema ta’ ekwazzjonijiet li ġejja (mhux magħrufa huma mmarkati bl-aħmar):

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Għandna sistema ta '4 ekwazzjonijiet b'4 mhux magħrufa, li jfisser li nistgħu nsolvuha u nirrestawraw id-data!

Minn din is-sistema ta’ ekwazzjonijiet isegwu għadd ta’ konklużjonijiet dwar l-irkupru tad-dejta għall-kodiċijiet Reed-Solomon (n blokki tad-dejta, m blokki tal-kodiċi ta’ redundancy):

  • Id-data tista 'tiġi rkuprata jekk xi blokki m jew inqas jintilfu. Jekk m+1 jew aktar blokki jintilfu, id-dejta ma tistax tiġi rrestawrata: huwa impossibbli li tissolva sistema ta 'm ekwazzjonijiet b'm + 1 mhux magħrufa.
  • Biex tirkupra anki blokk tad-data wieħed, għandek bżonn tuża kwalunkwe n mill-blokki li jifdal, u tista 'tuża kwalunkwe kodiċi ta' redundancy.

X'iktar għandek bżonn tkun taf

Fid-deskrizzjoni ta 'hawn fuq, nevita numru ta' kwistjonijiet importanti li jeħtieġu immersion aktar profonda fil-matematika biex nikkunsidraw. B'mod partikolari, ma ngħid xejn dwar dan li ġej:

  • Is-sistema ta' ekwazzjonijiet għall-kodiċijiet Reed-Solomon għandu jkollha soluzzjoni (unika) għal kwalunkwe kombinazzjoni ta' mhux magħrufa (mhux aktar minn m mhux magħrufa). Abbażi ta 'dan ir-rekwiżit, jintgħażlu l-valuri ta' alfa, beta, gamma u delta.
  • Sistema ta' ekwazzjonijiet trid tkun tista' tinbena awtomatikament (skond liema blokki mhumiex disponibbli) u tissolva.
  • Għandna bżonn nibnu qasam Galois: għal daqs tal-kelma partikolari, inkunu kapaċi nsibu r-riżultat ta 'kwalunkwe operazzjoni (+, -, *, /) għal kwalunkwe żewġ elementi.

Fl-aħħar tal-artiklu hemm referenzi għal-letteratura dwar dawn il-kwistjonijiet importanti.

Għażla ta' n u m

Kif tagħżel n u m fil-prattika? Fil-prattika, fis-sistemi tal-ħażna tad-dejta, jintużaw kodiċijiet ta’ redundancy biex jiffrankaw l-ispazju, għalhekk m dejjem jintgħażel inqas minn n. Il-valuri speċifiċi tagħhom jiddependu fuq numru ta 'fatturi, inklużi:

  • Affidabilità tal-ħażna tad-data. L-akbar m, iktar ikun kbir in-numru ta 'fallimenti tad-disk li jistgħu jibqgħu ħajjin, jiġifieri, iktar tkun għolja l-affidabilità.
  • Ħażna żejda. Iktar ma jkun għoli l-proporzjon m/n, iktar tkun għolja r-redundancy tal-ħażna, u iktar tkun għalja s-sistema.
  • Ħin tal-ipproċessar talba. Iktar ma tkun kbira s-somma n + m, iktar ikun itwal il-ħin tar-rispons għat-talbiet. Peress li l-qari tad-dejta (matul l-irkupru) jeħtieġ il-qari ta 'n blokki maħżuna fuq n diski differenti, il-ħin tal-qari se jkun iddeterminat mill-iktar disk bil-mod.

Barra minn hekk, il-ħażna tad-dejta f'diversi DCs timponi restrizzjonijiet addizzjonali fuq l-għażla ta 'n u m: jekk 1 DC tkun mitfija, id-dejta xorta trid tkun disponibbli għall-qari. Pereżempju, meta tinħażen id-dejta fi 3 DCs, trid tiġi sodisfatta l-kundizzjoni li ġejja: m >= n/2, inkella jista 'jkun hemm sitwazzjoni fejn id-dejta ma tkunx disponibbli għall-qari meta 1 DC tkun mitfija.

3. LRC - Kodiċijiet ta' Rikostruzzjoni Lokali

Biex tirkupra data billi tuża kodiċijiet Reed-Solomon, għandek tuża n blokki tad-data arbitrarji. Dan huwa żvantaġġ sinifikanti ħafna għal sistemi ta 'ħażna ta' data mqassma, għaliex biex tirrestawra d-data fuq diska waħda miksura, ser ikollok taqra data mill-biċċa l-kbira tal-oħrajn, u toħloq tagħbija addizzjonali kbira fuq id-diski u n-netwerk.

L-iżbalji l-aktar komuni huma l-inaċċessibbiltà ta 'blokka waħda ta' data minħabba falliment jew tagħbija żejda ta 'disk wieħed. Huwa possibbli li b'xi mod titnaqqas it-tagħbija żejda għall-irkupru tad-data f'dan il-każ (l-aktar komuni)? Jirriżulta li tista ': hemm kodiċijiet ta' redundancy LRC speċifikament għal dan il-għan.

LRC (Kodiċijiet ta' Rikostruzzjoni Lokali) huma kodiċijiet ta' ridondanza żviluppati minn Microsoft għall-użu fi Windows Azure Storage. L-idea wara l-LRC hija sempliċi ħafna: aqsam il-blokki tad-dejta kollha f'żewġ gruppi (jew aktar) u kkalkula porzjon tal-blokki tal-kodiċi tar-redundanza għal kull grupp separatament. Imbagħad, xi wħud mill-blokki tal-kodiċi tar-redundanza se jiġu kkalkulati bl-użu tal-blokki tad-dejta kollha (fl-LRC, dawn jissejħu kodiċijiet ta' redundanza globali), u xi wħud se jiġu kkalkulati bl-użu ta' wieħed miż-żewġ gruppi ta' blokki tad-dejta (dawn jissejħu kodiċijiet ta' redundanza lokali).

LRC huwa indikat bi tliet numri: nrl, fejn n huwa n-numru ta 'blokki tad-dejta, r huwa n-numru ta' blokki ta 'kodiċi ta' redundancy globali, l huwa n-numru ta 'blokki ta' kodiċi ta 'redundancy lokali. Biex taqra d-dejta meta blokka waħda tad-dejta ma tkunx disponibbli, trid taqra biss n/l blokki - dan huwa l darbiet inqas milli fil-kodiċijiet Reed-Solomon.

Pereżempju, ikkunsidra l-iskema LRC 6-2-2. X1–X6 — 6 blokki tad-dejta, P1, P2 — 2 blokki ta’ redundancy globali, P3, P4 — 2 blokki ta’ redundancy lokali.

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Il-blokki tal-kodiċi ta' redundancy P1, P2 jingħaddu bl-użu tal-blokki tad-dejta kollha. Blokk kodiċi redundancy P3 - bl-użu ta 'blokki tad-dejta X1-X3, blokk tal-kodiċi redundancy P4 - bl-użu ta' blokki tad-dejta X4-X6.

Il-bqija jsir fl-LRC b'analoġija mal-kodiċijiet Reed-Solomon. L-ekwazzjonijiet għall-għadd tal-kliem tal-blokki tal-kodiċi ta’ redundancy se jkunu:

Kodiċijiet ta' redundancy: fi kliem sempliċi dwar kif taħżen id-dejta b'mod affidabbli u bl-irħis

Biex tagħżel in-numri alfa, beta, gamma, delta, għandhom jiġu sodisfatti għadd ta 'kundizzjonijiet biex jiggarantixxu l-possibbiltà ta' rkupru tad-data (jiġifieri, issolvi s-sistema tal-ekwazzjoni). Tista' taqra aktar dwarhom fi artikolu.
Fil-prattika wkoll, l-operazzjoni XOR tintuża biex tikkalkula l-kodiċijiet ta’ redundancy lokali P3, P4.

Mis-sistema ta' ekwazzjonijiet għal LRC isegwu għadd ta' konklużjonijiet:

  • Biex tirkupra kwalunkwe blokk tad-data 1, huwa biżżejjed li taqra n/l blokki (n/2 fl-eżempju tagħna).
  • Jekk il-blokki r + l mhumiex disponibbli, u l-blokki kollha huma inklużi fi grupp wieħed, allura d-dejta ma tistax tiġi rrestawrata. Dan huwa faċli biex tispjega b'eżempju. Ħalli l-blokki X1–X3 u P3 ma jkunux disponibbli: dawn huma r + l blokki mill-istess grupp, 4 fil-każ tagħna. Imbagħad għandna sistema ta’ 3 ekwazzjonijiet b’4 mhux magħrufa li ma jistgħux jiġu solvuti.
  • Fil-każijiet l-oħra kollha ta' indisponibbiltà ta' blokki r + l (meta mill-inqas blokka waħda tkun disponibbli minn kull grupp), id-dejta fl-LRC tista' tiġi rrestawrata.

Għalhekk, LRC jaqbeż il-kodiċijiet Reed-Solomon fl-irkupru tad-dejta wara żbalji singoli. Fil-kodiċijiet Reed-Solomon, biex tirkupra anki blokka waħda ta 'data, għandek bżonn tuża n blokki, u fl-LRC, biex tirkupra blokka waħda ta' data, huwa biżżejjed li tuża n/l blokki (n/2 fl-eżempju tagħna). Min-naħa l-oħra, LRC huwa inferjuri għall-kodiċi Reed-Solomon f'termini tan-numru massimu ta 'żbalji permissibbli. Fl-eżempji ta 'hawn fuq, il-kodiċijiet Reed-Solomon jistgħu jirkupraw data għal kwalunkwe 4 żbalji, u għal LRC hemm 2 kombinazzjonijiet ta' 4 żbalji meta d-data ma tistax tiġi rkuprata.

X'inhu aktar importanti jiddependi fuq is-sitwazzjoni speċifika, iżda ħafna drabi l-iffrankar ta 'tagħbija żejda li jipprovdi LRC jegħleb il-ħażna kemmxejn inqas affidabbli.

4. Kodiċijiet oħra ta' redundancy

Minbarra l-kodiċijiet Reed-Solomon u LRC, hemm ħafna kodiċijiet oħra ta’ redundancy. Kodiċijiet ta' redundancy differenti jużaw matematika differenti. Hawn huma xi kodiċijiet oħra ta' redundancy:

  • Kodiċi ta' redundancy bl-użu tal-operatur XOR. L-operazzjoni XOR titwettaq fuq n blokki tad-dejta, u tinkiseb blokka 1 ta 'kodiċijiet ta' redundancy, jiġifieri, skema n+1 (n blokki ta 'dejta, kodiċi ta' redundancy 1). Użat fi RAID 5, fejn blokki ta 'dejta u kodiċijiet ta' redundancy huma ċiklikament miktuba fid-diski kollha tal-firxa.
  • Algoritmu pari-fard ibbażat fuq l-operazzjoni XOR. Jippermettilek tibni 2 blokki ta 'kodiċijiet ta' redundancy, jiġifieri, l-iskema n+2.
  • Algoritmu STAR ibbażat fuq l-operazzjoni XOR. Jippermettilek tibni 3 blokki ta 'kodiċijiet ta' redundancy, jiġifieri, l-iskema n+3.
  • Il-kodiċijiet Pyramide huma kodiċijiet oħra ta’ redundancy minn Microsoft.

5. Uża f'Yandex

Għadd ta 'proġetti ta' infrastruttura Yandex jużaw kodiċijiet ta 'redundancy għal ħażna ta' data affidabbli. Hawn huma xi eżempji:

  • Ħażna interna tal-oġġetti MDS, li ktibt dwarha fil-bidu tal-artiklu.
  • YT — Sistema MapReduce ta’ Yandex.
  • YDB (Yandex DataBase) - database mqassma newSQL.

L-MDS juża kodiċijiet ta' redundancy LRC, skema 8-2-2. Id-dejta b'kodiċijiet ta' redundancy tinkiteb fi 12-il diska differenti f'servers differenti fi 3 DCs differenti: 4 servers f'kull DC. Aqra aktar dwar dan fi artikolu.

YT juża kemm kodiċijiet Reed-Solomon (Skema 6-3), li kienu l-ewwel li implimentati, kif ukoll kodiċijiet ta' redundancy LRC (Skema 12-2-2), bl-LRC huwa l-metodu ta 'ħażna preferut.

YDB juża kodiċijiet ta' redundancy bbażati pari-fard (Figura 4-2). Dwar il-kodiċijiet ta' redundancy fil-YDB diġà qal fuq Highload.

L-użu ta' skemi ta' kodiċi ta' redundancy differenti huwa dovut għal rekwiżiti differenti għas-sistemi. Pereżempju, fl-MDS, id-dejta maħżuna bl-użu tal-LRC titqiegħed fi 3 DCs f'daqqa. Huwa importanti għalina li d-dejta tibqa’ disponibbli għall-qari jekk 1 minn kwalunkwe DCs ifalli, għalhekk il-blokki għandhom jitqassmu fost id-DCs sabiex jekk xi DC ma jkunx disponibbli, in-numru ta 'blokki inaċċessibbli ma jkunx aktar milli permissibbli. Fl-iskema 8-2-2, tista 'tpoġġi 4 blokki f'kull DC, imbagħad meta xi DC tintefa, 4 blokki ma jkunux disponibbli, u d-dejta tista' tinqara. Tkun xi tkun l-iskema li nagħżlu meta nqiegħduha fi 3 DCs, fi kwalunkwe każ għandu jkun hemm (r + l) / n >= 0,5, jiġifieri, redundancy tal-ħażna tkun mill-inqas 50%.

F'YT is-sitwazzjoni hija differenti: kull cluster YT jinsab kompletament f'DC 1 (clusters differenti f'DCs differenti), għalhekk m'hemm l-ebda restrizzjoni bħal din. L-iskema 12-2-2 tipprovdi redundancy ta '33%, jiġifieri, il-ħażna tad-dejta hija orħos, u tista' wkoll tibqa 'ħajja sa 4 qtugħ simultanju tad-disk, bħall-iskema MDS.

Hemm ħafna aktar karatteristiċi tal-użu ta’ kodiċijiet ta’ redundancy fis-sistemi tal-ħażna u l-ipproċessar tad-dejta: sfumaturi ta’ rkupru tad-dejta, l-impatt tal-irkupru fuq il-ħin tal-eżekuzzjoni tal-mistoqsijiet, karatteristiċi tar-reġistrazzjoni tad-dejta, eċċ. Se nitkellem separatament dwar dawn u karatteristiċi oħra. tal-użu ta' kodiċijiet ta' redundancy fil-prattika, jekk is-suġġett ikun interessanti.

6. Links

  1. Serje ta’ artikli dwar il-kodiċijiet Reed-Solomon u l-oqsma Galois: https://habr.com/ru/company/yadro/blog/336286/
    https://habr.com/ru/company/yadro/blog/341506/
    Huma jagħtu ħarsa aktar fil-fond lejn il-matematika f'lingwa aċċessibbli.
  2. Artikolu minn Microsoft dwar LRC: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/LRC12-cheng20webpage.pdf
    It-Taqsima 2 tispjega fil-qosor it-teorija u mbagħad tiddiskuti l-esperjenzi mal-LRC fil-prattika.
  3. Skema pari-fard: https://people.eecs.berkeley.edu/~kubitron/courses/cs262a-F12/handouts/papers/p245-blaum.pdf
  4. Skema STAR: https://www.usenix.org/legacy/event/fast05/tech/full_papers/huang/huang.pdf
  5. Kodiċi tal-piramidi: https://www.microsoft.com/en-us/research/publication/pyramid-codes-flexible-schemes-to-trade-space-for-access-efficiency-in-reliable-data-storage-systems/
  6. Kodiċijiet ta' redundancy fl-MDS: https://habr.com/ru/company/yandex/blog/311806
  7. Kodiċijiet ta' redundancy f'YT: https://habr.com/ru/company/yandex/blog/311104/
  8. Kodiċi ta' redundancy f'YDB: https://www.youtube.com/watch?v=dCpfGJ35kK8

Sors: www.habr.com

Ixtri hosting affidabbli għal siti bi protezzjoni DDoS, servers VPS VDS 🔥 Ixtri hosting ta' websajts affidabbli bi protezzjoni DDoS, servers VPS VDS | ProHoster