图算法 | 3、图分析与数据科学

图分析(Graph Analytics)在本质上是对图数据的处理与分析,其过程可以概括为图计算。

而图计算的范畴不仅包含数据的计算或分析,还包含元数据管理、模式管理、数据建模、数据清洗、转换、加载、治理、图分析与计算等一系列操作。

或许我们用大数据生命周期来剖析图分析、图计算会有一个更全面的理解。下图所示的是大数据发展历程中通常会遇到的五大问题,依次是大数据存储、大数据治理、大数据计算与分析、大数据科学和大数据应用。

图2-5:大数据(图数据)的五大问题

上图中的大数据在很大程度上可以直接替换为图数据,毕竟图数据是大数据发展的必然趋势、终极阶段(图2-6)​。

图2-6 从关系型数据到图数据、深数据的发展趋势

我们解决图2-5中的五大问题的目的如下:

1)通过信息的关联化(高维、原生图)存储,采集更准确、更灵活、更能直观反映真实世界问题的数据,用于支撑决策。

2)通过图数据建模、血缘分析、数据核验、元数据管理等一系列数据治理工作来为科学的数据存储、计算与应用提供保障。

3)通过让信息更灵活、更透明、更实时化地被计算与分析,解锁大(图)数据的价值。

4)通过数据科学指导的图计算与关联分析,例如对风险传导的深度下钻与科学计量、对用户群体进行精细化产品、服务定位等,进行深度、复杂、白盒化(可解释)的数据分析及预测来提升决策准确率。

5)通过基于数据科学的应用与解决方案开发(高维建模、白盒化算法、决策与反馈机制)​,改善下一代产品、服务的开发。

图2-6中所示的数据发展趋势有两条主线和一个核心观点。

❑主线1:数据处理底层技术的核心发展趋势是从关系型数据到大数据直至深数据(图数据)​。

❑主线2:对应底层技术的面向数据的处理维度呈现了从点到线、由线及面再到体的由简入繁、自低维到高维、自低算力需求到高算力需求、自简单分析到复杂分析的一个自然发展过程。

❑核心观点:图计算的本质是复杂网络化计算,是与人类大脑工作最为贴切的逆向工程,图数据库相对于传统关系型或NoSQL数据库的效率与性能有指数级的提升。

我们以主线1为例简要展开论述。20世纪70年代至80年代是关系数据库发展的早期阶段,它迅速地占领了政企IT市场,其中的佼佼者有IBM Db2、Oracle、Sybase等。1983年是关系数据库发展的标志性年份,SQL(结构化查询语言)国际标准应运而生,作为关系数据库的通用查询语言,尽管各个厂家都有自己的特殊语法与功能实现,但大体上都会支持通用的SQL,以保证系统间通信、系统迁移、升级换代与维护等操作的便捷性。随着互联网,特别是移动互联网、云计算业务的兴起,大多数基于单机、小型机或集中式架构设计的关系数据库在面向海量数据、多样多维多模态异构数据处理时的缺陷开始体现得越来越明显,于是基于分布式架构理念设计的Hadoop、非关系数据库等阵营开始出现,大数据库处理与分析技术开始得到越来越多人的关注。在大数据发展的历程中,出现了多种类型的架构阵营,可以简单地梳理为如下几个阵营。

❑基于MapReduce理念的架构阵营:最为常见的是Hadoop阵营,以及基于内存加速的Spark项目。

❑基于NoSQL理念的非关系数据库阵营:包含多种数据库架构,如列数据库、宽表、KV、文档、时序、多模数据库以及图数据库等。

❑基于SQL接口,但对底层进行了扩充与增强的新型关系型数据库、数仓、数湖阵营:数量庞大的各种商业或开源关系数据库、MPP数仓、各类流批一体化数仓、实时数仓等。

需要指出的是,尽管出现了多个阵营,但是自1983年开始的以SQL为主流的趋势并没有因为大数据等架构的出现而产生实质变化,毕竟绝大多数的新型数据库与框架依然还在向SQL兼容。然而,这一切在2024年迎来一个实质性的转变。数据库查询语言将迎来第二个国际标准—GQL,即图查询语言(嬴图| ISO/IEC-GQL国际图语言标准发布,图技术开启新纪元_图数据库 国际标准-CSDN博客)。

