Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Mao ni ang hitsura sa redundancy

Ang mga redundancy code* kaylap nga gigamit sa mga sistema sa kompyuter aron madugangan ang pagkakasaligan sa pagtipig sa datos. Sa Yandex sila gigamit sa daghang mga proyekto. Pananglitan, ang paggamit sa mga redundancy code imbis nga replikasyon sa among internal nga pagtipig sa butang makatipig milyon-milyon nga wala isakripisyo ang kasaligan. Apan bisan pa sa ilang kaylap nga paggamit, ang tin-aw nga mga paghulagway kung giunsa ang paglihok sa mga redundancy code talagsa ra. Kadtong gusto nga makasabut nag-atubang sa gibana-bana nga mosunod (gikan sa Wikipedia):

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Ang akong ngalan mao si Vadim, sa Yandex nagpalambo ako sa internal nga pagtipig sa butang nga MDS. Niini nga artikulo, akong ihulagway sa yano nga mga pulong ang teoretikal nga pundasyon sa mga redundancy code (Reed-Solomon ug LRC codes). Isulti ko kanimo kung giunsa kini molihok, nga wala’y komplikado nga matematika ug talagsaon nga mga termino. Sa katapusan maghatag ako mga pananglitan sa paggamit sa mga redundancy code sa Yandex.

Dili nako ikonsiderar ang daghang mga detalye sa matematika sa detalye, apan maghatag ako mga link alang sa mga gusto nga mosalom sa lawom. Mamatikdan usab nako nga ang pipila ka mga kahulugan sa matematika mahimong dili estrikto, tungod kay ang artikulo wala gituyo alang sa mga mathematician, apan alang sa mga inhenyero nga gusto nga masabtan ang esensya sa isyu.

* Sa literatura sa English-pinulongan, ang redundancy code sagad gitawag nga erasure codes.

1. Ang esensya sa mga redundancy code

Ang esensya sa tanan nga mga redundancy code kay yano ra kaayo: tipigan (o ipadala) ang datos aron dili kini mawala kung adunay mga sayup (mga kapakyasan sa disk, mga sayup sa pagbalhin sa datos, ug uban pa).

Sa kadaghanang* redundancy codes, ang data gibahin sa n data blocks, diin ang m blocks sa redundancy codes giihap, nga miresulta sa total n + m blocks. Ang mga redundancy code gihimo sa paagi nga ang n blocks sa data mabawi gamit lang ang usa ka bahin sa n + m blocks. Sunod, atong hisgotan lamang ang mga block redundancy code, nga mao, kadtong diin ang datos gibahin sa mga bloke.

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Aron mabawi ang tanan nga n bloke sa datos, kinahanglan nimo nga adunay labing menos n sa n + m bloke, tungod kay dili nimo makuha ang n bloke pinaagi sa pagbaton lamang sa n-1 block (sa kini nga kaso, kinahanglan nimo nga kuhaon ang 1 block "gikan sa manipis hangin”). Ang n random blocks sa n + m blocks igo na aron mabawi ang tanang data? Nagdepende kini sa matang sa mga redundancy code, pananglitan, ang Reed-Solomon codes nagtugot kanimo sa pagbawi sa tanang datos gamit ang arbitrary n blocks, apan ang LRC redundancy code dili kanunay.

Pagtipig sa datos

Sa mga sistema sa pagtipig sa datos, ingon nga usa ka lagda, ang matag usa sa mga bloke sa datos ug mga bloke sa redundancy code gisulat sa usa ka bulag nga disk. Unya, kung ang usa ka arbitraryong disk mapakyas, ang orihinal nga datos mahimo pa nga ibalik ug basahon. Mahimong mabawi ang datos bisan kung daghang mga disk ang mapakyas sa parehas nga oras.

Pagbalhin sa data

Ang mga redundancy code mahimong magamit aron masaligan ang pagpadala sa datos sa usa ka dili kasaligan nga network. Ang gipasa nga datos gibahin sa mga bloke, ug ang mga redundancy code gikalkula alang kanila. Ang mga bloke sa datos ug mga bloke sa redundancy code gipasa sa network. Kung ang mga sayup mahitabo sa arbitraryong mga bloke (hangtod sa usa ka piho nga gidaghanon sa mga bloke), ang data mahimo gihapon nga ipadala sa network nga wala’y sayup. Ang Reed-Solomon code, pananglitan, gigamit sa pagpasa sa datos sa mga linya sa komunikasyon sa optical ug sa mga komunikasyon sa satellite.

* Adunay usab mga redundancy code diin ang datos wala gibahin sa mga bloke, sama sa Hamming codes ug CRC codes, nga kaylap nga gigamit alang sa data transmission sa Ethernet networks. Kini ang mga code alang sa pagkorihir sa sayop nga coding, gidisenyo kini aron makit-an ang mga sayup, ug dili aron matul-id kini (gitugotan usab sa Hamming code ang partial nga pagtul-id sa mga sayup).

2. Reed-Solomon code

Ang Reed-Solomon code maoy usa sa labing kaylap nga gigamit nga redundancy code, nga naimbento niadto pang 1960s ug unang kaylap nga gigamit niadtong 1980s para sa mass production sa mga compact disc.

Adunay duha ka mahinungdanong pangutana alang sa pagsabut sa Reed-Solomon code: 1) unsaon paghimo og mga block sa redundancy code; 2) unsaon pagbawi sa datos gamit ang redundancy code blocks. Pangitaon nato ang mga tubag kanila.
Alang sa kayano, kita dugang nga maghunahuna nga n=6 ug m=4. Ang ubang mga laraw gikonsiderar pinaagi sa analogy.

