失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 知识图谱数据库还有OLTP OLAP(MOLAP ROLAP HOLAP)的区别? 首个实时图数仓架构分析...

知识图谱数据库还有OLTP OLAP(MOLAP ROLAP HOLAP)的区别? 首个实时图数仓架构分析...

时间:2022-01-20 17:06:40

相关推荐

知识图谱数据库还有OLTP OLAP(MOLAP ROLAP HOLAP)的区别? 首个实时图数仓架构分析...

目录导读

数据库与数据仓库与数据湖泊的介绍图数据库与图数据仓库的区别图库发展与现状HOLAP(ROLAP+MOLAP)图数仓的优点HOLAP数仓数据摄入方式HOLAP数仓数据存储方式总结

最近,第一款面向大规模实时数据分析的HOLAP知识图谱数据仓库AbutionGraph发布了,同时也可以当作一款面向多种数据格式共同存储的数据湖系统(即湖仓一体架构),支持如图谱、时序数据、空间数据、文本、机器学习特征等,它们都是从图数仓中拆分出来基于HDFS的数据存储与管理子系统,在后续文章中会做介绍。以下篇幅内容均出自AbutionGraph的设计架构拆分。

既然是图谱数据仓库,那咱们先来了解一下:

数据库(Data Base)与数据仓库(Data Warehouse)与数据湖泊(Data Lake)的介绍

<数据库>一般指联机操作数据系统(Online Transaction Processing)OLTP定义:面向事务操作、数据增删改查,存储既定的历史数据。

<数据仓库>一般指联机分析处理系统(Online Analytical Processing)OLAP定义:面向分析、管理、决策、一般只进行读写操作的有组织的数据集合,可按时间区分数据。

<数据湖泊>一般指可以存储海量任意类型且有能管理这些数据能力的数据系统,我们熟知的HDFS就是一个很好的数据湖底座。

如定义所述,三者最主要的区别是用途不同,即面向的业务场景不同。一些经典热门的数据库的特性比较如下:

通过概念和表格对比之后,相信我们已经了解了数据库和数据仓库的区别,接下来将会很好区分图数据库和图数据仓库。

图数据库(Graph DataBase)与图数据仓库(Graph Data Warehouse)的区别

<图谱-数据库>是数据库的延伸,也指OLTP操作数据系统:在面向事务操作、数据增删改查,存储既定的历史数据的同时,可高效地管理大量关联数据,挖掘数据之间的深层关系。相当于给数据库中的每一条数据加上了实体和关系的数据结构,构成一个存储所有历史数据的“数据图谱”。

<图谱-数据仓库>是数据仓库+图数据库的延伸,也指OLAP分析处理系统:在面向分析、管理、决策的有组织的数据集合,可按时间区分数据,实时依据历史数据得出总结的同时,可高效地管理超大规模关联数据,挖掘数据之间的深层关系。相当于给知识图谱加了多维立方体“动效”,每一个实体/关系上的 每一个时间维度上的 每一个属性 都是“实时动态”在线更新的,决策者可以快速的得知事件的原因和动向,进行下一步动作。

我们从下表中看看都有那些不同:

图库发展与现状

图数据库是目前市场的应用主流,因为知识图谱技术还处于新兴领域,图库产品屈指可数,都属于OLTP系统,部分功能也相对落后,如:Neo4J与JanusGraph,这两款离线的图库占据了国内90%以上的市场,实时入库性能较好的TigerGraph,因其高昂的售价,多为大企使用。而在OLAP图数仓领域目前只有图特摩斯科技的AbutionGraph这一款产品,是一款HybridOLAP图库,在性能和各方面功能上,都做了很多颠覆性的图库技术。

鉴于知识图谱优秀的知识检索和推理能力,可广泛应用于智能问答、关系搜索、个性化推荐、欺诈检测、金融风控、军工情报、供应链管理、loT监控、企业画像、线上零售、医疗保健等场景。因图库产品的缺少,图技术认知不够,性能等各方面技术落后于工业场景的需求,知识图谱数据库的落地案例还很少。为了大力发展知识图谱技术,国家科技部也把“时序动态知识图谱技术”纳入到了2030年的重大人工智能技术发展目标中,“时序动态”其实是我们接下来章节中介绍的MOLAP架构,也是AbutionGraph中使用的架构之一,相信在未来实时图数据仓库会和实时数据仓库一样成为企业的硬核底座。

HybridOLAP(ROLAP+MOLAP)图数仓的优点

