From 9b1eac834dee27df018a96dd462267932a11c32c Mon Sep 17 00:00:00 2001 From: schmidt-scaled <82834682+schmidt-scaled@users.noreply.github.com> Date: Tue, 16 Jun 2026 15:42:23 +0300 Subject: [PATCH 1/2] Update erasure-coding.md --- docs/architecture/concepts/erasure-coding.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/architecture/concepts/erasure-coding.md b/docs/architecture/concepts/erasure-coding.md index 4a035964..cb3bd2a9 100644 --- a/docs/architecture/concepts/erasure-coding.md +++ b/docs/architecture/concepts/erasure-coding.md @@ -16,9 +16,12 @@ The core principle of erasure coding involves breaking data into **k** data frag fragments. These **k+m** fragments are distributed across multiple storage nodes. The system can recover lost data using any **k** available fragments, even if up to **m** fragments are missing or corrupted. +In Simplyblock, we support n=1, 2 and 4 and k=0, 1 and 2. It is important to note that we use Distributed Erasure Coding in which every chunk of a stripe +is stored on a different node. This way we do not only protect the data from loss of drives, but also ensure data availability in case one or two nodes +are not operational. + Erasure coding has a number of key characteristics: - **High Fault Tolerance:** Erasure coding can tolerate multiple node failures while allowing full data recovery. - **Storage Efficiency:** Compared to replication, erasure coding requires less additional storage to achieve similar levels of redundancy. -- **Computational Overhead:** Encoding and decoding operations involve computational complexity, which may impact performance in latency-sensitive applications. - **Flexibility:** The parameters **k** and **m** can be adjusted to balance redundancy, performance, and storage overhead. From 7f77872142df2da05434829e7d1d6584a36b3946 Mon Sep 17 00:00:00 2001 From: "Christoph Engelbert (noctarius)" Date: Thu, 18 Jun 2026 15:04:27 +0200 Subject: [PATCH 2/2] Improved language and clarity --- docs/architecture/concepts/erasure-coding.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/architecture/concepts/erasure-coding.md b/docs/architecture/concepts/erasure-coding.md index cb3bd2a9..80af9d6c 100644 --- a/docs/architecture/concepts/erasure-coding.md +++ b/docs/architecture/concepts/erasure-coding.md @@ -10,15 +10,16 @@ additional parity fragments, enabling data recovery in the event of node failure Traditional data redundancy methods, such as replication, require multiple full copies of data, leading to significant storage overhead. Erasure coding improves upon this by using mathematical algorithms to generate parity fragments, -allowing data reconstruction with fewer overheads. +allowing data reconstruction with lower overhead. The core principle of erasure coding involves breaking data into **k** data fragments and computing **m** parity fragments. These **k+m** fragments are distributed across multiple storage nodes. The system can recover lost data using any **k** available fragments, even if up to **m** fragments are missing or corrupted. -In Simplyblock, we support n=1, 2 and 4 and k=0, 1 and 2. It is important to note that we use Distributed Erasure Coding in which every chunk of a stripe -is stored on a different node. This way we do not only protect the data from loss of drives, but also ensure data availability in case one or two nodes -are not operational. +In simplyblock, we support **k** values of 1, 2, and 4, as well as **m** values of 0, 1, and 2. It is important to +note that we use distributed erasure coding, in which every chunk of a stripe is stored on a different node. This +way, we not only protect data from drive loss but also ensure data availability in case one or two nodes are not +operational. Erasure coding has a number of key characteristics: