Предпродажа $EX5 — уровень Seed · 500M фиксированная эмиссия · 50% сжигание · регистрация на portal.ex5.comУЧАСТВОВАТЬ →
Обновлено

Кодирование со стиранием (Erasure Coding)

Кратко: Кодирование с исправлением стираний (erasure coding) — это хранение данных в нескольких местах путём их разбиения на сегменты, расширения и кодирования с…

Кодирование с исправлением стираний (erasure coding) — это хранение данных в нескольких местах путём их разбиения на сегменты, расширения и кодирования с добавлением избыточной информации. Затем исходные данные можно восстановить лишь по части фрагментов, даже если некоторые из них утеряны.

Почему это важно

Хранить полные копии данных в нескольких местах просто, но дорого, ведь каждая дополнительная копия снова занимает полный объём хранилища. Кодирование с исправлением стираний обеспечивает такую же отказоустойчивость при гораздо меньшем объёме, поэтому его применяют в центрах обработки данных, облачных хранилищах и децентрализованных сетях хранения, которые распределяют фрагменты файлов между независимыми операторами. Некоторые решения для масштабирования блокчейнов также опираются на него при выборочной проверке доступности данных (data availability sampling): данные блока дополняются избыточной информацией, чтобы лёгкие узлы могли убедиться в их публикации, загрузив лишь несколько случайных фрагментов. Цена — дополнительные вычисления для кодирования и восстановления данных, а также дополнительный сетевой трафик, когда утерянный фрагмент приходится восстанавливать.

Пример

С помощью кода Рида — Соломона файл разбивается на четыре фрагмента данных, и на их основе вычисляются два дополнительных фрагмента чётности. Шесть фрагментов хранятся на шести разных серверах, и для восстановления файла достаточно любых четырёх из них. Файл переживает потерю любых двух серверов, занимая в сумме полтора своих исходных объёма, тогда как хранение трёх полных копий, позволяющее пережить два отказа, потребовало бы втрое больше исходного объёма.

Связанные термины