á°á°áááááľ áá á áááľáá
á¨áá¨á áá¨ááť á áľá°áááááľá ááá¨áá á áŽáááŠá°á á˛áľá°áá˝ ááľáĽ á¨áľáááá˝ áŽáľ * á á°áá áĽá
á áá ááááᢠá Yandex ááľáĽ á áĽá ááŽáááśá˝ ááľáĽ áĽá
á áá áááá. áááłá á ááľáŁá˝á á¨áááŽá˝ áá¨ááť ááľáĽ á¨ááŁááľ ááá
á¨áľáááá˝ áŽáśá˝á áá áá áłááááľá áłáááἠáááŽáá˝á áááĽáŁáᢠááá áá á á°áá áĽá
á áá á˘ááá, á¨ááľáá áŽáśá˝ áĽáá´áľ áĽáá°áá አááá˝ ááááŤáá˝ á áŁá áĽááľ áá¸á. ááá¨áłáľ á¨áááááľ á áááľ á¨áá¨á°ááľá áŤááĽáá¸áá (á¨
áľá áŤá˛á áĽáŁáááᣠá Yandex á¨ááľáŁá ááá áá¨ááť MDS áĽáŤáááá ááᢠá áá á˝áá ááľáĽ á¨áľáá áŽáľ (áŞáľ-á°ááá áĽá á¨á¤áá áᲠáŽáśá˝) á¨ááľá ááłáŁá áá á¨áśá˝á á ááá áááľ áĽáááťááᢠáŤá ááľáĽáľáĽ ááłáĽ áĽá áŤáá°áááą áááľ áĽáá´áľ áĽáá°áá°áŤ áĽáááááłááᢠá áá¨á¨áť á Yandex ááľáĽ á¨áľáá áŽáśá˝á á¨áá áá ááłááá˝á áĽá°áŁááá˘
á ááŤáł á¨ááłáĽ ááááŽá˝á á áááá á ááľáĽá, ááá áá á áĽáááľ áááĽáá ááááá á áááá˝á áĽá°áŁáá. á˝áá áááłáĽ áááááľ á¨áłá°á áłááá á¨ááłáŠá áááľ ááá¨áłáľ ááááá áááá˛áśá˝ áľááá á ááłááľ á¨ááłáĽ áľááááá˝ áĽáĽá áááá áĽáá°áá˝á á áľá°ááŤááá˘
* á áĽááááá ááá áĽá-á˝ááᣠá¨ááá¨áŞáŤ áŽáśá˝ áĽááá áá á¨áá°áá°áľ áŽáľ ááŁááá˘
1. á¨áľáááá˝ áŽáśá˝ áááľ
á¨ááá á¨áľáááá˝ áŽáśá˝ áááľ áĽá á á áŁá ááá ááᥠáľá á°áśá˝ á˛á¨á°áą áĽááłáá á (á¨á˛áľá ááľááśá˝áŁ á¨ááἠááľá°ááá áľá á°áśá˝áŁ ááá°) ááἠáŤá¨ááš (ááá áŤáľá°ááá)á˘
á á áĽááááš* á¨áľáááá˝ áŽáśá˝ áá¨áá á n áłáł áĽááŽá˝ á¨á°á¨ááá á˛áá ááá á m blocks of reundancy code á°ááĽáŻáᣠáá á á á á ááá n + m áĽááŽá˝á áŤáľá¨áľááᢠá¨áľáááá˝ áŽáśá˝ á¨á°áááĄáľ ᨠn + m áĽááŽá˝ á¨á°áá°á ááá áĽáť á áá áá áá¨áá áááś áááááľ á ááŤáľá˝á ááááľ ááᢠá ááá á ᣠá¨áľáááá˝ áŽáśá˝á áĽáť áĽááá¨ááŤáá ᣠáááľá ᣠááᥠáá° áĽááŽá˝ á¨á°á¨ááááľá˘
áááá n á¨ááἠáĽááŽá˝á áááś áááááľ á˘áŤááľ n ᨠn + m áĽááŽá˝ áááááľ áááŁá ᣠááááŤáąá n-1 áĽááá áĽáť á ááŤá n áĽááŽá˝á ááááľ áľáááá˝á (á áá áá᳠ᣠá¨ááá 1 áĽáá ááá°áľ áŤáľáááááłá) á á¨á"). áááá ááἠáááś ááááᾠᨠn + m áĽááŽá˝ n á¨áááá° áĽááŽá˝ á á áá¸á? áá áĽáá° á¨áľáááá˝ áŽáśá˝ á áááľ ááá°ááᥠáááłáᥠáŞáľ-á°ááá áŽáśá˝ á¨áááá° n áĽááŽá˝á á áá áá áááá áá¨ááá˝ ááá°á áĽáá˛áŤáá áŤáľá˝áááłá ááááá á¨á¤áá áᲠáľáá áŽáśá˝ áááá á áá°ááá˘
á¨ááἠáá¨ááť
á áá¨á áá¨ááť áľáááśá˝ ááľáĽ ᣠáĽáá° á ááľ á°áἠᣠáĽáŤááłááą á¨áá¨á áĽááłáá˝ áĽá á¨áľáááá˝ áŽáľ áĽááłáá˝ áá° á¨á°áᨠá˛áľá ááááᢠá¨ááŤ, á¨áááá° á˛áľá áŤáá°áłáŤ, ááá ááἠá ááá á°áááś ááá ἠáĽá ááá ἠáá˝áá. áĽá á˛áľáŽá˝ á á°ááłáłá áá áŁááłáŠá áááĽá áá°áá á¨á áľ ááááľ ááťááá˘
á¨ááἠááľá°ááá
á¨áľáááá˝ áŽáśá˝ á áľá°ááá áŁááá á ááłá¨ áá¨áĽ áá áááĽá á á áľá°ááá áááł áááľá°ááá áĽá á áá ááá áá˝ááᢠá¨á°áááá áá¨á á áĽááŽá˝ á¨á°á¨ááá ááᣠáĽá á¨áľáááá˝ áŽáśá˝ ááĽááą áá°ááᢠáááąá á¨ááἠáĽááŽá˝ áĽá á¨áľáááá˝ áŽáľ áĽááłáá˝ á á ááłá¨ áá¨áĄ áá áá°ááááᢠá áááá° áĽááŽá˝ ááľáĽ áľá á°áśá˝ á¨á°á¨á°áą (áĽáľá¨ á¨á°áá°á ááĽá áŤáá áĽááŽá˝) ááἠá ááá á á ááłá¨ áá¨áĄ áá áŤá ááá áľá á°áľ áá°ááá áá˝ááᢠáŞáľ-á°ááá áŽáśá˝ áááłá á áŚáá˛áŤá á¨áááá ááľááŽá˝ áĽá á áłá°áááľ áááááśá˝ áá áá¨áá áááľá°ááá áŤááááá.
* á á°á¨ááŞá áá¨áá á áĽááŽá˝ áŤáá°á¨ááá áĽáá° áááá áŽáľ áĽá CRC áŽáľ á á¤á°áááľ ááľáááŽá˝ ááľáĽ ááá¨á áľáááľ á áľááľ áĽá á áá á¨ááá á¨áľáááá˝ áŽáśá˝á á áᢠáĽááá ááľá á°áľ áá¨á áŽáľ áŽáľ áá¸áᣠáľá á°áśá˝á áááá¨áľ á¨á°áá°á áá¸á áĽá áĽááąá áááľá°áŤá¨á á áá°áá (á¨áááá áŽáľ áľá á°áśá˝á á á¨áá ááá¨á áŤáľá˝áá)á˘
2. áŞáľ-á°ááá áŽáśá˝
áŞáľ-á°ááá áŽáśá˝ á 1960ááš áá° áá á¨á°ááá°á áĽá á ááááŞáŤ á 1980ááš á¨áłáá á˛áľáŽá˝ á áĽááľ áááá¨áľ á á°áá áĽá á áá á¨áááľ á¨áľáááá˝ áŽáľ á ááą ááá˘
á¨áŞáľ-á°ááá áŽáśá˝á ááá¨áłáľ áááľ ááá áĽáŤááá˝ á áᥠ1) á¨áľáááá˝ áŽáľ áĽáá´áľ ááá á áĽáá°ááťá; 2) á¨áľáááá˝ áŽáľ áĽááŽá˝á á áá áá áá¨áá áĽáá´áľ ááá°á ááááľ áĽáá°áá˝áᢠáááąá áĽáááááá¸áá˘
ááááááľáŁ n=6 áĽá m=4 áĽáá áĽááááłááᢠááá˝ áááááĽáŽá˝ á á ááá ááá°áłá.
á¨áľáááá˝ áŽáľ áĽááŽá˝á áĽáá´áľ ááá á áĽáá°ááťá
áĽáŤááłááą á¨áľáááá˝ áŽáľ á¨áááš ááĽá ááá áŤáᢠááá n á¨ááἠáĽááŽá˝ áĽáŤááłááąá áĽáá áááá á áŤáááááᢠá¨áłá˝ áŁáá áĽááᣠX1-X6 á¨ááἠáĽááŽá˝áŁ P1-P4 á¨áľáááá˝ áŽáľ áĽááŽá˝ áá¸áá˘
ááá á¨áłáł áĽááŽá˝ á°ááłáłá áá á áŤáá¸á ááá á ááŁá¸áᣠáĽá áᎠá˘áľ ááá°áá áĽá á áá ááá áá˝ááᢠá¨áááá¨á á¨áľáááá˝ áŽáľ áĽááłáá˝ áá áĽáá° á¨ááἠáĽááłáá˝ á°ááłáłá áá á áááŤá¸áá. ááá á¨ááἠáĽááłáá˝ á áááľ á°á¨áááá (áááłá 16 á˘áľ)ᢠá¨ááἠáĽááŽá˝á áá° k áááľ á¨ááááá áĽáá áᢠá¨á፠ááá á¨áľáááá˝ áŽáśá˝ áĽááŽá˝ áĽáá˛á áá° k áááľ áá¨ááá á˘
á¨áĽáŤááłááąá á¨áľáááá˝ áĽááł i-th áá áááá á á¨ááá á¨ááἠáĽááŽá˝ i-th áááľ áĽá á áá ááááᢠá áá¨á°áá ááá áá°á¨áľ áá°áá.
áĽáá x áĽá´áśáš á¨ááἠáĽááŽá˝ áááśá˝ áá¸á ᣠp á¨áľáá áŽáľ áĽááŽá˝ áááśá˝ áá¸á ᣠááá á áá ᣠá¤áł ᣠáá áĽá á´ááł áááá á°ááłáłá á¨áá áአá¨á°áá¨áĄ ááĽáŽá˝ áá¸áᢠáĽááá áá áĽá´áśá˝ á°áŤ ááĽáŽá˝ á áá°áá ᣠáá á¨ááááľ ááľá á áŤááľ áá¸á ᣠááááá˝ + ᣠ- ᣠ* ᣠ/ ááá˝áá á¨ááááá¸á ááááá˝ á áá°áá ᣠáá á ááááľ á áŤááľ áá áአááááá˝ á áľá°ááááá ᢠááľá.
á¨ááááľ ááľáŽá˝ ááá áŤáľáááá?
ááá ááá ááá áááľáá-áá¨ááá áá° áĽááŽá˝ áĽáá¨áááá ᣠáĽááŽá˝á áá° ááᾠᣠá¨ááἠáĽááŽá˝á áááľ á áá áá á¨áľáááá˝ áŽáľ áĽááŽá˝á áááľ áĽáááĽáŤáá - áĽáá°áá á¨ááá¨áŞáŤ áŽáľ áĽááŽá˝ áĽáááááᢠá á á ááá áá áĽáá´áľ áĽáá°áá°áŤ áá, ááá áá á˛áŤá˘ááľ á ááááŽá˝ ááľáĽ áá.
- á¨áá áĽáá°á°áááá á¨áá áá á áá áá, á áĽá ááłá 16 á˘áľ. á¨áá áŤááľ á¨áŞáľ-á°ááá áŽáśá˝ áááŽá˝ á°áŤ á˘áá˛áá á˛á áá áá á¨ááľááľ áá¤áą áľáááá áá á áŤáá áá á áá áá áááá áá˝ááá˘
- áá¨áá á ááááąá áľ áá, á¨áá áŤááľ áááŽá˝ áá¨áá áááś áááááľ áááľá ááŤáá á¨áááŁá¸á á¨áĽáŠááłáá˝ áľáááľ á°á°ááá ááá°áłá. á áááľáá áá°áľ ááľáĽ á˘áá˛ááŽá˝á áĽááľ á ááľ áá¨ááá á áľááá ááá áá˝áá, á áá á ááááŤáľ á áŽááá°á áá á°á¨ áľááľáł ááľáĽ á áľááá ááá¨á á¨ááá˝á áĽááá°á ááĽá.
áĽááá á˝ááŽá˝ ááŞáľ-á°ááá áŽáśá˝ á˘áá˛áá áá ááá áá¨ááááᢠáá˝áአáááľáá áŚáŞá áá áá ᣠáĽáá°áá¨á°áá áááá áá˝áá-á¨áááááá ááááľ áŤáá¸áá áááľ (áááłá ᣠ16 á˘áľ) á áá áá ááá¨á á¨áá˝á áአááĽáŽá˝á áĽááᣠáĽá áááá ááááá˝ á áá¨ááá áá (á°á¨ááŞ)ᢠ, ááááľ, ááŁááľ, ááŤáá) á¨áááááá ááááľ áŤáá¸áá áááľ á áá áá á áŽááá°á áá á°á¨ áľááľáł ááľáĽá ááááŁá.
áĽáá°ááá áŤááľ "ááŠ" ááĽáŽá˝ áá¨á á áá á ááłáĽ áĽááľ á°á°áááá, áĽááą ááľá ááŁáá. ááľá á¨áá°ááᣠá¨ááááľáŁ á¨ááŁááľ áĽá á¨ááŤáá áľáŤáá˝ áŤááľ á¨ááĽá¨ áááŽá˝ áľáĽáľáĽ ááá˘
á¨ááááľ * ááľáŽá˝ ááĽáŤááłááą á¨ááłá áááľ á áŤááľ (+, -, *, /) áአáá¤áľ áŤáá¸á ááľáŽá˝ áá¸á. á¨ááááľ ááłáὠᨠ2: 2, 4, 8, 16, ááá° ááááľ ááá ááĽáŽá˝ áááᥠáá˝áá (á áĽáááą á¨ááááá áá ááĽá á, ááá áá á á°ááŁá áĽá á¨áááááá á 2 áááá˝ áĽáť áá). áááłá, á 16-á˘áľ áááľ, áá 65 á¤ááááśá˝á á¨áŤá ááľá áá, ááĽáŤááłááą áĽááľ á¨áľáááá áŚááŹá˝á (+, -, *, /) áá¤áľ ááááľ áá˝áá. á¨áá áŤááľ áĽáŠááłáὠᨠx ᣠp ᣠalpha ᣠbeta ᣠgamma ᣠdelta áĽá´áśá˝ ááľááśá˝ á¨ááááľ ááľá á áŤááľ ááá áŤáá˘
áľááá á°áá˘áá á¨áŽáááŠá°á ááŽááŤá á ááťá á¨áľáá áŽáľá ááááŁáľ á¨ááá˝áá áľ á¨áĽáŠááłáá˝ áľáááľ á ááᢠá°ááłáłáŠá á¨áĽáŠááłáá˝ áľáááľ á áá áá, á¨ááἠáááś áááá áá¨ááá áá˝áá.
* áá áĽáĽá ááş áłááá ááá፠ááá˘
áááĽá áĽáá´áľ áááś ááááľ áĽáá°ááťá
á ááłáᾠᨠn + m áĽááŽá˝ á˛á á áá°áá á¨á áľ ááááľ áŤáľááááᢠáĽááá áááąá á¨ááἠáĽááŽá˝ áĽá á¨áľáááá˝ áŽáľ áĽááłáá˝ ááá áá˝ááᢠá¨ááἠáĽááŽá˝ áĽá/ááá á¨áľáááá˝ áŽáľ áĽááŽá˝ á áááá á°ááłá x áĽá/ááá p á°ááááŽá˝ á¨áá áŁááľ áĽáŠááłáá˝ á¨áááłáá áá¸á áááľ ááá˘
á¨áŞáľ-á°ááá áŽáśá˝ áĽáŠááłáá˝ ááá á áá ᣠá¤áł ᣠáá ᣠá´ááł áĽá´áśá˝ áááá˝ áá¸á ᣠááá x áĽá p áŤá áĽááŽá˝ áá á¨ááááą á¨áłáá á°ááááŽá˝ áĽá á¨á°ááŠáľ x áĽá p áĽáá° áĽáŠááłáá˝ áľáááľ ááłáŠ áá˝ááᢠá¨áááłáá áá¸á.
áááłá á¨ááἠáĽááŽá˝ 1 ᣠ2 ᣠ3 áĽá á¨áľáááá˝ áŽáľ 2 á áááá ᣠá¨á፠á i-th á¨áááľ áĄáľá á¨áá¨á°áá á¨áĽáŠááłáá˝ áľáááľ áááŤá (áŤááłáá á áá ááááľ á°á°áááá)
ᨠ4 áŤááłáá 4 áĽáŠááłáá˝ áá ᨠXNUMX áĽáŠááłáá˝ áľáááľ á áá áá á áááľ áááłáľ áĽá áá¨ááá áá°áá á¨á áľ ááááľ áĽáá˝ááá áááľ áá!
á¨áá á¨áĽáŠááłáá˝ áľáááľ ááŞáľ-á°ááá áŽáśá˝ (n data blocksᣠm redundancy code blocks) áľá ááἠáááś ááá áĽá áľááłááá˝ áá¨á°ááá˘
- ááááá m áĽááŽá˝ ááá áŤááą á¨á á áááĽá áááś ááááľ ááťááᢠm+1 ááá á¨á፠á áá áĽááŽá˝ á¨á á ááᥠáá°áá á¨á áľ ááááľ á áá˝ááᥠᨠm + 1 áŤááłáááľá ᨠm áĽáŠááłáá˝ áľáááľ áááłáľ á ááťááá˘
- á ááľ á¨ááἠáĽáá áĽááłá áááś áááááľáŁ á¨ááŞááš áĽááŽá˝ ááľáĽ áááááá n áá áá áŤáľáááááłá áĽá áááááá á¨áľáááá˝ áŽáśá˝á áá áá áá˝ááá˘
áá áá ááá áŤáľáááááłá
á¨áá á á°ááá¸á áááťáŁ á ááłáĽ ááľáĽ á áĽáááľ áááŁáľá á¨áá áááľá á ááŤáł á áľááá ááłáŽá˝á á áľáááááᢠá á°áá áľááá¨á°ááľ áááŽá˝ ááá á áááá˘
- á¨áŞáľ-á°ááá áŽáśá˝ á¨áĽáŠááłáá˝ áľáááľ áááááá áŤááłáá áááŽá˝ áĽáá¨áľ (á¨á¤á á¨ááá ááĽ) áááľá ááá¨á áááŁáᢠá áá ááľáááľ áá°á¨áľ á¨á áááŁá¤áłáŁáá áĽá á´ááł áĽá´áśá˝ á°ááá ááá˘
- á¨áĽáŠááłáá˝ áľáááľ á áŤáľ á°á ááááŁáľ ááťá á áá áľ (á á¨áľááš áĽááŽá˝ áĽáá°áááá) áĽá áááłáľ ááťá á áá áľá˘
- á¨ááááľ ááľá ááááŁáľ á ááĽá: áá°áá°á á¨áááľ áá á, áááááá áááľ á áŤááľ á¨áááááá áŚááŹá˝á (+, -, *, /) áá¤áľ ááááľ ááťá.
á á áááš áá¨á¨áť áá á áĽááá á áľááá ááłáŽá˝ áá áľá áĽá á˝áá ááŁááťáá˝ á áá˘
ᨠn áĽá m áááŤ
á á°ááŁá n áĽá m áĽáá´áľ ááá¨áĽ ááťáá? á á°ááŁá, á áá¨á áá¨ááť áľáááśá˝ ááľáĽ, á¨áľáááá˝ áŽáśá˝ áŚáłá áááá ἠáĽá á áá áááá, áľááá m áááá ᨠn áŤáá° ááá¨áŁá. á¨áĽááą áľáááá áá á áĽá áááłáá˝ áá á¨á°áá°á¨á° áá, á¨áá¨á°ááľá á¨ááŽ:
- á¨ááἠáá¨ááť á áľá°áááááľ. áľáá ááľá, áá°áá á¨áá˝á á¨á˛áľá ááľááśá˝ áĽááľ, áááľá, á áľá°áááááľ á¨á áŤá áá.
- á°á°ááá áá¨ááťá˘ ᨠm / n áĽáááł á¨á áŁá áá á á¨áá¨ááťá áľáááá˝ á¨á áŤá áááá, áĽá áľáááą á¨á áá ááľ áááá.
- á¨ááľáŹá áá áá ááᢠáľáá n + m á áľááᣠááĽáŤááá˝ á¨ááá˝ áá áá¨áááᢠáá¨áá áááá ἠ(á áááá፠áá áľ) á á°ááŤáŠ á˛áľáŽá˝ áá á¨á°á¨ááš n áĽááŽá˝á ááá ἠáľááááá á¨ááŁáĽ áá á¨ááá°áá á áŁá áááá á ááá á˛áľá ááá˘
á á°á¨ááŞá, áá¨áá á á ááŤáł á˛á˛áá˝ ááľáĽ áá¨áá¸áľ á n áĽá m áá፠áá á°á¨á᪠áá°áŚá˝á áŤáľááľáłá: 1 á˛á˛ á¨á á, ááᥠá ááá áááá ἠááááľ á áá áľ. áááłá, á 3 á˛á˛áá˝ ááľáĽ áá¨áá á áá¨áá˝á áľ áá, á¨áá¨á°áá áááł ááááľ á áá áľ: m >= n / 2, á áá áá፠1 á˛á˛ á˛á á áá¨áá áááá ἠá¨áááťáá áľ áááł ááá áá˝áá.
3. LRC - á¨á áŤáŁá˘ áááś áááŁáł áŽáśá˝
áŞáľ-á°ááá áŽáśá˝á á áá áá áá¨áá áááś áááááľ n á¨áááá° á¨ááἠáĽááŽá˝á áá áá á ááĽááľá˘ áá áá°á¨ááá á¨áá¨á áá¨ááť áľáááśá˝ á áŁá ááá áŞáłáŤ áá ᣠááááŤáąá á á ááľ á á°á°á ᨠá˛áľá áá áá¨áá áá°áá á¨á áľ ááááᾠᣠá¨ááášá á áĽáááášá áá¨ááá˝ ááá ἠá ááĽáᾠᣠáá á á á˛áľáŽá˝ áĽá á á ááłá¨ áá¨áĄ áá áľáá á°á¨á᪠áááľ áááĽáŤáá˘
á áŁá á¨á°áááąáľ áľá á°áśá˝ á¨á ááľ á˛áľá ááľááľ ááá á¨áá á á áá á áá¨ááŤá¸á á¨á ááľ áĽáá ááἠá°á°áŤá˝ á áááá áá¸áᢠá áá (á áŁá á¨á°ááá°) ááłá áááἠáááś ááá áľáá áááľ á áá ááááľ ááááľ ááťáá? áĽááľá ááľá¨á áĽáá°áá˝á ááá áᥠá á°áá ááá ááá á¨LRC á¨ááá¨áŞáŤ áŽáśá˝ á áá˘
LRC (á áŤáŁá˘áŤá á¨áááś áááŁáł áŽáśá˝) á Windows Azure Storage ááľáĽ ááá áá á ááááŽáśááľ á¨á°ááá°á á¨áľáá áŽáśá˝ áá¸áᢠá¨LRC ááłáĽ á á°áťá áá á ááá ááᥠáááá á¨ááἠáĽááŽá˝ á áááľ (ááá á¨á፠á áá) áĄáľáá˝ áá¨áááá¸á áĽá ááĽáŤááłááą áĄáľá á¨áľáááá˝ áŽáľ áĽááŽá˝á á á¨áá áŤááĽáĄá˘ á¨ááŤá á ááłááľ á¨áľáááá˝ áŽáľ áĽááŽá˝ áááá á¨ááἠáĽááŽá˝ á áá áá ááá áŤá (á á¤áá áᲠááľáĽ ááá á áá á¨áľáááá˝ áŽáľ ááŁáá) áĽá á ááłááśáš - á¨áááľ áĄáľá á¨ááἠáĽááŽá˝ á ááąá á áá áá (á áŤáŁá˘áŤá á¨ááľáá áŽáľ ááŁáá)á˘
LRC á áŚáľáľ ááĽáŽá˝ ááááťáᥠnrlᣠn á¨ááἠáĽááŽá˝ ááĽáᣠr á¨ááá á ááá á¨áľáááá˝ áŽáľ áĽááŽá˝ ááĽá ááᣠl á¨á áŤáŁá˘áŤá áľáááá˝ áŽáľ áĽááŽá˝ ááĽá ááᢠá ááľ á¨ááἠáĽáá á ááááá áľ áá ááἠáááá ἠn/l áĽááŽá˝á áĽáť ááá ἠáŤáľáááááłá - áá á¨áŞáľ-á°ááá áŽáśá˝ l áĽáĽá áŤáá° ááá˘
áááłáᣠá¨LRC 6-2-2 áĽá áľá á°ááá¨áľá˘ X1âX6 â 6 á¨ááἠáĽááŽá˝áŁ P1ᣠP2 â 2 á ááááá á¨áľáááá˝ áĽááŽá˝áŁ P3ᣠP4 â 2 á¨á áŤáŁá˘ áľáá áĽááłáá˝á˘
á¨áľáááá˝ áŽáľ áĽááłáá˝ P1, P2 áááá á¨ááἠáĽááŽá˝ á áá áá ááá áŤá. á¨áľáááá˝ áŽáľ á ááľ P3 - á¨ááἠáĽááŽá˝ X1-X3 á áá áá ᣠá¨áľáááá˝ áŽáľ áĽááł P4 - á¨ááἠáĽááŽá˝ X4-X6 á áá ááá˘
ááŞá á á¤áá áᲠááľáĽ á¨áá¨áááá á¨áŞáľ-á°ááá áŽáśá˝ áá á áááłá°á ááᢠá¨áľáá áŽáľ áĽááŽá˝ áááľá áááá á áĽáŠááłáá˝ á¨áá¨á°ááľ áááááĄ-
á ááᣠá¤áłáŁ ááᣠá´ááł ááĽáŽá˝á áááá¨áĽ á¨áá¨á áááś ááá áĽáľáá ááá¨ááἠá ááŤáł áááłáá˝ ááááľ á ááŁá¸á (áá
á á¨áĽáŠááł áľáááąá áááłáľ)ᢠáľááĽááą á¨á áá ááá ἠáá˝áá
áĽáá˛áá á á°ááŁáᣠᨠXOR áááá á¨ááá ááľáĽ á¨áľáá áŽáśá˝á P3, P4 áááľááľ áĽá
á áá áááá.
ᨠLRC á¨áĽáŠááłáá˝ áľáááľ á ááŤáł áľááłááá˝ áá¨á°áááĄ-
- áááááá 1 á¨ááἠáĽááł áááś áááááľ, n/l blocks (n/2 á áĽá ááłá) ááá ἠá á áá.
- r + l áĽááŽá˝ á¨áá áĽá ááá áĽááŽá˝ á á ááľ áĄáľá ááľáĽ á¨á°áŤá°áą ááᥠáá°áá á¨á áľ ááááľ á áá˝ááᢠáá áá á ááłá áááľá¨áłáľ ááá ááᢠáĽááŽá˝ X1âX3 áĽá P3 á ááááᥠáĽááá r + l áĽááŽá˝ á¨á°ááłáłá áĄáľá áá¸áᣠá áĽá áááł 4ᢠá¨á፠3 áĽáŠááłáá˝ áŤáᾠᨠ4 á¨áááłáá áááŽá˝ áá áááł á¨ááá˝á áľáááľ á áá.
- á ááá˝ á ááá ᨠr + l áĽááŽá˝ (á˘áŤááľ á ááľ áĽáá á¨áĽáŤááłááą áĄáľá á˛áá) á LRC ááľáĽ áŤáá áá¨á áá°áá á¨á áľ ááááľ áá˝ááá˘
áľááá ᣠLRC á¨áá á áľá á°áśá˝ á áá áá¨áá á áááá á¨áŞáľ-á°ááá áŽáśá˝á áá ááŁáᢠá áŞáľ-á°ááá áŽáśá˝ ááľáĽ á ááľ á¨ááἠáĽáá áĽááłá áááś áááááľ n áĽááŽá˝á áá áá áŤáľáááááłá ᣠáĽá á á¤áá áᲠááľáĽ á ááľ áĽáá áá¨áá áááááľ n / l áĽááŽá˝á (á áĽá ááłá n / 2) áá áá á á ááᢠá áá á áŠáᣠá¨áá°áá á¨ááááą áľá á°áśá˝ áĽááľ á ááťá LRC á¨áŞáľ-á°ááá áŽáśá˝ áŤáá° ááᢠá¨áá áŁááľ ááłááá˝ á¨áŞáľ-á°ááá áŽáśá˝ áááááá 4 áľá á°áśá˝ áá¨áá ááá°á ááááľ áá˝áá ᣠáĽá á LRC ááᥠááááľ á áááťáá áľ áá 2 ᨠ4 áľá á°áśá˝ áĽáá¨áľ á áá˘
áá áἠá áľááá á¨ááá á á°áá°áá áááł áá á¨á°áá°á¨á° áá, ááá áá áĽááá áá LRC á¨ááŤááá á á¨áá á á áá á¸áá áŤáá áá ᣠá áľááš á áľá°ááá á¨ááá áá¨ááť áá ááŁá.
4. ááá˝ á¨ááá¨áŞáŤ áŽáśá˝
á¨áŞáľ-á°ááá áĽá á¤áá áᲠáŽáľ á á°á¨á᪠ááá˝ áĽá á¨ááá¨áŞáŤ áŽáśá˝ á áᢠá¨á°ááŤáŠ á¨áľáááá˝ áŽáśá˝ á¨á°ááŤáŠ ááłáŚá˝á áá áááᢠá ááłááľ ááá˝ á¨ááá¨áŞáŤ áŽáśá˝ áĽáááááĄ
- ᨠXOR áŚááŹá°áá á áá áá á¨ááľáá áŽáľá˘ á¨XOR áááá á¨áá¨áááá á n áłáł áĽááŽá˝ áá ááᣠáĽá 1 á¨áľáááá˝ áŽáśá˝ á°áááˇáᣠáááľáᣠn+1 áĽá
áľ (n data blocksᣠ1 redundancy code)ᢠááľáĽ áĽá
á áá ááá
RAID 5 , á¨ááἠáĽááŽá˝ áĽá á¨áľáááá˝ áŽáľ áá° ááá á¨áľááľá á˛áľáŽá˝ á áłááá á¨á°ááá áľá˘ - á XOR á á áŤá áá á¨á°áá°á¨á° áŤáá°ááá° áľáá° áááᢠ2 áĽááŽá˝ á¨áľáááá˝ áŽáľ áĽáá˛ááᥠááá áľáááłáᣠáááľáᣠn+2 áĽá áľá˘
- á XOR á á áŤá áá á¨á°áá°á¨á° STAR á áááŞááᢠ3 áĽááŽá˝ á¨áľáááá˝ áŽáľ áĽáá˛ááᥠááá áľáááłáᣠáááľáᣠn+3 áĽá áľá˘
- á¨ááŤááľ áŽáśá˝ á¨ááááŽáśááľ áá á¨áľáá áŽáśá˝ áá¸áá˘
5. á Yandex ááľáĽ áá áá
á ááŤáł ᨠYandex áá á¨á° áááľ ááŽáááśá˝ á áľá°ááá á¨áá¨á áá¨ááť áŽáśá˝á áá áááᢠá ááłááľ ááłááá˝ áĽáááĄ-
- á á áááš ááááŞáŤ áá á¨áťááŠáľá MDS ááľáŁá ááá áá¨ááťá˘
YT - ᨠYandex áá á ááł áľáááľá˘YDB (Yandex DataBase) - newSQL á¨á°á°áŤá¨ á¨ááἠááł.
á¤á.á˛.á¤áľ á¨LRC á¨áľáá áŽáľáŁ 8-2-2 áĽá
áľ áá áááᢠá¨áľáá áŽáľ áŤáá¸á áá¨ááá˝ á 12 á¨á°ááŤáŠ á˛á˛áá˝ ááľáĽ á á°ááŤáŠ á ááááŽá˝ ááľáĽ áá° 3 á¨á°ááŤáŠ á˛áľáŽá˝ ááááᥠá áĽáŤááłááą á˛á˛ ááľáĽ 4 á ááááŽá˝á˘ áľááá
ááłá á ááľáĽ á¨á áá áŤááĽáĄ
YT áááąáá á¨áŞáľ-á°ááá áŽáśá˝á (áááááĽá 6-3) áá áááᣠááááŞáŤ á¨á°á°áá áŠáľá áĽá á¨LRC á¨áľáá áŽáľ (áĽá áľ 12-2-2)ᣠLRC á°ááŤá á¨áá¨ááť áá´ ááá˘
YDB áĽáŠá áŤááá á¨á°á°ááá áŽáśá˝á áá ááá (ááľá 4-2)ᢠá áľááľá á YDB ááľáĽ áŤá á¨ááá¨áŞáŤ áŽáśá˝
á¨á°ááŤáŠ á¨áľáááá˝ áŽáľ áááááĽáŽá˝á áá áá áá°ááŤáŠ áľáááśá˝ á á°ááŤáŠ ááľáááśá˝ ááááŤáľ áá. áááłáᣠá á¤áá˛á¤áľáŁ LRCá á áá áá á¨á°á¨áḠáá¨á á á ááľ áá á 3 á˛á˛áá˝ ááľáĽ ááááŁáᢠá¨á¨áľááá á˛á˛áá˝ ááľáĽ 1 áą áŤáá°áłáŤ áá¨áá áááá ἠááá¨áą ááĽá á áľááá ááᣠáľááá áĽááŽá˝ á á˛á˛áá˝ ááľáĽ áá°áŤá¨áľ á ááŁá¸á áľááá ááááá á˛á˛ á¨áááá á¨áá á¨ááá°á¨áľáŁá¸á áĽááŽá˝ áĽááľ á¨á°ááá° á áá á áá°ááᢠá 8-2-2 áĽá áľ ááľáĽ á áĽáŤááłááą á˛á˛ ááľáĽ 4 áĽááŽá˝á ááľááἠáá˝áá, á¨á፠ááááá á˛á˛ á˛á á, 4 áĽááŽá˝ á áááá áĽá áá¨áá ááá ἠáá˝áá. á 3 á˛á˛áá˝ ááľáĽ áľááľááá á ááá á áááľ áĽá áľ áĽááááĽ, á ááááá áááł (r + l) / n>= 0,5 ááá á áá áľ, áááľá á¨áá¨ááť áľáááá˝ á˘áŤááľ 50% áááá.
á YT ááľáĽ áááłá ââââá¨á°áᨠááᥠáĽáŤááłááą á¨YT áááľá°á áá á áá á 1 á˛á˛ ááľáĽ (á¨á°ááŤáŠ áľáĽáľáŚá˝ á á°ááŤáŠ á˛á˛áá˝) ááľáĽ ááááᣠáľááá ááá á áááľ áá°áĽ á¨ááᢠá¨12-2-2 áááááĽáŠ 33% áľáááá˝ áá°áŁá ᣠáááľá ᣠáá¨áá áá¨áá¸áľ ááŤá˝ áá ᣠáĽá áĽáá° MDS áĽá áľ áĽáľá¨ 4 á á°ááłáłá áá á¨á˛áľá ááá¨áĽ ááá áá˝ááá˘
á áá¨á áá¨ááť áĽá ááááŁá áŞáŤ áľáááśá˝ ááľáĽ á¨áľáááá˝ áŽáśá˝ á á ááá áĽá á°á¨á᪠áŁá áŞáá˝ á á-á¨ááἠáááś ááá áá˝áłáὠᣠáááś ááá á áĽáŤá á áááá áá áá áŤáá á°á áĽá ᣠá¨ááἠáá¨áť áŁá áŞáὠᣠááá° ... áľáááá áĽá ááá˝ áŁá áŞáá˝ ááĽáťáŹ áĽáááŤáá ᢠááĽáą á¨ááľáĽ á¨áá á¨áľáááá˝ áŽáśá˝á á á ááá á á°ááŁáá˘
6. áááááá˝
- áľá áŞáľ-á°ááá áŽáśá˝ áĽá ááááľ ááľáŽá˝ á°á¨áłáłá ááŁáĽáá˝áĄ-
https://habr.com/ru/company/yadro/blog/336286/
https://habr.com/ru/company/yadro/blog/341506/
á á°á°áŤá˝ ááá ááłáĽá á áĽáááľ áááá¨áłáᢠ- á¨ááááŽáśááľ áľá LRC ááŁáĽááĄ-
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/LRC12-cheng20webpage.pdf
ááá 2 ááľá ááłáĄá áŁáአáŤáĽáŤáŤá áĽá á¨áá ᨠLRC áá áŤááá á°ááᎠá á°ááŁá áŤáĽáŤáŤáᢠ- áŤáá°ááá° áĽá
áľ;
https://people.eecs.berkeley.edu/~kubitron/courses/cs262a-F12/handouts/papers/p245-blaum.pdf - á¨STAR áĽá
áľáĄ-
https://www.usenix.org/legacy/event/fast05/tech/full_papers/huang/huang.pdf - á¨ááŤááľ áŽáśá˝
https://www.microsoft.com/en-us/research/publication/pyramid-codes-flexible-schemes-to-trade-space-for-access-efficiency-in-reliable-data-storage-systems/ - á á¤áá˛á¤áľ ááľáĽ á¨ááá¨áŞáŤ áŽáśá˝áĄ-
https://habr.com/ru/company/yandex/blog/311806 - á¨ááľáá áŽáśá˝ á YT
https://habr.com/ru/company/yandex/blog/311104/ - á YDB ááľáĽ á¨ááľáá áŽáśá˝áĄ-
https://www.youtube.com/watch?v=dCpfGJ35kK8
ááá: hab.com