数据量的激增、数据的井喷式增长,如今已成为不可否认的事实。根据IDC预测结果显示,年全球每天将会生成EB的数据。这些数据类型多种多样,尤其是移动互联网的多年发展,数据类型包含图片、视频等的形式。但存储数据的各个数据库却各自为政,无形之中给企业带来新的挑战。
因此,如何通过简单的操作方式便可调用多数据库的资源,并处理多种数据模型,成为当下最迫切的需求。尤其是利用湖仓一体架构解决多模数据的处理分析,就此成为一种新的趋势。
撰文
冯森编辑
昕然本文共计字,阅读需要3分钟
1
多模数据的发展需求
随着大数据、人工智能、物联网的迅速发展,数据呈现大规模、多样性的高速增长。为了满足这些海量数据的存储、计算与分析,传统的做法是平台提供十几个不同的数据库产品分别满足相应的需求。
但随着数据量的不断增多、数据类型的不断丰富以及应用系统的逐渐增加后,整体维护性和数据一致性管理成本大大增加,进而影响到整个系统的使用,因此,多样性的数据存储管理成为了数据库平台面临的一大挑战。
数据库多模(Multi-Model)是指在同一个数据库中,可以同时满足应用程序对于结构化、半结构化、非结构化数据的统一管理需求。为了实现业务数据的统一管理和数据融合,多模数据库需要具备多模式数据存储和管理能力。
一般来说,结构化数据特指由二维表结构来逻辑表达和实现的数据,典型应用是含有用户信息的交易型业务;而半结构化数据则在用户画像、物联网设备日志采集、应用点击流分析等场景中得到大规模使用;非结构化数据则对应着海量的GIS地理信息、图片、视频、和文档处理等业务。
为了应对复杂多变的业务需求,以及多模数据统一处理需求,我们可以采用数据湖作为底座统一存储多模数据,减少了数据分析中的搬迁,实现统一的数据管理。
2
多模数据的存储方案
1.多模数据的类型
多模数据的存储方案可以通过数据湖来实现,无论是结构化、半结构化还是非结构化数据,并且提供了统一的操作语言和多模型数据融合计算的能力,计算能力包括传统的关系运算、JSON、XML操作、空间计算、图计算、机器学习能力,并提供可扩展的并行计算能力。
(1)结构化数据
结构化数据的特点是结构固定,每一行的属性是相同的。如传统关系型数据库表中的数据,类似int、float、varchar。
(2)半结构化数据
半结构化数据是一种自描述结构,它包含相关标记用来分隔语义元素及对记录和字段进行分层,如JSON、XML等。
(3)非结构化数据
非结构化数据即没有固定结构的数据,如GIS,文档、图、图片、音频/视频,时序数据等。
2.数据湖特点
数据湖具有以下特点:
(1)统一的数据管理
数据湖提供完善的数据管理能力。数据湖中会存在两类数据:原始数据和处理后的数据。数据湖中的数据会不断的积累、演化,因此包含以下数据管理能力:数据源、数据连接、数据格式、数据schema(库/表/列/行)。同时,数据湖是单个企业中统一的数据存放场所,因此,还具有一定的权限管理能力。
(2)丰富的计算引擎
提供从批处理、流式计算、交互式分析到机器学习等各类计算引擎。一般情况下,数据的加载、转换、处理会使用批处理计算引擎;需要实时计算的部分,会使用流式计算引擎;对于一些探索式的分析场景,可能又需要引入交互式分析引擎。随着大数据技术与人工智能技术的结合越来越紧密,各类机器学习/深度学习算法也被不断引入,可以支持从HDFS/S3上读取样本数据进行训练。因此,数据湖解决方案提供计算引擎的可扩展/可插拔。
(3)多模数据的存储引擎
数据湖本身内置多模态的存储引擎,以满足不同的应用对于数据访问需求(综合考虑响应时间/并发/访问频次/成本等因素)。但是,在实际的使用过程中,为了达到可接受的性价比,数据湖解决方案提供可插拔式存储框架,支持的类型有HDFS/S3等,并且在必要时还可以与外置存储引擎协同工作,满足多样化的应用需求。同时数据湖支持存储结构化、半结构化、非结构化数据能力。
图1多模数据存储方案
3
多模数据的分析方法
在实际业务场景下,数据的移动和访问,搜索引擎服务、机器学习服务、大数据分析服务都涉及到数据在本地(本系统)和数据湖之间的移动,以及数据在不同服务之间的移动。
把多模数据集成起来只是第一步,还要把多模数据的分析变成一个整体,以Amazon智能湖仓架构为例,这套架构以数据湖为中心,把数据湖作为中央存储库,再围绕数据湖建立专用“数据服务环”,环上的分析服务包括了数仓、机器学习、大数据处理、日志分析,甚至RDS和NOSQL服务等等。
图2Amazon智能湖仓架构
数据湖可以存储、访问和处理不同类型的数据,执行各种任务。借助多模数据库,企业可以将各种类型的数据和模型整合到同一解决方案中,无需针对每种用途采用单独的技术。
相比针对每种用途采用单独的技术,统一的集成式解决方案套件更具优势。如果只是简单地将不同的技术拼凑起来,会产生数据孤岛,损害企业的敏捷性和创新能力,而统一的多模数据平台可以帮助解决这些问题。
多模数据库的多模式数据管理能力,使得数据库能够进行跨部门、跨业务的数据统一存储与管理,实现多业务数据融合,支撑多样化的应用服务。在架构上,数据库使用一套数据管理体系可以支撑多种数据类型及多种业务模式,大大降低使用和运维的成本。
4
总结
数据库系统的演进经历了从最早的关系型数据库OLTP到半结构化,再到分析型数据库OLAP等非结构化的数据库,现在又催生出一种新的主流方向——多模数据存储。
多模数据存储分析使用数据湖方案,可以使割裂的数据完成融合统一,减少数据分析中的搬迁,实现了统一的数据管理,有利于发现更多的数据价值。
对企业来说,未来更多智能业务将基于计算机视觉、语音和文本挖掘的ML/AI,FastData可用于存储、优化、分析和访问多种新数据应用所需的数据类型。FastData提供端到端的数据能力,使得包括数据科学、机器学习以及SQL分析在内的多种差距很大的应用,采用统一的数据存储和调度执行方案。
FastDataSQL对多维度数据的支持,更进一步屏蔽了许多繁琐的非结构化数据处理过程,极大提升数据处理的体验。
关于湖仓一体架构和多模数据存储和分析的内容,后续我们还会有详细的内容探讨,欢迎加入技术交流群进行交流。