换言之,Hadoop、Spark、NoSQL、数仓数湖尽管制造了无数的“噪声”​,但是并没有形成一整套国际标准—一个会推动全球IT生态自上而下革新的标准。这种革新从底层上要解决的是SQL与关系数据库在处理多维、多模态数据时的无力—无法深层、动态、灵活、高效地完成对数据的处理与分析,特别是对于复杂关联、深层递归形式的分析—SQL在语言设计层面就不具备这种能力,而关系数据库二维表结构的低维性让分析实时性的问题变得更加“不可能”​。事实上,SQL的这种低维性已经被诟病了很多年,但是在底层架构上一直没有本质的改变,尽管MapReduce等架构的出现让数据处理量大幅提升,但是并没有改变浅层数据处理的特征。换言之,几乎所有的分布式数据库只能面向浅层数据处理,任何深层数据处理依然会遇到效率低下、延迟巨大甚至错误求解的问题。而这一“不可能的任务”有望在图数据库的时代被解决。因为图数据库自下而上关注的是数据的关联关系,从建模、存储到数据治理再到数据计算与分析,以及数据查询与应用,它不再拘泥于关系数据库的表结构,不再受限于主键、外键,让数据建模更加灵活和高维,不再专注于浅层查询,也第一次让计算引擎成为数据库的一等公民,进而意味着在面向深层、复杂、动态、递归查询、分析与计算时的效率有指数级提升。这也是为什么我们会提出一个观点:图数据库是终极数据库,或最接近终极数据库的一种形态。

辩证地看待任何问题,我们需要意识到,无论是出于认知的局限性还是有意的误导,市场上很多所谓的图数据库在本质上都和图没有太大关系,它们都不具备对数据进行灵活建模、深度处理与分析、高效处理的能力,尽管它们都会毫无例外地宣称自己是高性能、分布式图数据库。这些以假乱真的图计算或图数据库产品有哪些特点呢?在此梳理如下几条线索以供读者迅速辨别真伪。

❑底层存储引擎基于NoSQL或RDBMS实现。这是典型的拿来主义,如此构建的非原生图不可能具有高性能处理能力,也没有灵活的数据建模的能力。其中,最典型的有基于HBase、Cassandra、ClickHouse、Hadoop甚至MySQL、PostgreSQL、Oracle实现。

❑计算引擎基于Spark GraphX或第三方“图上计算”引擎实现。以Spark GraphX为例,它仅仅是借用了图的名字而已,其数据加载与处理效率相对于Hadoop而言只提高了1~2个数量级,但是距离真正的高性能依然非常遥远,特别是面向实时数据时,Spark缺乏数据加载更新的能力,更缺乏深度下钻与分析的能力。

❑宣称可以同时支持多种图查询语言。例如,能同时支持OpenCypher与Gremlin可能意味着它对任何一种语言都没有极致的性能优化,因为数据库与查询语言是一一匹配的,而通用性则需要长时间的性能优化来实现。甚至还有的图数据库可以通过SQL来实现查询与分析,这基本就能断定该系统依旧是传统关系数据库,而且也无法支持图数据库所应该具有的任一优点—灵活性、高效性、深度下钻计算与分析能力。

❑一味鼓吹分布式、鼓吹万亿规模,但是却连一个百万量级的数据集都无法深度下钻与高效处理。图计算或图数据库面临的最大挑战并不在于数据存储,而在于计算,特别是复杂计算、深度计算与关联、灵活计算,这才是数仓数湖无法有效解决的。这种挑战有的时候不是通过100台低配服务器解决的,而是应该通过可能10台高配服务器来高效解决的—本质上我们是在回答一个问题:到底是100台1线程的大集群的计算能力高,还是10台10线程的小集群的计算能力高?答案是后者。然而大多数人都会回答错误,因为大多数人忽略了网络延迟与I/O对于分布式系统在数据关联计算时的降维打击。这就是算力引擎在图数据库中必须成为一等公民的最核心原因。所谓高性能计算绝不等于高性能存储,存得多并不意味着算得动。

