知识图谱数据库还有OLTP、OLAP的区别?首个实时图数仓架构分析
目录导读
数据库与数据仓库与数据湖泊的介绍
图数据库与图数据仓库的区别
图库发展与现状
HOLAP(ROLAP+MOLAP)图数仓的优点
HOLAP数仓数据摄入方式
HOLAP数仓数据存储方式
总结
最近,第一款面向大规模实时数据分析的HOLAP知识图谱数据仓库AbutionGraph发布了,同时也可以当作一款面向多种数据格式共同存储的数据湖系统(即湖仓一体架构),支持如图谱、时序数据、空间数据、文本、机器学习特征等,它们都是从图数仓中拆分出来基于HDFS的数据存储与管理子系统,在后续文章中会做介绍。以下篇幅内容均出自AbutionGraph的设计架构拆分。
既然是图谱数据仓库,那咱们先来了解一下:
一数据库(Data Base)与数据仓库(Data Warehouse)与数据湖泊(Data Lake)的介绍<数据库>一般指联机操作数据系统(Online Transaction Processing)OLTP定义:面向事务操作、数据增删改查,存储既定的历史数据。
<数据仓库>一般指联机分析处理系统(Online Analytical Processing)OLAP定义:面向分析、管理、决策、一般只进行读写操作的有组织的数据集合,可按时间区分数据。
<数据湖泊>一般指可以存储海量任意类型且有能管理这些数据能力的数据系统,我们熟知的HDFS就是一个很好的数据湖底座。
如定义所述,三者最主要的区别是用途不同,即面向的业务场景不同。一些经典热门的数据库的特性比较如下:
特征\产品 | 数据库(OLTP) | 数据仓库(OLAP) |
离线 | MySQL、Oracle | Apache Hive/Presto |
实时 | Hbase、Tikv | Apache Druid/Kylin |
用户 | 初级的 | 决策者/高级的 |
功能 | 基本查询 | 分析决策 |
架构 | 面向应用 | 面向主题 |
数据 | 当前的,二维的 | 历史的,多维的 |
存取 | 百千条 | 上百万条 |
场景 | 简单事务 | 复杂查询 |
用户数 | 上千个 | 上百万个 |
数据量 | MB ~ GB | GB、TD、PB、EB |
通过概念和表格对比之后,相信我们已经了解了数据库和数据仓库的区别,接下来将会很好区分图数据库和图数据仓库。
二图数据库(Graph DataBase)与图数据仓库(Graph Data Warehouse)的区别<图谱-数据库>是数据库的延伸,也指OLTP操作数据系统:在面向事务操作、数据增删改查,存储既定的历史数据的同时,可高效地管理大量关联数据,挖掘数据之间的深层关系。相当于给数据库中的每一条数据加上了实体和关系的数据结构,构成一个存储所有历史数据的“数据图谱”。
<图谱-数据仓库>是数据仓库+图数据库的延伸,也指OLAP分析处理系统:在面向分析、管理、决策的有组织的数据集合,可按时间区分数据,实时依据历史数据得出总结的同时,可高效地管理超大规模关联数据,挖掘数据之间的深层关系。相当于给知识图谱加了多维立方体“动效”,每一个实体/关系上的 每一个时间维度上的 每一个属性 都是“实时动态”在线更新的,决策者可以快速的得知事件的原因和动向,进行下一步动作。
我们从下表中看看都有那些不同:
特征\产品 | 图数据库(OLTP) | 图数据仓库(OLAP) |
离线 | Neo4J、JanusGraph | 无 |
实时 | TigerGraph | AbutionGraph(唯一) |
用户 | 初级的 | 决策者/高级的 |
功能 | 基本查询 | 分析决策 |
架构 | 面向应用 | 面向主题 |
数据 | 当前的,二维的 | 历史的,多维的 |
存取 | 读取10条记录 | 读取上百万条 |
场景 | 简单事务 | 复杂查询 |
用户数 | 上千个 | 上百万个 |
数据量 | MB ~ GB | GB、TD、PB、EB |
聚合响应 | 秒~次天 | 亚秒~秒 |
图数据库是目前市场的应用主流,因为知识图谱技术还处于新兴领域,图库产品屈指可数,都属于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的混合形式。
种类\介绍 | 介绍 | 产品 | 优点 | 缺点 |
MOLAP (Multi-dimensional) | 以多维数组(Multi-dim Array)为存储模型的OLAP 特点:数据预计算(pre-computaion),然后把预计算结果(cube)存在多维数组里 | Apache Druid Apache Kylin | cube包含所有维度的聚合(aggregate)结果,所以查询速度非常快 相对关系型数据库,计算结果数据的磁盘空间占用更小,扩展性强,适用于维度数量多的模型 | 对于维度多的模型预计算慢,空间占用大。update cube的时间跟计算维度(group)相关,随着维度增加计算时间大幅增加,此外预计算还会造成数据库占用急剧膨胀。需要提前设计维度模型,查询分析的内容仅限于这些指定维度,增加维度需要重新计算 |
ROLAP (Relational) | 基于关系模型存放数据,一般要求事实表(fact table)和维度表(dimensition table)按一定关系设计,它不需要预计算,使用标准SQL查询不同维度数据 | Apache Hive ClickHouse SparkSQL Impala Greeplum Presto | 更适合处理non-aggregate数据,例如文本描述 基于row数据更容易做权限管理 | 因为是即时计算,查询响应时间一般比预计算的MOLAP长 |
HybridOLAP | MOLAP和ROLAP类型的混合运用 细节的数据以ROLAP的形式存放,更加方便灵活,而高度聚合的数据以MOLAP的形式展现 | Thutmose AbutionGraph | 更适合于高效的分析处理。公司使用HOLAP的目的是根据不同场景来利用不同OLAP的特性 |
AbutionGraph与其它数仓类似,可以覆盖如下两种场景:
实时:数据流可以通过kafka/MQ或者flink实时处理之后,通过JDBC方式批量导入到AButionGraph中
离线:数据落地HDFS ODS层,离线通过Spark或MR的batch形式批量导入到AButionGraph中
HOLAP的数据模型是一个多维(group)立方体(cube)的存储模型,图谱中每个实体与每条关系都是一个cube,整个图谱就好比一个全视角的“宇宙星际”。
立方体(Cube):图谱中实体与关系下的360度多维度标签,是一个多维数组包含着groups。
维(Group):人们观察事物的视角,如时间、地理位置、年龄和性别等,是单一角度概念。
维的层次(Lever):表示维度概念基础上进一步的细分,如时间可以细分为年、季度、月三个层次。
维的成员(Member):表示维不可再细分的原子取值,即维中的属性集,如时间维2020年10月的成员可以有出度、入度、对手集等(MOLAP),再如张某的基础属性维成员可以有age、name、occupation等(ROLAP)。
度量(Measure):表示在这个维成员上的取值,Count、Max、Sum、Cardinality、Last、TimeSeries、TopN....。
Ps:图片来源于网络
HOLAP知识图谱数据的发展
总结传统的 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系统仍在不断演进,也正在被更多企业的高级场景所应用,从传统数仓到实时数仓架构的演进、数据中台的搭建..... 更多的大数据厂商、云厂商、人工智能厂商、数据治理厂商... 也在尝试进入这个领域,为知识图谱和数据仓库的解决方案带来更多的灵感与实际的好处。
作者简介:
作者:北京图特摩斯科技CEO 闭雨哲
邮箱:biyuzhe@thutmose.cn(欢迎大家加入数据工匠知识星球获取更多资讯。)
联系我们
扫描二维码关注我们
微信:DaasCai
邮箱:ccjiu@163.com
QQ:2286075659
热门文章
数据架构是打通数据金山“最后一公里”的必由之路
【新书推荐】《数据中台架构——企业数据化最佳实践》(文后有福利)
系列 | 漫谈数仓第一篇NO.1 『基础架构』
系列 | 漫谈数仓第二篇NO.2 数据模型(维度建模)
系列 | 漫谈数仓第三篇NO.3 『数据魔法』ETL
系列 | 漫谈数仓第四篇NO.4 『数据应用』(BI&OLAP)
数据仓库系列:如何优雅地规划数仓体系
数据仓库系列:初识数仓
数据模型最终都为业务而生
数据仓库、数据集市、数据湖、数据中台到底有什么区别?都得做吗?
数据仓库发展、架构与趋势
数据仓库系列-数据仓库建设过程的8个建议
辨析BI、数据仓库、数据湖和数据中台内涵及差异点(建议收藏)
我们的使命:发展数据治理行业、普及数据治理知识、改变企业数据管理现状、提高企业数据质量、推动企业走进大数据时代。
我们的愿景:打造数据治理专家、数据治理平台、数据治理生态圈。
我们的价值观:凝聚行业力量、打造数据治理全链条平台、改变数据治理生态圈。
了解更多精彩内容
长按,识别二维码,关注我们吧!
数据工匠俱乐部
微信号:zgsjgjjlb
专注数据治理,推动大数据发展。