大数据概念兴起的同时也带热了非结构化数据分析。传说一个企业中80%的数据都是非结构化数据,如果按占据空间来算,这个比例大体不假,毕竟音视频这类数据真地很大。有这么大的数据量,需要进行分析是很自然的事了,而要分析当然就要有相应的技术手段了。
那为什么说非结构化数据分析技术是忽悠呢?
不存在通用的非结构化数据计算技术
非结构化数据五花八门,有声音图像、文本网页、办公文档、设备日志、….;每类数据的都有各自的计算处理手段,比如语音识别、图像比对、文本搜索、图结构计算等等,但是并不存在一种适用于所有非结构化数据的通用计算技术。语音识别的方法不能用于图像比对、文本搜索和图结构计算也扯不上关系。
一个厂商如果擅长某种技术,那一定会直接宣称自己专业于该领域,而不会泛泛地说自己精于非结构化数据分析。比如人脸识别做得非常精准、或是文本敏感词挖掘的专业公司,显然这样更容易定位用户和应用场景。如果一家公司只说自己擅长非结构化数据分析而不指明具体的领域,那就不知道到底能做些什么了。
面向非结构化数据的通用技术只是存储
虽然许多专业技术领域都可以归类为对非结构化数据的处理,但总体应用范围并不广泛,大多数用户还用不上这些专门技术,而只是需要把这些数据存储下来。非结构化数据没有通用的分析计算技术,但存储和相应的管理(增删检索等)是可以通用化的。非结构化数据占据的空间较大,经常需要不同于结构化数据的特殊存储手段。
不过,如果不是数据量特别大,或者有高并发的检索需求,大多数的网络文件系统(如HDFS)已经能够胜任存储和访问需求。厂家如果只喊能做非结构化数据的存储和基本管理,那会显得没什么技术含量。所以这些厂商会不遗余力地往分析上靠,但没有实质东西。而能提供大容量高性能的访问的专业存储厂商却只会喊存储,而不会刻意提及分析。
通用分析技术在于相伴产生的结构化数据
采集非结构化数据的同时,常常会伴随着采集许多相关的结构化数据,比如音视频的制作人、制作时间、所属类别、时长、…;有些非结构化数据经过处理后也会转变成结构化数据,比如网页日志中拆解出访问人IP、访问时刻、关键搜索词等。所谓的非结构化数据分析,经常实际上是针对这些伴生而出的结构化数据,这个领域有不少较为成熟的通用计算技术(比如关系代数和关系数据库)。
但现在只喊结构化数据显得不够时髦,为了吸引用户,就要把本质上的结构化数据分析说成是非结构化数据分析了。
作为需求方的用户,这时候需要清楚地知道到底要对这些数据做什么处理。如果只是简单存储,那上个HDFS这类开源网络文件系统就够了;如果有高性能访问需求,那要找专业的存储厂商;如果其实要分析的是伴生出来的结构化数据,那就是已经熟悉的数据库类业务了;如果真有特定的处理需求,那也是找专门领域的厂商和技术。总之,不要泛泛地只说需要非结构化数据分析。