2.2.3 大数据关键技术
大数据关键技术包括分布式数据库技术、分布式存储技术、流计算技术和图数据库技术。
1. 分布式数据库技术
分布式数据库是指将物理上分散的多个数据库单元连接起来组成的逻辑上统一的数据库,其结构如图2-8所示。分布式数据库的数据在物理上是分布存储的,即数据存放在计算机网络上的不同节点(局部数据库),但数据之间在逻辑上有语义上的联系,属于一个系统。
图2-8 分布式数据库结构
分布式数据库系统由局部数据库管理系统、全局数据库管理系统、通信管理、全局数据字典和局部数据库组成。
1)局部数据库管理系统。局部数据库管理系统用于创建和管理局部数据库,执行局部和全局应用子查询。
2)全局数据库管理系统。全局数据库管理系统协调各局部数据库管理系统,共同完成全局事务的执行并保证全局数据库执行的正确性和全局数据的完整性。
3)通信管理。通信管理实现分布在网络中各个数据库之间的通信。
4)全局数据字典。全局数据字典存放全局概念模式。
5)局部数据库。局部数据库用于查询全局数据库信息。
随着各行业大数据应用对数据库需求不断提升,数据库技术面临数据的快速增长及系统规模的急剧扩大,不断对系统的可扩展性、可维护性提出更高要求。当前以结构化数据为主,结合空间、文本、时序、图等非结构化数据的融合数据分析成为用户的重要需求方向。同时随着大规模数据分析对算力要求的不断提升,需要充分发挥异构计算单元(如CPU、GPU、AI加速芯片)来满足应用对数据分析性能的要求。
分布式数据库的发展呈现与人工智能融合的趋势。一方面,基于人工智能进行自调优、自诊断、自愈和自运维,能够对不同场景提供智能化性能优化能力;另一方面,通过主流的数据库语言对接人工智能,有效降低人工智能使用门槛。此外,基于异构计算算力,分布式数据库能基于对不同CPU架构的调度进行结构化数据的处理,并基于对GPU、人工智能加速芯片的调度实现高维向量数据分析,提升数据库的性能与效能。
2. 分布式存储技术
分布式存储就是将数据分散存储到多个存储服务器上,并将这些分散的存储资源构成一个虚拟的存储设备,实际上数据分散地存储在企业的各个角落,其结构如图2-9所示。
图2-9 分布式存储结构
随着数据尤其是非结构化数据规模的快速增长,以及用户对大数据系统在可靠性、可用性、性能、运营成本等方面需求的提升,分布式架构逐步成为大数据存储的主流架构。
基于产业需求和技术发展,分布式存储主要呈现以下趋势。
1)基于硬件处理的分布式存储技术。目前大多数存储仍是使用传统硬盘,少数存储使用固态硬盘,或者传统硬盘+固态硬盘的模式,如何充分利用硬件来提升性能,推动分布式存储技术进一步发展是关键问题所在。
2)基于融合存储的分布式存储技术。针对现有存储系统对块存储、文件存储、对象存储、大数据存储的基本需求,提供一套系统支持多种协议融合,降低存储成本,提升上线速度。
3)与人工智能技术融合,例如基于人工智能技术实现对性能进行自动调优、对资源使用进行预测、对硬盘故障进行预判等,提升系统可靠性和运维效率,降低运维成本。
3. 流计算技术
很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据是静态数据。技术人员可以利用数据挖掘和在线分析处理(On-Line Analytical Processing,OLAP)工具从静态数据中找到对企业有价值的信息。静态数据的一般处理流程如图2-10所示。
图2-10 静态数据的一般处理流程
近年来,在Web应用、网络监控、传感器监测等领域,兴起了一种新的数据密集型应用——流数据,即数据以大量、快速、时变的流形式持续到达。
流计算是指实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息,如图2-11所示。
图2-11 流计算
对于一个流计算系统,它应达到如下需求:高性能、海量式、实时性、分布式、易用性、可靠性。
流计算常用于处理高速并发且时效性要求较高的大规模计算场景。流计算系统的关键是流计算引擎,目前流计算引擎主要具备以下特征:
1)支持流计算模型,能够对流式数据进行实时计算。
2)支持增量计算,可以对局部数据进行增量处理。
3)支持事件触发,能够实时对变化进行及时响应。
4)支持流量控制,避免因流量或高而导致崩溃或者性能降低等。
随着数据量的不断增加,流计算系统的使用日益广泛,同时传统的流计算平台和系统开始逐步出现一些不足。状态的一致性保障机制相对较弱,处理延迟相对较大,吞吐量受限等问题的出现,推动着流计算平台和系统向新的发展方向延伸,主要包括以下发展趋势。
1)更高的吞吐速率,以应对更加海量的流式数据。
2)更低的延迟,逐步实现亚秒级的延迟。
3)更加完备的流量控制机制,以应对更加复杂的流式数据情况
4)容错能力的提升,以较小的开销来应对各类问题和错误。
4. 图数据库技术
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。
图数据库并非指存储图片的数据库,而是以图这种数据结构存储和查询数据。
图数据库是一种在线数据库管理系统,具有处理图形数据模型的创建、读取、更新和删除操作。图数据库是利用图结构进行语义查询的数据库,其结构形式如图2-12所示。
图2-12 图数据库的结构形式
相比关系模型,图数据模型具有以下独特优势:
1)借助边的标签,能对具有复杂甚至任意结构的数据集进行建模;而使用关系模型,需要人工将数据集归化为一组表及它们之间的连接条件,才能保存原始结构的全部信息。
2)图模型能够非常有效地执行涉及数据实体之间多跳关系的复杂查询或分析,由于图模型用边来保存这类关系,因此只需要简单查找操作即可获得结果,具有显著性能优势。
3)相对于关系模型,图模型更加灵活,能够简便创建及动态转换数据,降低模式迁移成本。
4)图数据库擅于处理网状的复杂关系,在金融大数据、社交网络分析、安全防控及物流等领域有着更为广泛的应用。
在社交领域、零售领域、金融领域、汽车制造领域、电信领域及酒店领域等,都有很多著名的公司在使用图数据库。