擦除编码的优点、缺点和要求
在决定是否使用复制或擦除编码来保护对象数据免于丢失之前,您应该了解擦除编码的优点、缺点和要求。
擦除编码的优点
与复制相比,擦除编码提供了更高的可靠性、可用性和存储效率。
-
可靠性:可靠性是根据容错能力来衡量的——也就是说,在不丢失数据的情况下可以承受的同时故障次数。通过复制,多个相同的副本可以存储在不同的节点和站点上。利用擦除编码,对象被编码为数据和奇偶校验片段,并分布在许多节点和站点上。这种分散提供了站点和节点故障保护。与复制相比,擦除编码在相当的存储成本下提供了更高的可靠性。
-
可用性:可用性可以定义为存储节点发生故障或无法访问时检索对象的能力。与复制相比,擦除编码在相当的存储成本下提供了更高的可用性。
-
存储效率:在可用性和可靠性水平相似的情况下,通过擦除编码保护的对象比通过复制保护的相同对象消耗更少的磁盘空间。例如,复制到两个站点的 10 MB 对象将消耗 20 MB 磁盘空间(两个副本),而使用 6+3 擦除编码方案在三个站点上进行擦除编码的对象仅消耗 15 MB 磁盘空间。
擦除编码对象的磁盘空间计算为对象大小加上存储开销。存储开销百分比是奇偶校验碎片的数量除以数据碎片的数量。
擦除编码的缺点
与复制相比,擦除编码具有以下缺点:
-
根据擦除编码方案,建议增加存储节点和站点的数量。相反,如果复制对象数据,则每个副本只需要一个存储节点。看"包含三个或更多站点的存储池的擦除编码方案"和"单站点存储池的擦除编码方案"。
-
增加了存储扩展的成本和复杂性。要扩展使用复制的部署,您可以在进行对象复制的每个位置添加存储容量。要扩展使用擦除编码的部署,您必须考虑正在使用的擦除编码方案以及现有存储节点的完整程度。例如,如果等到现有节点已满,则必须至少添加 `k+m`存储节点,但如果在现有节点已满 70% 时进行扩展,则可以在每个站点添加两个节点,同时仍能最大化可用存储容量。有关更多信息,请参阅"增加擦除编码对象的存储容量" 。
-
当您在跨地理分布的站点使用擦除编码时,检索延迟会增加。与在本地(客户端连接的同一站点)复制并可用的对象相比,通过 WAN 连接检索经过擦除编码并分布在远程站点上的对象的对象碎片需要更长的时间。
-
当您在跨地理分布的站点使用擦除编码时,检索和修复所需的 WAN 网络流量使用率会更高,尤其是对于频繁检索的对象或通过 WAN 网络连接进行的对象修复。
-
当您跨站点使用擦除编码时,随着站点间网络延迟的增加,最大对象吞吐量会急剧下降。这种下降是由于 TCP 网络吞吐量相应下降造成的,这影响了StorageGRID系统存储和检索对象片段的速度。
-
计算资源的利用率更高。
何时使用擦除编码
擦除编码最适合以下要求:
-
对象大小大于 1 MB。
擦除编码最适合大于 1 MB 的对象。不要对小于 200 KB 的对象使用擦除编码,以避免管理非常小的擦除编码片段的开销。 -
对不经常检索的内容进行长期或冷存储。
-
高数据可用性和可靠性。
-
防止整个站点和节点发生故障。
-
存储效率。
-
单站点部署需要仅使用单个擦除编码副本而不是多个复制副本来实现有效的数据保护。
-
多站点部署,站点间延迟小于 100 毫秒。