Giunsa paghimo ang mga bloke sa redundancy code

Ang matag bloke sa mga redundancy code giihap nga independente sa uban. Ang tanan nga n data block gigamit sa pag-ihap sa matag block. Sa dayagram sa ubos, ang X1-X6 mga bloke sa datos, ang P1-P4 mga bloke sa redundancy code.

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Ang tanan nga mga bloke sa datos kinahanglan parehas nga gidak-on, ug ang mga zero bit mahimong magamit alang sa pag-align. Ang resulta nga redundancy code blocks mahimong parehas nga gidak-on sa data blocks. Ang tanan nga mga bloke sa datos gibahin sa mga pulong (pananglitan, 16 bits). Ingnon ta nga gibahin namo ang mga bloke sa datos ngadto sa k pulong. Unya ang tanan nga mga bloke sa mga redundancy code bahinon usab sa k mga pulong.

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Aron maihap ang i-th nga pulong sa matag redundancy block, ang i-th nga pulong sa tanang data blocks gamiton. Sila kalkulado sumala sa mosunod nga pormula:

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Dinhi ang mga kantidad x mao ang mga pulong sa mga bloke sa datos, p ang mga pulong sa mga bloke sa redundancy code, ang tanan nga alpha, beta, gamma ug delta espesyal nga gipili nga mga numero nga parehas sa tanan nga i. Kinahanglang isulti dayon nga kining tanan nga mga kantidad dili ordinaryo nga mga numero, apan mga elemento sa Galois field; ang mga operasyon +, -, *, / dili mga operasyon nga pamilyar kanatong tanan, apan ang mga espesyal nga operasyon nga gipaila sa mga elemento sa Galois kapatagan.

Ngano nga gikinahanglan ang mga uma sa Galois?

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Ingon og yano ra ang tanan: gibahin namon ang mga datos sa mga bloke, ang mga bloke sa mga pulong, gamit ang mga pulong sa mga bloke sa datos giihap namon ang mga pulong sa mga bloke sa redundancy code - nakakuha kami mga bloke sa redundancy code. Sa kinatibuk-an mao kini kung giunsa kini molihok, apan ang yawa naa sa mga detalye:

  1. Sama sa gipahayag sa ibabaw, ang pulong nga gidak-on gitakda, sa among pananglitan nga 16 bits. Ang mga pormula sa ibabaw para sa Reed-Solomon code kay kung mogamit ug ordinaryo nga mga integer, ang resulta sa pagkuwenta sa p mahimong dili representable gamit ang pulong nga balido ang gidak-on.
  2. Sa pagbawi sa datos, ang mga pormula sa ibabaw pagaisipon nga sistema sa mga equation nga kinahanglang sulbaron aron mabawi ang datos. Atol sa proseso sa solusyon, mahimo nga kinahanglan nga bahinon ang mga integer sa usag usa, nga moresulta sa usa ka tinuud nga numero nga dili tukma nga girepresentar sa memorya sa kompyuter.

Kini nga mga problema nagpugong sa paggamit sa mga integer alang sa Reed-Solomon code. Ang solusyon sa problema mao ang orihinal, kini mahimong gihulagway ingon sa mosunod: kita moabut uban sa espesyal nga mga numero nga mahimong girepresentar sa paggamit sa mga pulong sa gikinahanglan nga gitas-on (pananglitan, 16 bits), ug ang resulta sa pagbuhat sa tanan nga mga operasyon sa nga (dugang). , subtraction, multiplication, division) ipresentar usab sa memorya sa kompyuter gamit ang mga pulong sa gikinahanglang gitas-on.

