什么是结构化数据?
结构化数据:指关系模型数据,即以关系数据库表形式管理的数据,结合到典型场景中更容易理解,比如企业ERP、OA、HR里的数据。
什么是非结构化数据?
非结构化数据:指数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。如word、pdf、ppt及各种格式的图片、视频等。
其实除了结构化数据和非结构化数据,还有一类是半结构化数据,那什么是半结构化数据?
什么是半结构数据?
半结构化数据:指非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、E-mail等;
数据类型和数据库类型有关系吗?
有一定关系。
关系型数据库一般存储结构化数据,而非关系型数据库则可以存储结构化或非结构化数据。
关系型数据库使用表格来存储数据,每个表格有预定义的列和行。这些列定义了数据类型和数据格式,使得数据能够被严格限制和规范化。因此,关系型数据库通常只适用于存储结构化数据。
相反,非关系型数据库可以存储各种类型的数据,包括结构化和非结构化数据。非关系型数据库可以使用键值对、文档、图形等不同的数据模型来存储数据。这种灵活性使得非关系型数据库更适合于存储非结构化数据。
因此,数据的结构化程度对于选择数据库类型是至关重要的考虑因素。如果您的数据是结构化的,那么关系型数据库可能是更好的选择;如果您的数据是非结构化的,那么非关系型数据库可能更适合。
延伸问题:要如何处理这三种异构数据?
1、针对多元结构化数据的融合,主要关注在数据的ETL处理以及时效性上:
①表结构不同,需要做到不同类型的字段映射
②假如要新增表字段的时候,需要新增列
③若有表字段需要进行二次处理规范,需要支持字段转换,比如公式或其他
④新增表设计时,需要保证三大范式,这里就不展开讲了,可参考:数据库三大范式
⑤数据同步的时效性,例如实时同步、半小时一次、或者一天一次、或者说是需要实时同步融合,这个要根据具体业务场景来确认。
2、针对半结构化、非结构化数据,因为数据分散,缺乏统一管理,需要借用专业工具
目前有两种方式来处理半结构、非结构化数据:
①提取半结构、非结构化数据中的关键信息,到结构化数据中进行二次利用,比较好处理的是半结构化(json、xml)、excel、csv,因为这种数据的结构比较统一。
②向word、PDF这种文件提取关键信息,假如是单个文本的话,市面上有些工具可能可以实现,但假如是大批量的话,可能就需要通过程序,去自定义一些正则表达式,去进行关键信息的提取。这种一般来说,因为格式不一致,以及用途不一致,所以程序自定义的比较多。
针对这种的话,会综合考虑数据价值和投入产出比,因为这部分的数据处理较为复杂。
若想提高投入产出比,可用例如FineDataLink这类专业工具,去支持结构化/半结构化数据的融合集成,面向ETL数据处理场景,也可以让数据编排更简单一些,提高数据的使用价值。
另外,如若这部分历史文件需要做到备份的话,会通过FTP或者SFTP将文件进行备份存储到文件服务器,进行文件业务分类、文件名、路径的统一管理,提供统一入口,通过权限管理的方式给到大家下载使用。
最后给大家分享一份大数据决策分析平台建设方案,最近在做数据管理方面的朋友可以看看。