❑基于开源项目或社区版项目包裹。基于开源尽管可以快速地出“成果”​,但对于底层代码却是失控的,因为极少有人能真正去吃透别人的底层代码,安全风险隐患无法得到有效控制。至于社区版,更是赤裸裸地对别人知识产权的侵犯,也意味着任何底层功能的改进都不可能实现(通常基于别家项目包裹的产品会出现宣称支持多种查询语言的情况,读者可自行甄别)​。

图2-7 数据科学与分析流程示意图

1)多源数据采集:多源、多维、多模态数据采集、ETL/ELT。

2)图数据建模:高维建模,设计并创建点、边Schema。

3)图数据存储与数据治理:数据持久化、元数据库管理、核验、血缘分析等。

4)图计算与分析:图查询逻辑与功能设计与实现(后文将展开讨论)​。

5)图算法与映射:图算法调用(通常作为图计算与分析的子集存在)​。

6)图谱管理与可视化:集成化、图谱化、可视化数据管理与展示,以及二次开发。

7)商务智能与决策:可看作包含以上所有步骤。

8)图应用与产品:可看作以上7条的超集。

以上可以看作大数据应用视角下图计算与分析结合数据科学的完整链路,涉及数据建模、存储与治理、计算与分析、算法与映射、二次开发与应用场景等核心功能模块。

提及数据科学与大数据分析,人们很自然地会联想到商业智能(Business Intelligence,BI)。BI使用统一的衡量标准来评估企业的过往绩效指标,并用于帮助制定后续的业务规划。常见的BI组件一般包括:

1)建立KPI(Key Performance Index,关键绩效指标)以明确面向所服务用户的功能目标。

2)多维数据的汇聚、去正则化、标记、标准化等。

3)实时报表生成、报警等。

4)处理结构化、简单数据集为主,而发展的趋势是集成越来越多源、复杂的数据集,并进行更深度的计量、下钻、关联分析。

5)集成统计学分析模块与概率模型模拟等功能。发展的趋势还包括集成AI、图嵌入算法等。

BI通常会在底层依赖某种数据处理(如ETL,数据抽取、转换、装载)架构,如数据仓库等。随着大数据技术的发展,BI系统正在越来越多地拥抱诸如内存计算(如IMDG数据库技术)​、实时图计算或图数据库等新事物,归根结底是为了更高的数据处理效率、更深的数据处理能力、更灵活的数据建模方式,以及对于真实业务挑战的更真实的还原方式,而图计算显然是一个可以同时满足以上限定条件的答案。

数据科学则可以通过科学的方法论来指导实现BI系统中的预测分析、数据挖掘等功能。数据科学使用统计分析、模式识别、机器学习、深度学习、图计算等技术,对获取到的数据中的信息形成推断及洞察力。相关方法包括回归分析、关联规则计算(如风险传导路径分析、链路分析、购物篮分析)​、优化技术和仿真(如蒙特卡罗仿真用于构建场景结果)​。

在BI系统的基础上,数据科学又可为其增添如下组件与功能:

❑结构化/非结构化数据、多种类型数据源、超大数据集。

❑优化模型、预测模型、预报、统计分析模型等。数据科学的发展从分析复杂度与价值两个维度看,可分为3种境界、5个阶段(图2-8)​。3种境界分别如下:

1)后知后觉—传统的BI,滞后的延时分析。

2)因地制宜—实时化分析。

3)未卜先知—预测性分析。

图2-8 数据科学的发展

图2-8所示的5个阶段与3种境界匹配关系如下:

❑后知后觉—描述性+诊断性

❑因地制宜—描述性+诊断性+指示性+(部分)预测性

❑未卜先知—描述性+诊断性+预测性+指示性+抢先式(基于预测的行动指南)

这5个阶段自上而下实现的复杂度越来越高,毕竟每向前一个阶段,所涵盖的阶段性能力就越完整,价值也越大,这也是为什么越来越多的企业、政府机构要把大数据科学驱动的大数据分析引入并应用到BI、智慧城市等广泛的领域中来。

与大数据处理与分析项目中通常需要多种角色类似,依托图计算技术,同样需要行业问题专家(Subject Matter Expert, SME)、数据分析专家、建模工程师、大数据系统专家等一众人才。区别在于,建模工程师需要摆脱传统的二维表思维束缚,掌握用图数据的高维建模,以及掌握如何进行高效的图分析,在什么场景下用何种图算法来实现更低的成本与更高的回报率。

数据科学属于典型的把多学科知识集于一身的实践,图2-9示意了这种融合。

1)行业经验:对垂直领域的深刻理解。

2)产品开发能力:能够将数学模型转换为可在图数据处理平台上运行的代码,还能设计、实现和部署统计模型和数据挖掘方法等,最终形成产品或解决方案。

3)数理统计知识:能够以数学、统计学模型、算法(如图算法、机器学习、深度学习等)来抽象业务需求与挑战。

图2-9 数据科学的融合

我们看到国内大量的银行只能把产品开发能力外包,原因在于业务人员缺乏开发能力,而那些号称有自研能力的大型银行,业务与科技部门也经常被各种问题困扰,其根本原因在于业务与科技之间没有融会贯通,缺少具备“三江交汇”式数据科学分析能力的专业人员。

数据科学是一个新兴的领域。数据分析专家负责为复杂的业务问题建模,运用业务洞察力找到新的商业机遇。对于这种能够从海量数据中提取有用信息,再从信息中提炼出具有高度概括性与指导意义的知识、智慧甚至转变为可以自动化智能(例如图增强智能或图AI)的新型人才,可以预见会受到来自市场越来越多的青睐。 

(文/Ricky - HPC高性能计算与存储专家、大数据专家、数据库专家及学者)

· END ·

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

66 mysql 的 表自增长锁

前言 mysql 的表锁之 AUTO_INC, 是我们自增长的时候做并发控制的锁 主要是用于 自增长生成新的 id 的时候的控制 在前面的文档中, 我们又看到 mysql 这边自增长的处理的相关的大概脉络 但是 对于一些 并发控制的细节, 我们当时 应该是直接忽略掉了 我们这里就来看一下…

GameFi的前景:游戏与金融的未来交汇点

随着区块链技术的迅速发展,GameFi(游戏金融)作为一种新兴的商业模式,正在重新定义游戏行业的未来。GameFi将游戏与去中心化金融(DeFi)结合,创造出一种全新的经济生态,吸引了大量玩家…

Vue 3 中 onUnload 和 onPageScroll 使用详解

Vue 3 中 onUnload 和 onPageScroll 使用详解 在 Vue 3 中,当我们开发微信小程序时,通常需要处理页面生命周期事件和页面滚动事件,比如页面卸载 (onUnload) 和页面滚动 (onPageScroll) 等。这些功能对优化用户体验、实现动态效果以及处理页面…

Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容)

Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容) 目录 Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容) 一、简单介绍 二、实现原理 三、注意事项 四、案例简单步…

Elasticsearch向量搜索:从语义搜索到图搜图只有一步之遥

续 上集说到语义搜索,这集接着玩一下图搜图,这种场景在电商中很常见——拍照搜商品。图搜图实现非常类似语义搜索,代码逻辑结构都很类似… 开搞 还是老地方modelscope找个Vision Transformer模型,这里选用vit-base-patch16-224…

HCIA笔记3--TCP-UDP-交换机工作原理

1. tcp协议 可靠的连接 1.1 报文格式 1.2 三次握手 1.3 四次挥手 为什么TIME_WAIT需要2MSL的等待时间? (a) 为了实现可靠的关闭 (b)为了让过期的报文在网络上消失 对于(a), 假设host发给server的last ack丢了。 ser…

docker搭建私有仓库,实现镜像的推送和拉取

1.拉取docker仓库镜像 docker pull registry 2.启动registry容器 docker run -d registry 3.查看当前仓库中存在的镜像(一) curl -XGET http://192.168.111.162: 5000/v2/_catalog 192.168.111.162 部署docker仓库宿主机的ip 5000 部署docker仓库映射到宿…

提取图片高频信息