Ang ingon nga "espesyal" nga mga numero gitun-an sa matematika sa dugay nga panahon; kini gitawag nga mga uma. Ang field usa ka hugpong sa mga elemento nga adunay mga operasyon sa pagdugang, pagminus, pagpadaghan ug pagbahin nga gihubit alang kanila.

Ang mga field sa Galois* kay mga field nga adunay talagsaon nga resulta sa matag operasyon (+, -, *, /) alang sa bisan unsang duha ka elemento sa field. Ang mga natad sa Galois mahimong matukod alang sa mga numero nga adunay gahum sa 2: 2, 4, 8, 16, ug uban pa (sa tinuud nga gahum sa bisan unsang prime number p, apan sa praktis interesado lamang kami sa mga gahum sa 2). Pananglitan, alang sa 16-bit nga mga pulong, kini usa ka uma nga adunay 65 nga mga elemento, alang sa matag pares diin makit-an nimo ang resulta sa bisan unsang operasyon (+, -, *, /). Ang mga kantidad sa x, p, alpha, beta, gamma, delta gikan sa mga equation sa ibabaw pagaisipon nga mga elemento sa Galois field para sa mga kalkulasyon.

Busa, kita adunay usa ka sistema sa mga equation diin kita makahimo sa pagtukod sa mga bloke sa redundancy code pinaagi sa pagsulat sa usa ka tukma nga computer program. Gamit ang parehas nga sistema sa mga equation, mahimo nimong buhaton ang pagbawi sa datos.

* Dili kini usa ka estrikto nga kahulugan, apan usa ka paghulagway.

Sa unsa nga paagi sa pagbawi sa data

Gikinahanglan ang pagpasig-uli kung ang pipila sa mga n + m nga bloke nawala. Mahimo kini nga mga bloke sa datos ug mga bloke sa redundancy code. Ang pagkawala sa mga bloke sa datos ug/o mga bloke sa redundancy code magpasabot nga ang katugbang nga x ug/o p variables wala mahibaloi sa mga equation sa ibabaw.

Ang mga equation alang sa Reed-Solomon codes mahimong tan-awon isip usa ka sistema sa mga equation diin ang tanan nga alpha, beta, gamma, delta values ​​mga constants, ang tanan nga x ug p nga katumbas sa anaa nga mga bloke nahibal-an nga mga variable, ug ang nahabilin nga x ug p wala mailhi.

Pananglitan, himoa nga ang data block 1, 2, 3 ug redundancy code block 2 dili magamit, unya alang sa i-th nga grupo sa mga pulong adunay mosunod nga sistema sa mga equation (wala mailhi gimarkahan og pula):

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Adunay kami usa ka sistema sa 4 nga mga equation nga adunay 4 nga wala nahibal-an, nga nagpasabut nga mahimo namon kini masulbad ug ibalik ang datos!

Gikan niini nga sistema sa mga equation daghang mga konklusyon ang misunod mahitungod sa data recovery alang sa Reed-Solomon codes (n data blocks, m redundancy code blocks):

  • Mahimong mabawi ang datos kung adunay nawala nga mga bloke o mas gamay. Kung nawala ang m + 1 o daghan pa nga mga bloke, ang datos dili mapasig-uli: imposible nga masulbad ang usa ka sistema sa m equation nga wala mahibal-an sa m + 1.
  • Aron mabawi bisan ang usa ka bloke sa datos, kinahanglan nimong gamiton ang bisan unsang n sa nahabilin nga mga bloke, ug mahimo nimong gamiton ang bisan unsang mga redundancy code.

Unsa pa ang kinahanglan nimong mahibal-an

Sa deskripsyon sa ibabaw, gilikayan nako ang daghang importanteng isyu nga nanginahanglan ug mas lawom nga pag-dive sa matematika aron makonsiderar. Sa partikular, wala ako magsulti bisan unsa mahitungod sa mosunod:

  • Ang sistema sa mga equation alang sa Reed-Solomon code kinahanglan adunay usa ka (talagsaon) nga solusyon alang sa bisan unsang kombinasyon sa wala mailhi (dili molapas sa m wala mailhi). Pinasukad sa kini nga kinahanglanon, gipili ang mga kantidad sa alpha, beta, gamma ug delta.
  • Ang usa ka sistema sa mga equation kinahanglan nga awtomatik nga matukod (depende kung unsang mga bloke ang dili magamit) ug masulbad.
  • Kinahanglan namon nga magtukod og Galois field: alang sa gihatag nga gidak-on sa pulong, makapangita sa resulta sa bisan unsang operasyon (+, -, *, /) alang sa bisan unsang duha ka elemento.

