云数据|国防科技大学王意洁教授团队云际存储算法上线( 二 )




过去头歌存储一直采用高冗余度的可靠性设计 , 在平台上实现了单数据中心内部的备份存储和跨数据中心的备份存储 , 通过与多种实时、离线计算框架、计算服务的对接方式 , 满足结构化、半结构化、非结构化等不同数据类型的海量数据存储需求 , 提供海量、高可靠、易扩展、高性价比、全面支持计算生态的数据湖解决方案 。

尽管依托高冗余度的可靠性设计 , 实现了单数据中心内部的备份存储和跨数据中心的备份存储 , 在一定程度上保障了平台和用户数据安全 , 但其采用的本地冗余备份、跨云冗余备份等策略 , 给平台造成较大的存储成本压力 , 且随着平台的发展 , 需要投入的成本将更多 。 因此 , 头歌急需在确保安全性的前提下 , 急需提升可靠性存储方案的性价比和可扩展性 。
三、云际容灾存储现状
目前的云际容灾存储系统采用的数据冗余技术通常为多副本技术 。 基于多副本技术的云际容灾存储系统将用户文件复制多份后分发到不同的云数据中心中 , 当任意云数据中心故障后 , 可以使用其他云数据中心中的副本对丢失的数据进行恢复 。 基于多副本技术的云际容灾存储系统的实现较为简单 , 但是其冗余度较高 。
【云数据|国防科技大学王意洁教授团队云际存储算法上线】与基于多副本技术的云际容灾存储系统相比 , 基于纠删码技术的云际容灾存储系统可以显著降低冗余度(纠删码技术将文件分为k个数据块后编码成为n个编码块并分散存放 , 任意d个编码块失效时都可通过其他编码块修复)[2-3


按照UCloud的报价(本地普通盘) , 在使用6个云数据中心且需要容忍任意2个云数据中心故障的情况下 , 基于纠删码技术的云际容灾存储系统的存储成本是4x1024x1.5=6144元/年/TB , 而基于多副本技术的云际容灾存储系统的存储成本是4x1024x3=12288元/年/TB 。

尽管基于纠删码技术的云际容灾存储系统的存储成本较低 , 纠删码技术在云际环境中写入和修复时需要在公网上传输大量数据并进行一系列编码操作 。 由于公网带宽远低于内网带宽 , 因此基于纠删码技术的云际容灾存储系统的写入效率和修复的效率较低 。 写入效率较低的问题将导致系统难以适应于大数据时代日益增长的数据产生速度 , 使系统的应用受限 , 而修复效率较低的问题将影响系统的可靠性——有研究证明 , 修复时间增加25%-45%将使MTTDF( mean-time to permanent data loss , 用于衡量系统可靠性)降低两个数量级 。
四、头歌云际备份系统
为了兼顾存储成本和效率 , 头歌与国防科技大学合作 , 开发了一种具有较高写入、读取、修复效率的基于纠删码技术的云际容灾存储系统用于云际备份 。 该系统通过与多种实时、离线计算框架、计算服务的对接方式 , 满足结构化、半结构化、非结构化等不同数据类型的海量数据存储需求 。 其中 , 为了降低跨云数据传输量以提高写入和修复的效率 , 头歌的云际备份系统采用了以下关键技术:
(1)一种基于生成矩阵变换的跨云纠删码写入技术 , 通过根据客户端与存储节点的位置信息进行生成矩阵变换 , 在不影响纠删码修复性能的情况下有效降低跨云写入流量[4

(2)一种小跨云修复流量的自适应纠删码 , 使用并行主动枚举算法在不同的编码参数和网络环境中构造出满足平均跨云修复(单点修复)流量理论下限的编码块生成矩阵[5

(3)一种基于云间协作的多点修复技术 , 通过比较接收端云中的失效节点数(N1)和传输端中的辅助节点数(N2)选择解码节点 , 使跨云传输量始终为min(N1N2) 。