作者 | Raini
出品 | 图特摩斯(北京)科技有限公司
![[AbutionGraph] 大规模准实时动态时序知识图谱+AI平台_第1张图片](http://img.e-com-net.com/image/info8/74aabd5515084d2da58a995b4bbaf273.jpg)
AbutionGraph是什么?
AbutionGraph是一种能对历史和实时数据提供亚秒级别查询的多维图数据存储与分析平台。
AbutionGraph支持低延时的数据摄取,灵活的数据探索分析,高性能的数据聚合,简便的水平扩展。
高容错的架构在发生代码部署、机器故障以及其他产品系统遇到宕机等情况时,仍能够保持100%正常运行,适用于数据量大,可扩展能力要求高的分析型查询系统。
在通用性方面,AbutionGraph不仅仅是一个图数据库,由于其自身的列式存储设计,它同时可以做到兼容任何Hbase能做到的存储实现,加上它具有多维属性聚合的特性,也可以完全充当一个类似于Druid这样的数据仓库来使用。
它提供简易灵活的Java/Python编程查询语法,也提供功能强大的分布式restAPI以实现负载均衡的远程调用语句查询。
AbutionGraph 具备完善的工具链组件和大数据AI生态,打通了时下多种最热门的AI领域通用技术的对接壁垒,为使用知识维度才具有的特征属性来构建机器学习应用提供了便捷通道,也为知识存储赋予了更多的可能性。
AbutionGraph 支持在百亿大图的基础上,持续实时大吞吐的导入顶点和边。AbutionGraph 是一个分布式图形数据分析平台,也是一个时序数据库,提供毫秒级的关联关系查询能力(OLTP)与时间序列维度自动聚合能力,同时可与 Hadoop、Spark 等大数据平台无缝集成以进行离线分析(OLAP)。
AbutionGraph应用场景
随着5G和垂直行业的成熟商用,网络需要接入更多设备、处理海量数据、满足低时延业务需求,传统离线式图形数据库已不能很好满足新业务需求,而AbutionGraph可为5G下的物联网应用提供准实时的关联分析功能。帮助传统行业向大数据+AI转型,eg.银行、电信、保险、证券、法院、物流、财税、医疗、科技,在这些行业中存在超大量的联系型数据,可使用知识图谱技术来解释与表达,实现更智能化的业务管理,诸如:
- 风险预测
- 欺诈鉴别
- 运营监控
- 流失预警
- 传感监控
- 精准营销
- 智能推荐
- 新客挖掘
- 智慧城市
- 问答助手
- 点击流分析(web和移动分析)
- 供应链分析(制造指标)
- 数字营销/广告分析
- 商业智能/联机分析处理
在这些应用场景里,AbutionGraph与别的图形技术最大的区别是能提供不一样的见解,因其多维度实体与关系的设计,我们可以在一个节点上分别存储具有不同聚合区间的多个维度,每个维度将可以含有任意多的属性信息。AbutionGraph中的每个点和边可以同时作为计算和存储的并行处理单元,通过这种方式,图不再是静态的数据存储集合,而是一个大规模实时多维度聚合的并行处理引擎。这使得单一的图形属性变得易区分和表达更加丰富的内容。
AbutionGraph技术优势
AbutionGraph的核心架构结合了数据仓库,时间序列数据库和图形矩阵存储的创意,并加入大规模实时处理与计算架构,它的一些主要特点是:
- 列式的阵列存储格式。AbutionGraph底层使用列式数据存储,这与Apache Druid、Hbase很相似,在此基础上提供面向列的动态分布式维度数据存储模型存储,意味着它只需要加载特定的查询即可快速定位到所需的列,这为仅查看几列的查询提供了巨大的速度提升。在数据量不断庞大时,自动将数据图打散为很多的小图分散在集群中,以此来满足超大规模的图形存储要求的同时,不会因为图形不断变大而影响查询速度,此外,每列都针对其特定数据类型进行了优化,支持快速扫描和聚合。
- 可扩展的分布式系统。AbutionGraph通常部署在数十到数百台服务器的集群中,可以提供数百万条记录/秒的摄取率,保留数万亿条记录,以及亚秒级到几秒钟的查询延迟。
- 大规模并行处理。AbutionGraph可以在整个集群中并行处理查询。AbutionGraph进程类型都可以独立配置和扩展,从而在集群上提供最大的灵活性。这种设计还提供了增强的容错性,一个组件的中断不会立即影响其他组件。
- 实时或批量采集。AbutionGraph可以实时流式采集数据(采集的数据可立即用于查询)或批量采集。
- 自愈,自平衡,易于操作。作为运营商,要将群集扩展或缩小,只需添加或删除服务器,群集将在后台自动重新平衡,无需任何停机时间。如果任何AbutionGraph服务器发生故障,系统将自动绕过损坏路由,直到可以更换这些服务器。AbutionGraph旨在全天候运行,无需任何原因计划停机,包括配置更改和软件更新。
- 容错架构,不会丢失数据。一旦AbutionGraph采集了您的数据,副本就会安全地存储在HDFS文件系统中。即使所有AbutionGraph服务器都出现故障,您的数据也可以使用Schema来从深层存储中恢复。
- 用于快速过滤的索引。AbutionGraph使用Roaring压缩的bitmap索引来创建索引,这些索引可以跨多个列进行快速过滤和搜索,特别是对于一些时间聚合的维度,RoaringBitmap可以快速的检索到这些属性。
- 基于时间的分区。AbutionGraph首先按时间划分数据,并且可以基于其他字段进行额外划分。这意味着基于时间的查询将仅访问与查询的时间范围匹配的分区。这导致基于时间的数据的显着性能改进。
- 元素基数算法。AbutionGraph包括用于在任意的聚合实体与关系维度上运用近似count-distinct的算法,近似排序以及近似直方图和分位数的计算的算法。这些算法提供有限的内存使用,并且通常比精确计算快得多。对于精度比速度更重要的情况,AbutionGraph还提供精确的时间集合count-distinct以及精确的时间集合排序。
- 跨图-多图融合查询。AbutionGraph允许您对多个图同时查询,并执行图操作。
- 用户隔离。 AbutionGraph允许创建多个用户,每个用户只具有管理和查看自己创建的图的权限。
- 在采集时自动汇总。AbutionGraph可选择在采集时支持数据汇总。提前预聚合数据,可以节省大量存储成本并提高性能。
- 分布式集群缓存管理系统。在集群模式下,AbutionGraph可以对分布式Web图实例进行实时的资源使用率即负载率查看,以更清晰的可视化方式了解集群健康状况。
- 13大类60种图挖掘算法。在OLAP的场景中,AbutionGraph深度整合了Spark的图计算框架GraphX和GraphFrame,并基于此实现了一个包含50+前沿通用的图算法,涵盖13个技术领域(实体分类、实体聚类、图形粗化、社区划分、网络分层、最小生成树、重叠社区检测、最短路径计算、节点属性计算、关系属性计算、网络属性计算)的图算法库AbutionGCS,足以满足常规性分析需求。通常情况下,执行图形算法比较耗时和耗资源,智能的任务机制可以方便的查看图计算任务进度并进行任务管控。灵活的自定义算法使用多少集群资源,将有效的避免计算任务过重而抢占其它服务的资源。待图形算法运行完成后,AbutionGraph会自动将结果生成新图形保存回AbutionGraph中,也即可查询。
- 全AI生态框架集成。在已使用Spark作为大规模机器学习框架的前提下,您可以直接将AbutionGraph中的图形数据抽取到Spark DataFrame中,且不用关心元素维度属性是否已经聚合,AbutionGraph支持将已聚合的和未聚合的维度数据混合抽取到一个DataFrame中,您可以使用这些维度的属性作为机器学习特征进行模型训练。您也可以将图形数据送到BigDL、SparkML、Deeplearning4j中训练一些神经网络模型。而对于使用Python系的AI用户,我们可以使用AbutionGraph的PythonAPI将图形数据对接到TensorFlow、PyTorch等深度学习框架中。
AbutionGraph适合的技术需求
AbutionGraph适合于以下场景:
- 插入频繁,但很少更新。
- 大多数查询都是聚合和报告性质的查询(“group by”查询)以及搜索和扫描查询。
- 查询延迟要求为100毫秒到几秒。
- 数据中有一个时间属性(AbutionGraph包括具体与时间相关的优化和设计选择),期望做时间序列分析。
- 有多个业务图,希望做合并查询但不影响各自存储。
- 有高基数数据列(例如URL,用户ID),需要对它们进行快速计数和排名。
- 您希望从Flink(Kafka、MQ),HDFS,文件或对象存储中加载数据。
- 您希望使用图关系属性作为机器学习特征
- 您希望构建一个在线分析系统
- 您希望构建一个平台可能是:知识图谱+数据仓库、知识图谱+实时数据流、知识图谱+Spark、知识图谱+AI、知识图谱+实体与关系多维存储..
AbutionGraph不适用于以下场景:
- 需要使用主键对现有记录进行大规模低延迟更新。AbutionGraph支持流式插入,但不支持流式更新(支持少量更新),因为AbutionGraph是一个实时聚合图数据库,更新可能会比较难以控制属性的聚合方式,但是非聚合的实体或关系维度是可以批量更新的。
- 需要构建一个离线报告系统,其中查询延迟不是很重要。
- 你想做big joins(将一个超大事实表连接到另一个超大事实表),多图合并后运行几度邻居查询等,大规模跨图查询可能需要花费较长的时间。
AbutionGraph认知图谱分析平台架构
知识图谱(Knowledge Graph)的概念由谷歌2012 年正式提出,旨在实现更智能的搜索引擎,并且于2013 年以后开始在学术界和业界普及,作为人工智能技术的重要组成部分,并在智能问答、情报分析、反欺诈、个性化推荐等智能信息服务应用中发挥重要作用。知识图谱提技术提供了一种更好的组织、管理和理解互联网海量信息的能力,将互联网的信息表达成更接近于人类认知世界的形式,其本质上是一种叫做语义网络(Semantic Network)的知识库,即具有有向图结构的一个知识库,其中图的结点(Vertex)代表实体(Entity),而图的边代表实体之间的各种语义关系,比如说两个实体之间的相似关系。
现在大部分知识图谱平台还停留在数据图谱(将数据抽象成实体关系图)上,它仅仅是将每一条数据变换为一个不同的表现形式,历史数据依然是“无生命力”的存储在那。知识图谱不仅要有知识支撑,还应该基于知识生成知识,要了解我是谁,我维系着多少的人际关系,我的人脉阶层分布是怎样,每天/每周通话了多少人、时长统计各为多少等,这些知识是从数据图谱推理而来多维认知,从而把单一的数据维扩展为信息丰富的多维知识图谱,它是实时动态变化的图谱。AbutionGraph中的每个点和边可以同时作为计算和存储的并行处理单元。通过这种方式,图不再是静态的数据存储集合,而是一个大规模并行处理引擎。AbutionGraph通过充分利用多核CPU和内存计算,在每个点和边上执行并行计算,实时更新各个维度上的统计属性,真正做到从数据中推理认知。
目前知识图谱行业其实还处于一个高速发展的初期,但行业趋势是随着5G和垂直行业的成熟商用,网络需要接入更多设备、处理海量数据、满足低时延业务需求,传统离线式图形数据库已不能满足新业务需求。与其他一些新的图形数据库不同,AbutionGraph的侧重点旨在尽可能灵活且快速有效的构建分析平台上,提供通用的Paas服务能力,建设端到端的实时图形分析平台,而不是简单地将其作为应用程序生成数据的可伸缩持久层。
AbutionGraph具有多进程、分布式体系结构,从而与时下流行的众多大数据框架天然结合,被设计成知识图谱生态友好且易于操作的平台。
图特摩斯科技基于知识图谱的
智能认知中台
生态概览
AbutionGraph知识图谱的总体架构如图所示。整个架构图主要分为四个部分:
第一个部分是知识获取(获取层),主要阐述如何从非结构化、半结构化、以及结构化数据中获取知识。
第二部是数据融合(数据层),主要阐述如何将不同数据源获取的知识进行融合构建数据之间的关联。
第三部分是知识计算层(计算层),这一部分关注的是基于知识图谱的计算功能以及基于知识图谱的应用。
第四部分是知识应用层(能力层),这一部分讲述知识图谱的AI生态系统基于AbutionGraph提供的基础知识充分运用其能力而产生若干的行业领域应用。
AbutionGraph可以帮我解决哪些问题?
![[AbutionGraph] 大规模准实时动态时序知识图谱+AI平台_第3张图片](http://img.e-com-net.com/image/info8/236c22525cd148c8b100aadaeb9910e3.jpg)
文章来源:北京图特摩斯科技有限公司 (转载请注明)
官方网站:www.thutmose.cn
知识图谱与图挖掘技术QQ交流群2:529757057
![](http://img.e-com-net.com/image/info8/784f396dbddc4c37ba6741810ef39e1a.jpg)