Sa katapusan sa artikulo adunay mga pakisayran sa literatura bahin niining hinungdanon nga mga isyu.

Pagpili sa n ug m

Giunsa pagpili ang n ug m sa praktis? Sa praktis, sa mga sistema sa pagtipig sa datos, ang mga redundancy code gigamit aron makadaginot sa luna, mao nga ang m kanunay nga gipili nga ubos sa n. Ang ilang piho nga mga kantidad nagdepende sa daghang mga hinungdan, lakip ang:

  • Kasaligan sa pagtipig sa datos. Ang mas dako nga m, mas dako ang gidaghanon sa mga kapakyasan sa disk nga mahimong mabuhi, nga mao, mas taas ang kasaligan.
  • Labaw nga pagtipig. Kon mas taas ang ratio sa m/n, mas taas ang storage redundancy, ug mas mahal ang sistema.
  • Paghangyo sa oras sa pagproseso. Kon mas dako ang sum n + m, mas taas ang oras sa pagtubag sa mga hangyo. Tungod kay ang pagbasa sa data (sa panahon sa pagkaayo) nagkinahanglan sa pagbasa sa n mga bloke nga gitipigan sa n lain-laing mga disk, ang oras sa pagbasa matino sa pinakahinay nga disk.

Dugang pa, ang pagtipig sa mga datos sa daghang mga DC nagpahamtang ug dugang nga mga pagdili sa pagpili sa n ug m: kung ang 1 DC gipalong, ang datos kinahanglan nga magamit gihapon alang sa pagbasa. Pananglitan, sa pagtipig sa datos sa 3 DCs, ang mosunod nga kondisyon kinahanglang matuman: m >= n/2, kon dili mahimo nga adunay usa ka sitwasyon diin ang datos dili magamit sa pagbasa kung ang 1 DC gipalong.

3. LRC - Local Reconstruction Codes

Aron mabawi ang datos gamit ang Reed-Solomon code, kinahanglan nimong gamiton ang n arbitraryong mga bloke sa datos. Kini usa ka hinungdanon kaayo nga disbentaha alang sa gipang-apod-apod nga mga sistema sa pagtipig sa datos, tungod kay aron mapasig-uli ang datos sa usa ka nabuak nga disk, kinahanglan nimo nga basahon ang datos gikan sa kadaghanan sa uban, nga maghimo usa ka dako nga dugang nga pagkarga sa mga disk ug sa network.

Ang labing kasagaran nga mga sayup mao ang pagkadili maabut sa usa ka bloke sa datos tungod sa kapakyasan o sobra nga gibug-aton sa usa ka disk. Posible ba nga makunhuran ang sobra nga pagkarga alang sa pagbawi sa datos sa kini nga (labing kasagaran) nga kaso? Kini nahimo nga mahimo nimo: adunay mga LRC redundancy code nga espesipiko alang niini nga katuyoan.

Ang LRC (Local Reconstruction Codes) maoy mga redundancy code nga giimbento sa Microsoft para gamiton sa Windows Azure Storage. Ang ideya sa LRC yano ra kutob sa mahimo: bahina ang tanan nga mga bloke sa datos sa duha (o daghan pa) nga mga grupo ug basaha ang bahin sa mga bloke sa redundancy code alang sa matag grupo nga gilain. Unya ang pipila ka redundancy code blocks maihap gamit ang tanang data blocks (sa LRC sila gitawag nga global redundancy codes), ug ang uban - gamit ang usa sa duha ka grupo sa data blocks (gitawag sila og local redundancy codes).

Ang LRC gipaila sa tulo ka mga numero: nrl, diin ang n mao ang gidaghanon sa mga bloke sa datos, ang r mao ang gidaghanon sa global nga redundancy code blocks, l ang gidaghanon sa mga lokal nga redundancy code blocks. Aron mabasa ang datos kung ang usa ka bloke sa datos dili magamit, kinahanglan nimo nga basahon lamang ang n/l nga mga bloke - kini usa ka beses nga mas ubos kaysa sa mga code sa Reed-Solomon.