使用AbutionGraph作为OLAP服务的常见的应用场景包括:BI报表, 监控系统、用户行为分析、在线分析,特征分析, Ad-hoc, DataFlow, ETL等场景,绝大多数OLAP场景需要查询最近一段时间的数据(过去一分钟,过去三天,过去一周,过去一个月等) ,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。OLAP按存储的数据存储格式分为ROLAP、MOLAP和HOLAP,前两者都有明显的优缺点,面向的应用场景也有所不同,HOLAP则是ROLAP和MOLAP的混合形式。

AbutionGraph的存储形式即是采用了HOLAP这种混合模式。因为在图分析场景中,我们都会去计算节点的出度入度等指标,一个节点关联的邻居节点数量是非常多的,采用OLTP或者ROLAP的存储形式每次都计算一遍,对于一个百亿数据量的图谱,查询响应时间和资源消耗都是无法估量的,很容易资源不足而导致OOM异常,这种指标计算的场景则非常适合MOLAPpre-aggregate事件,只存放聚集值(count,sum等)大于某个最小支持度阈值的立方体单元。而对于MOLAP得出的报表结果,我们通常需要深入查看其中的每一条历史数据,即non-aggregate事件,这种需要得知历史事件的查询则是ROLAP的应用场景。在大规模的事件图谱中,任其一都无法及时满足复杂的业务需求,时序动态图库AbutionGraph结合了MOLAP与ROLAP两者的优点,使原本我们熟知的关系型“数据图谱”(OLTP)变成了多维度数据存储的“cube graph”(MOLAP)和可实时聚合的“动态图谱”(MOLAP)。

HOLAP数仓数据摄入方式

AbutionGraph与其它数仓类似,可以覆盖如下两种场景:

实时:数据流可以通过kafka/MQ或者flink实时处理之后,通过JDBC方式批量导入到AButionGraph中离线:数据落地HDFS ODS层,离线通过Spark或MR的batch形式批量导入到AButionGraph中

HOLAP数仓数据存储方式

HOLAP的数据模型是一个多维(group)立方体(cube)的存储模型,图谱中每个实体与每条关系都是一个cube,整个图谱就好比一个全视角的“宇宙星际”。

立方体(Cube):图谱中实体与关系下的360度多维度标签,是一个多维数组包含着groups。

维(Group):人们观察事物的视角,如时间、地理位置、年龄和性别等,是单一角度概念。

维的层次(Lever):表示维度概念基础上进一步的细分,如时间可以细分为年、季度、月三个层次。

维的成员(Member):表示维不可再细分的原子取值,即维中的属性集,如时间维10月的成员可以有出度、入度、对手集等(MOLAP),再如张某的基础属性维成员可以有age、name、occupation等(ROLAP)。

度量(Measure):表示在这个维成员上的取值,Count、Max、Sum、Cardinality、Last、TimeSeries、TopN....。

Ps:图片来源于网络

总结

传统的 OLAP 需要做各种 pipeline、ETL 导入数据,这样的架构会存储多份数据,冗余并且一致性不好保证,也引入过多的技术栈和复杂度,也不能满足实时分析,即使 mini-batch 的处理仍然需要最快数分钟。业界的趋势在于赋予 OLAP 高吞吐实时写,提供实时查询能力,例如上游数据源,经过流计算系统,老的架构基于 lambda,写历史数据到存储再清洗,实时数据入一些 NoSQL,使用方需要做各种数据源 merge 操作,流行的方式是流计算系统直接写 OLAP,这样避免了数据孤岛,保证了链路简单,图特摩斯科技的AbutionGDB正如阿里云团队提出的 HSAP (Hybrid Serving/Analytical Processing)这种理念。

OLAP 领域经历了从 RDBMS 建立起来的 SQL + OLAP,到 ETL + 专有 OLAP 的数仓,ROLAP,MOLAP,再到我们当前领先探索的Know-How + HOLAP 的知识图谱数仓阶段,将Know-How与OLAP两个前沿领域进行碰撞、融合,让OLAP/GraphDB突破传统,以更数智化的架构应对刁钻复杂的业务场景。

目前OLAP系统仍在不断演进,也正在被更多企业的高级场景所应用,从传统数仓到实时数仓架构的演进、数据中台的搭建..... 更多的大数据厂商、云厂商、人工智能厂商、数据治理厂商... 也在尝试进入这个领域,为知识图谱和数据仓库的解决方案带来更多的灵感与实际的好处。

出品 | 北京图特摩斯科技 ()

合作 |联系方式

试用 | 您有任何业务场景想要用到知识图谱都可以与我们联系 免费给您提供先进的且和以往不同的解决方案

技术交流群:

如果觉得《知识图谱数据库还有OLTP OLAP(MOLAP ROLAP HOLAP)的区别? 首个实时图数仓架构分析...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。