Ventajas, desventajas y requisitos de codificación de borrado
Antes de decidir si se debe utilizar la replicación o el código de borrado para proteger los datos de objetos frente a pérdidas, debe comprender las ventajas, las desventajas y los requisitos para la codificación de borrado.
Ventajas de la codificación de borrado
En comparación con la replicación, la codificación de borrado ofrece una mayor fiabilidad, disponibilidad y eficiencia del almacenamiento.
-
Confiabilidad: La fiabilidad se mide en términos de tolerancia a fallos, es decir, el número de fallos simultáneos que se pueden sostener sin pérdida de datos. Con la replicación, se almacenan varias copias idénticas en diferentes nodos y entre sitios. Con el código de borrado, un objeto se codifica en fragmentos de datos y de paridad, y se distribuye entre muchos nodos y sitios. Esta dispersión proporciona protección frente a fallos del sitio y del nodo. En comparación con la replicación, la codificación de borrado proporciona una mayor fiabilidad con costes de almacenamiento comparables.
-
Disponibilidad: La disponibilidad se puede definir como la capacidad de recuperar objetos si los nodos de almacenamiento fallan o se vuelven inaccesibles. En comparación con la replicación, la codificación de borrado proporciona una mayor disponibilidad con costes de almacenamiento comparables.
-
Eficiencia del almacenamiento: Para niveles similares de disponibilidad y fiabilidad, los objetos protegidos mediante codificación de borrado consumen menos espacio en disco que los mismos objetos si están protegidos mediante replicación. Por ejemplo, un objeto de 10 MB que se replica en dos sitios consume 20 MB de espacio en disco (dos copias), mientras que un objeto que se elimina en tres sitios con un esquema de codificación de borrado 6+3 solo consume 15 MB de espacio en disco.
El espacio en disco para los objetos codificados de borrado se calcula como el tamaño del objeto más la sobrecarga del almacenamiento. El porcentaje de sobrecarga del almacenamiento es el número de fragmentos de paridad dividido por el número de fragmentos de datos.
Desventajas del código de borrado
En comparación con la replicación, los códigos de borrado tienen las siguientes desventajas:
-
Se requiere un mayor número de nodos y sitios de almacenamiento. Por ejemplo, si utiliza un esquema de código de borrado de 6+3, debe tener al menos tres nodos de almacenamiento en tres sitios diferentes. Por el contrario, si simplemente replica datos de objetos, solo necesita un nodo de almacenamiento para cada copia.
-
Aumento del coste y de la complejidad de las ampliaciones del almacenamiento. Para ampliar una puesta en marcha que usa la replicación, solo tiene que agregar capacidad de almacenamiento en cada ubicación donde se realicen copias de objetos. Para ampliar una puesta en marcha que utilice código de borrado, debe tener en cuenta el esquema de codificación de borrado y el grado de llenado de los nodos de almacenamiento existentes. Por ejemplo, si espera que los nodos existentes estén llenos al 100 %, debe añadir al menos k+m nodos de almacenamiento, pero si expande cuando los nodos existentes están llenos al 70 %, puede añadir dos nodos por sitio y seguir maximizando la capacidad de almacenamiento útil. Para obtener más información, consulte las instrucciones para ampliar StorageGRID.
-
Al utilizar códigos de borrado en ubicaciones distribuidas geográficamente, aumenta la latencia de recuperación. Los fragmentos de objeto para un objeto que se codifica con borrado y se distribuyen en sitios remotos tardan más en recuperarse a través de conexiones WAN que los objetos que se replican y están disponibles localmente (el mismo sitio al que se conecta el cliente).
-
Al utilizar la codificación de borrado en ubicaciones distribuidas geográficamente, se está utilizando más el tráfico de red WAN para restauraciones y reparaciones, especialmente en objetos que se recuperan con frecuencia o para reparaciones de objetos a través de conexiones de red WAN.
-
Cuando se utiliza la codificación de borrado en varios sitios, el rendimiento máximo del objeto se reduce drásticamente a medida que aumenta la latencia de red entre sitios. Esta disminución se debe a la correspondiente disminución del rendimiento de la red TCP, que afecta a la rapidez con la que el sistema StorageGRID puede almacenar y recuperar fragmentos de objeto.
-
Mayor uso de recursos de computación.
Cuándo se debe utilizar la codificación de borrado
El código de borrado se ajusta mejor a los siguientes requisitos:
-
Objetos de más de 1 MB de tamaño.
Debido a la sobrecarga que se produce al gestionar el número de fragmentos asociados con una copia con código de borrado, no utilice el código de borrado para los objetos de 200 KB o menos. -
Almacenamiento a largo plazo o en frío para contenido que se recupera con poca frecuencia.
-
Alta disponibilidad y fiabilidad de los datos.
-
Protección frente a fallos completos de sitios y nodos.
-
Eficiencia del almacenamiento.
-
Puestas en marcha de un único sitio que requieren protección de datos eficiente con solo una copia codificada por borrado en lugar de múltiples copias replicadas.
-
Puestas en marcha de varios sitios en las que la latencia entre sitios es inferior a 100 ms.