Pananglitan, tagda ang LRC 6-2-2 scheme. X1–X6 β€” 6 ka bloke sa datos, P1, P2 β€” 2 ka global nga redundancy block, P3, P4 β€” 2 ka lokal nga redundancy block.

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Ang redundancy code blocks P1, P2 giihap gamit ang tanang data blocks. Redundancy code block P3 - gamit ang data blocks X1-X3, redundancy code block P4 - gamit ang data blocks X4-X6.

Ang uban gihimo sa LRC pinaagi sa pagtandi sa Reed-Solomon codes. Ang mga equation sa pag-ihap sa mga pulong sa redundancy code blocks mao ang:

Redundancy codes: sa yano nga mga pulong kon unsaon pagtipig sa datos nga kasaligan ug barato

Aron mapili ang mga numero nga alpha, beta, gamma, delta, daghang mga kondisyon ang kinahanglan matuman aron masiguro ang posibilidad sa pagbawi sa datos (nga mao, pagsulbad sa sistema sa equation). Mahimo nimong mabasa ang dugang bahin kanila sa artikulo.
Sa praktis usab, ang operasyon sa XOR gigamit sa pagkalkulo sa mga lokal nga redundancy code nga P3, P4.

Daghang mga konklusyon ang nagsunod gikan sa sistema sa mga equation alang sa LRC:

  • Aron mabawi ang bisan unsang 1 nga bloke sa datos, igo na ang pagbasa sa n / l nga mga bloke (n / 2 sa among panig-ingnan).
  • Kung ang mga bloke sa r + l dili magamit, ug ang tanan nga mga bloke gilakip sa usa ka grupo, nan ang datos dili mapasig-uli. Kini dali nga ipasabut uban ang usa ka pananglitan. Himoa nga ang mga bloke X1–X3 ug P3 dili magamit: kini mga r + l bloke gikan sa samang grupo, 4 sa among kaso. Unya kita adunay usa ka sistema sa 3 equation uban sa 4 wala mailhi nga dili masulbad.
  • Sa tanan nga uban pang mga kaso sa pagkawalay magamit sa r + l nga mga bloke (kung labing menos usa ka bloke ang makuha gikan sa matag grupo), ang datos sa LRC mahimong ibalik.

Busa, ang LRC milabaw sa Reed-Solomon code sa pagbawi sa datos human sa usa ka sayop. Sa Reed-Solomon codes, aron mabawi bisan ang usa ka block sa data, kinahanglan nimo nga gamiton ang n blocks, ug sa LRC, aron mabawi ang usa ka block sa data, igo na ang paggamit sa n/l blocks (n/2 sa among pananglitan). Sa laing bahin, ang LRC mas ubos sa Reed-Solomon codes sa termino sa maximum nga gidaghanon sa permissible errors. Sa mga pananglitan sa ibabaw, ang Reed-Solomon codes makabawi sa datos alang sa bisan unsang 4 ka mga sayop, ug alang sa LRC adunay 2 ka kombinasyon sa 4 ka mga sayop kung ang data dili na mabawi.

Unsa ang mas importante nagdepende sa espesipikong sitwasyon, apan kasagaran ang mga savings sa sobra nga load nga gihatag sa LRC mas labaw pa sa gamay nga dili kasaligan nga pagtipig.

4. Ubang mga redundancy code

Gawas sa Reed-Solomon ug LRC codes, adunay daghan pang mga redundancy code. Lainlaing redundancy code naggamit ug lain-laing matematika. Ania ang ubang mga redundancy code:

  • Redundancy code gamit ang XOR operator. Ang operasyon sa XOR gihimo sa n mga bloke sa datos, ug nakuha ang 1 bloke sa mga redundancy code, nga mao, usa ka laraw nga n+1 (n mga bloke sa datos, 1 nga redundancy code). Gigamit sa RAID 5, diin ang mga bloke sa datos ug mga redundancy code kay cyclically nga gisulat sa tanang disks sa array.
  • Even-odd nga algorithm base sa operasyon sa XOR. Gitugotan ka nga magtukod og 2 ka bloke sa mga redundancy code, nga mao, ang n+2 scheme.
  • STAR algorithm base sa XOR nga operasyon. Gitugotan ka nga magtukod og 3 ka bloke sa mga redundancy code, nga mao, ang n+3 scheme.
  • Ang mga pyramide code kay laing redundancy code gikan sa Microsoft.

5. Gamita sa Yandex

Daghang mga proyekto sa imprastraktura sa Yandex ang naggamit sa mga redundancy code alang sa kasaligan nga pagtipig sa datos. Ania ang pipila ka mga pananglitan:

  • MDS internal object storage, nga akong gisulat sa sinugdanan sa artikulo.
  • YT - MapReduce nga sistema sa Yandex.
  • YDB (Yandex DataBase) - database nga gipang-apod-apod sa newSQL.

Ang MDS naggamit sa LRC redundancy codes, 8-2-2 scheme. Ang datos nga adunay mga redundancy code gisulat sa 12 ka lain-laing mga disk sa lain-laing mga server sa 3 ka lain-laing mga DCs: 4 mga server sa matag DC. Basaha ang dugang bahin niini sa artikulo.

Ang YT naggamit sa duha ka Reed-Solomon codes (Scheme 6-3), nga mao ang unang nag-implementar, ug LRC redundancy codes (Scheme 12-2-2), nga ang LRC maoy gipalabi nga paagi sa pagtipig.

Ang YDB naggamit ug even-odd base nga redundancy codes (Figure 4-2). Mahitungod sa mga redundancy code sa YDB na gisulti sa Highload.

Ang paggamit sa lainlaing mga laraw sa redundancy code tungod sa lainlaing mga kinahanglanon alang sa mga sistema. Pananglitan, sa MDS, ang datos nga gitipigan gamit ang LRC gibutang sa 3 ka DC sa usa ka higayon. Mahinungdanon alang kanamo nga ang datos magpabilin nga magamit alang sa pagbasa kung ang 1 sa bisan unsang DC mapakyas, busa ang mga bloke kinahanglan ipang-apod-apod sa mga DC aron kung adunay bisan unsang DC nga dili magamit, ang gidaghanon sa dili ma-access nga mga bloke dili molapas sa gitugotan. Sa 8-2-2 nga laraw, mahimo nimong ibutang ang 4 ka bloke sa matag DC, unya kung ang bisan unsang DC mapalong, 4 ka bloke ang dili magamit, ug mabasa ang datos. Bisan unsa nga laraw nga atong pilion kung ibutang kini sa 3 DCs, sa bisan unsang kaso kinahanglan adunay (r + l) / n>= 0,5, nga mao, ang pag-usab sa pagtipig mahimong labing menos 50%.

Sa YT lahi ang sitwasyon: ang matag cluster sa YT hingpit nga nahimutang sa 1 DC (lainlain nga mga cluster sa lain-laing mga DC), mao nga walay ingon nga pagdili. Ang 12-2-2 nga laraw naghatag ug 33% nga redundancy, nga mao, ang pagtipig sa datos mas barato, ug kini mahimo usab nga mabuhi hangtod sa 4 nga dungan nga pagkawala sa disk, sama sa laraw sa MDS.

Adunay daghan pa nga mga bahin sa paggamit sa mga redundancy code sa pagtipig sa datos ug mga sistema sa pagproseso: mga nuances sa data recovery, ang epekto sa pagkaayo sa query execution time, features sa data recording, ug uban pa. sa paggamit sa redundancy code sa praktis, kon ang hilisgutan mahimong makapaikag.

6. Mga sumpay

  1. Usa ka serye sa mga artikulo bahin sa Reed-Solomon code ug Galois field: https://habr.com/ru/company/yadro/blog/336286/
    https://habr.com/ru/company/yadro/blog/341506/
    Gitan-aw nila ang mas lawom nga pagtan-aw sa matematika sa magamit nga sinultian.
  2. Artikulo gikan sa Microsoft mahitungod sa LRC: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/LRC12-cheng20webpage.pdf
    Ang Seksyon 2 sa daklit nagpatin-aw sa teorya ug dayon naghisgot sa mga kasinatian sa LRC sa praktis.
  3. Even-odd nga laraw: https://people.eecs.berkeley.edu/~kubitron/courses/cs262a-F12/handouts/papers/p245-blaum.pdf
  4. STAR scheme: https://www.usenix.org/legacy/event/fast05/tech/full_papers/huang/huang.pdf
  5. Pyramid code: https://www.microsoft.com/en-us/research/publication/pyramid-codes-flexible-schemes-to-trade-space-for-access-efficiency-in-reliable-data-storage-systems/
  6. Redundancy code sa MDS: https://habr.com/ru/company/yandex/blog/311806
  7. Mga redundancy code sa YT: https://habr.com/ru/company/yandex/blog/311104/
  8. Redundancy code sa YDB: https://www.youtube.com/watch?v=dCpfGJ35kK8

Source: www.habr.com

Idugang sa usa ka comment