非结构化数据的重要之处在于它所提供的语境,通过其对应的数据流能更准确地对未来趋势进行解锁,即对行业动向进行可视化拆分及分析。据IDC调查报告显示,全球企业数据量中结构化数据仅占20%,以多种格式存在的非结构化数据及半结构化数据占比约为80%,且逐年递增60%。
存在Oracle、SQL Server等数据库中的结构化数据(即行数据)往往是可以通过二维逻辑表(数字、符号等)来表达实现。而非结构化数据(XML、图像、声音、超媒体等信息)往往是先有数据,再有结构,因此难以被纳入关系数据库。尤其是,将海量非结构化数据进行存储绝非易事。数据专家60%的时间都花费在清理和整理非结构化数据上(《福布斯》)。
此外,面对海量数据剧增的情况下,通过增加存储节点,极易造成成本剧增、管理困难及系统的高负载性等诸多问题。对于非结构数据SAN、NAS等传统存储架构显然是不适合的,面对未来的数据存储需求,分布式存储架构具有链路聚合及Scale-out扩展能力等特性,可实现4K/8K视频储存的带宽需求、资源池的高可用性及访问更加便捷。
柏科数据深耕数据存储、数据保护及数据生产三大领域,依托在存储架构、存储管理软件及存储核心算法等方面的核心技术,针对海量非结构数据存储需求,自主研发推出IS -Cloud分布式存储系统。
在“智慧城市”数字化建设方案中,柏科数据为视频监控网络部署了IS -Cloud分布式存储系统解决方案,为其配置分布式存储内部数据交换网络(集群内网)、业务数据访问网络(集群外网)、IPMI管理网络以及分布式存储配置管理网络。
整体方案配置两台元数据节点及数台分布式存储节点,基于X86的分布式存储的集群架构,实现了较强的Scale-out扩展能力。选用SSD作为相应的存储实现方式。可将I/O性能线性提高到几十个GB或者上百个GB的聚合带宽,实现每秒数十万个的文件查询效率,大幅度减少计算任务的数据IO时间,提高系统的整体效率。
冗余保护策略
多副本及纠删码是数据冗余保护策略中,较为重要的两项数据安全技术。多副本是通过多路读写的方式,将副本存放至不同存储节点的资源池内,实现数据冗余备份,通过副本对数据进行恢复,有效应对物理故障。即副本就是对原始数据的完全拷贝,有效地提高文件的可用性,避免在物理上分散的存储节点或硬盘由网络断开或机器故障等不可测因素而引起的数据丢失或不可获取。副本数量越多,文件的可靠性就越高,同时通过对多个副本的并行读取,进一步分散和平衡节点负载,提高文件读取的效率,提高系统的I/O性能。副本保护机制是目前业界安全性最高底层技术。
相对于副本校验的方式,纠删码技术不需要完整写入真实的数据副本,主要通过纠删码算法将原始数据进行编码,可实现存储空间高可用。其基本思想是指将K块原始的数据通过一定的计算,得M块编码块。对于这K+M个数据块,其中任意个数据块出现故障,可通过对应的重构算法将原始的K数据块进行恢复,提高了磁盘的整体利用率。
如图所示,采用纠删码方式的存储池是以 K+M 个数据块,来存储一个单一对象,其中分为 K 个数据块和 M 个编码块。首先,将一个纠删码存储池规划为3+2的配置形式,那么一个对象需要分别存储到五个 OSD 上,最多可以容忍其中两个丢失数据的风险( M = 2 )。
当包含 ABCDEFGHI 的对象 NYAN 被写入存储池时,纠删编码函数把内容分割为三个数据块,假设切割为分别包含 ABC 、 DEF 、和 GHI的三份 ,另外还会创建两个编码块:第四份是 YXY 、第五份是 GQC ,各个块分别存入 acting set 中的 OSD 内。这些块拥有相同的名字NYAN,但是位于存储节点不同的 OSD 上;分块顺序也会作为对象的一个属性存储起来。
从纠删码存储池中读取 NYAN 对象时,假设最先读取到的三个块是:包含 ABC 的块 1 ,包含 GHI 的块 3 和包含 YXY 的块 4 ,解码函数会立刻重建对象的原始内容 ABCDEFGHI 。即使我们说块 5 因为 OSD4 异常没有办法读取, 块2因为OSD2 读取较慢最后获取到,纠删码的机制下只需要有三块读出就可以立刻调用解码函数,即为纠删码技术针对数据保护环境下的高性能读写速度及数据安全性能。