提取图片高频信息 示例-输入: 示例-输出: 代码实现: import cv2 import numpy as npdef edge_calc(image):src cv2.GaussianBlur(image, (3, 3), 0)ddepth cv2.CV_16Sgray cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)grad_x cv2.Scharr(g…

kali安装过程中会遇到的问题和解决方法

在安装Kali Linux过程中,我们可能会遇到一些常见问题,这些问题及其解决方法如下: 1. 安装过程中卡住或停滞 问题描述: 安装过程卡在某一步,常见的如“Detecting hardware”或“Installing packages”阶段。 解决方法: 检查安装…

greater<>() 、less<>()及运算符 < 重载在排序和堆中的使用

简略图 greater<>()(a, b) a > b 返回true&#xff0c;反之返回false less<>()(a, b) a < b 返回true&#xff0c;反之返回false 在cmp中使用&#xff08;正着理解&#xff09; 规则返回true时a在前&#xff0c;反之b在前 在priority_queue中使用 &#xff…

助力企业解决降本增效的难题,Altair HPCWorks新功能创新升级

“IO一旦出现问题&#xff0c;整个计算效率会降低50%以上。License、昂贵的硬件、紧张的项目周期都会因此而卡顿&#xff0c;而HPCWorks可以帮助包括像英伟达这样的顶尖客户随时了解研发资源的实时情况和实时瓶颈。 —— Altair 企业计算部技术总监 王轶华 在2024年 Altair 技…

Java根据前端返回的字段名进行查询数据的方法

在Java后端开发中&#xff0c;根据前端返回的字段名动态查询数据库是一种常见的需求。这种需求通常通过使用反射和动态SQL来实现。下面是一个完整的代码示例&#xff0c;它展示了如何根据前端返回的字段名动态查询数据库中的数据。 一、根据前端返回的字段名动态查询数据库中的…

蓝桥杯每日真题 - 第20天

题目&#xff1a;&#xff08;机房&#xff09; 题目描述&#xff08;13届 C&CG题&#xff09; 解题思路&#xff1a; 这道题目可以看作在一个无向图中查找两点之间的最短路径。题目中的 n 台电脑和 n−1 根网线形成了一棵树&#xff0c;树是一个特殊的无向图&#xff0c…

【Python系列】浅析 Python 中的字典更新与应用场景

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

node.js、nginx、iis、tomcat针对部署方面的简述

了解 Node.js、Nginx、IIS 和 Tomcat 这些技术的部署方式及其应用场景&#xff0c;可以帮助你做出更合理的架构选择。下面是这些技术的简要讲解及它们在部署中的应用&#xff1a; 1. Node.js 部署 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境&#xff0c;广泛…

基于docker进行任意项目灵活发布

引言 不管是java还是python程序等&#xff0c;使用docker发布的优势有以下几点&#xff1a; 易于维护。直接docker命令进行管理&#xff0c;如docker stop、docker start等&#xff0c;快速方便无需各种进程查询关闭。环境隔离。项目代码任何依赖或设置都可以基本独立&#x…

【课堂笔记】隐私计算实训营第四期:“隐语”可信隐私计算开源框架

“隐语”可信隐私计算开源框架 隐语架构一览隐语架构拆解产品层算法层PSI/PIR数据分析&#xff08;Data Analysis&#xff09;联邦学习&#xff08;Federated Learning&#xff09; 计算层混合编译调度——RayFedSPUHEUTEEUYACL 资源层KUSCIA 互联互通跨域管控 隐语架构一览 隐…

Kubernetes的pod控制器

文章目录 一&#xff0c;什么是pod控制器二&#xff0c;pod控制器类型&#xff08;重点&#xff09;1.ReplicaSet2.Deployment3.DaemonSet4.StatefulSet5.Job6.Cronjob 三&#xff0c;pod与控制器的关系1.Deployment2.SatefulSet2.1StatefulSet组成2.2headless的由来2.3有状态服…

一文读懂埋阻埋容工艺

PCB 埋阻埋容工艺是一种在 PCB 板内部埋入电阻和电容的工艺。通常情况下&#xff0c; PCB 上电阻和电容都是通过贴片技术直接焊接在板面上的&#xff0c;而埋阻埋容工艺则将电 阻和电容嵌入到 PCB 板的内部层中&#xff0c;这种印制电路板,其自下而上依次包括第一介电 层,隐埋电…

QA|使用 MapleSim 模拟卷料生产 (Converting)和卷对卷系统 (R2R)

使用 MapleSim 模拟卷料生产 (Converting)和卷对卷系统 (R2R) 纸张、薄膜、塑料、金属箔、新能源电池和卷料生产设备 (converting equipment) 的制造商正在转向建模和仿真&#xff0c;以提升卷料处理的设备性能和产品质量。MapleSim 卷料处理库提供了专业的建模元件以及功能&a…