时序(流式)图谱数据仓库AbutionGraph功能介绍-Streaming Graph OLAM Database
AbutionGraph是一款端到端的流式数据实时分析的图谱数据库,实时(流式写入实时、高QPS决策分析实时、流式预处理实时)表现在:
- 构建实时查询QPS响应时长与历史数据量无关的图模型;
- 接入流式数据并实时更新图计算指标;
- 实时查询历史和时序窗口聚合的数据。
AbutionGraph具有多种数据库的特性,除传统图谱数据存储模型外,Abution的目标是以足够低的延迟(亚秒级)来服务大规模图谱数据(达BP级)的实时决策分析。 AbutionGraph特别适用于业务指标系统建设、实时交互式数据分析、可视化大屏展现、IOT流式数据监测、拓扑数据动态行为计算、相同点边id的数据根据标签分类管理等等。 AbutionGraph使用Java/C++开发,支持Aremlin、Gremlin、GraphQL查询语法,并支持与Java进行混合编程开发和Python API。
AbutionGraph特性:
分布式企业级图数据库,提供图数据的实时-存储、查询和OLAP分析能力,主要面向对局部数据的海量并发查询和全量数据的实时在线计算/更新/监控。
用于大数据量高吞吐率和低延迟的同时,实时反馈数据态势变化(异常)情况,保障决策分析业务7*24小时在线运行。
支持功能 | AbutionGraph | Neo4j | TigerGraph |
---|---|---|---|
分布式 | √ | X | √ |
RDF图模型 | √ | X | X |
属性图模型 | √ | √ | √ |
实时增删查改 | √ | √ | √ |
TB级大容量 | √ | √ | √ |
高性能批量导入 | √ | √ | √ |
点边检索、全文检索 | √ | √ | √ |
千万顶点/秒的高吞吐率 | √ | √ | √ |
对接流式数据源、关系型数据源 | √ | √ | √ |
图分析算法 | √ | √ | √ |
高可用性支持 | √ | √ | √ |
图谱可视化工具 | √ | √ | √ |
读写任务内高效并行存储) | √ | √ | √ |
在线/离线、全量/增量的备份恢复 | √ | √ | √ |
多图(大图与多个子图) | √ | √ | √ |
丰富的离线图算法 | √ | √ | √ |
- | - | - | |
单独删除点边(支持独立点/边存储) | √ | X | X |
动态新增/隐藏字段 | √ | X | X |
时间窗口计算(流式数据库的标志特性) | √ | X | X |
实时大数据流式图 存储/计算/更新 | √ | X | X |
多重/多维图关系(每对点间都允许多种不同标签的边共存) | √ | X | X |
多重/多维图实体(每个点上都允许多种不同标签的点共存) | √ | X | X |
动图-时序关系聚合(根据年月日等时间窗口-自动合并边属性) | √ | X | X |
动图-时序实体聚合(根据年月日等时间窗口-自动合并点属性) | √ | X | X |
导出图数据到大数据平台继续计算(Spark/Flink/Hadoop等。 对接AI算法作为特征工程库,实时更新模型指标,实时取用) | √ | X | X |
子图隔离(原子级用户权限管理) | √ | X | X |
分布式图实例 | √ | X | X |
节点模糊查询 | √ | X | X |
自定义节点类型 | √ | X | X |
图数据库专家支持服务 | √ | X | X |
AbutionGraph适用:
- 交互式数据分析
希望快速从大规模历史数据中得出统计分析报告用于决策,数据探索-秒内响应、年月日时间窗口分析-秒内响应等。 - 流式数据监控
希望从实时源源不断产生数据的iot/应用程序中立即反映趋势,态势感知、实时聚合计算、时序指标变化规律等。 - 多维数据管理
希望将同一个id-人身份证等,绑定上工商/税务/车房产/银行/通话等不同结构的数据,并通过设定标签识别类别数据,实现高效管理与查询。 - 图谱关联计算
希望导入的实体与关系自动实现关联,而不是明确“点表/边表”必须一一具备,允许孤立点。此外,希望自动汇总一跳邻居节点信息如:出度入度、基数统计、百分位数等,实现复杂关联指标的即席查询。 - 子图隔离
希望在一个图谱中实现不同用户导入的数据仅自己可见,或授权可见,很适用于公安、政府、跨部门、多用户协作等场景。
及一切希望在亚秒实现关联数据分析的场景 - 执行查询即所得、数据写入即见变化,类似于Kafka、Flink、Kylin等系统,不过Abuion旨在关联计算上弥补缺陷,所以它更擅长处理关联分析问题,且比传统图数据库更节省计算资源和响应时间。 视频介绍
Abution GraphInstance
GraphInstance是连接到一个AbutionGraph的操作,是执行查询语句的入口。相当于传统数据库连接,您可以使用g.*.exec(user)去执行一系列的图查询。
- 图实例有3种使用方式:
- Graph - 本地图实例连接,用于生产环境,只能在装有Abution的节点运行,可运行所有功能;
- TmpGraph - 临时图实例连接,用于代码测试,无需部署Abution,数据即存即删,是一个临时内存图,算法功能不可用;
- MemoryGraph- 分布式缓存图实例连接,该阶段还是实验性的,未经大规模项目验证;
- RemoteGraph - 远程图实例连接,用于远程代码调试,IDEA中提交代码至服务器运行,UDF能力请使用Graph实例运行。
1)Graph实例
Graph graph = G.Graph("graphId").schema(schema).build();g.addOrUpdate(); //保存元数据Graph graph = G.GetGraph("graphId"); //从已有图谱中快速初始化图实例
注意:
graphId、schema是必须提交的参数。
addOrUpdate为更新和保存元数据。
2)TmpGraph实例
TmpGraph实例采用java缓存保存数据,并不会持久化数据,当程序运行结束,数据将在内存中被清空,占用内存也随之释放。此实例本意是方便开发调试,并不适用于大规模数据。
Graph graph = G.TmpGraph(schema);
Ps:临时初始化实例无需数据库配置参数,只需schema定义,不走数据库,只使用缓存,程序停止数据即清空。因为是临时图存储,复杂的生产场景一般不用,所以一些算法功能没有单独开发出来。
3)MemoryGraph实例
MemoryGraph实例采用分布式缓存作为数据持久化层,开启集群后将使用联邦集群的可用内存作为图数据存储,您可以在集群本地运行测试程序,也可以通过ip端口远程验证您的逻辑代码。当您关闭AbutionGraph集群后,数据将在内存中被清空,占用内存也随之释放。
3个必填参数(图谱名称、Schema、远程服务器端口)
Graph g = G.MemoryGraph("tgMemory1", schema, "127.0.0.1:5701");
// 保存元数据,以便可视化实时可见
g.addOrUpdate();
4)远程/跨集群连接图实例
此功能允许在任何网络连通的机器使用AbutionGDB中的数据,无需在开发者本地部署AbutionGraph,前提是已开启AbutionGRS数据中台服务,你可以直接在IDEA中编写代码,读取本地数据,使用远程服务器运行你的代码,返回的结果数据就像是本地的Java对象一样。
Graph graph = G.GraphProxy.Builder()//.graphId("testGraph") //可选参数,不填写则做多图知识融合查询.host("thutmose-aliyun") //改成数据库服务器ip.port(9090).contextRoot("rest").build();
GraphProxy在数据整合、数据迁移和项目开发调试阶段非常有用,如在IDEA中即可连接到云端服务并调试,它使大数据工程师的本地代码得以在云端运行,我们在未来的版本中会不断升级它,使图数据库更具有云服务的特性。 注意:此功能为定制化业务平台专用,为方便代码调试,算法功能不可用。
相关文章:

时序(流式)图谱数据仓库AbutionGraph功能介绍-Streaming Graph OLAM Database
AbutionGraph是一款端到端的流式数据实时分析的图谱数据库,实时(流式写入实时、高QPS决策分析实时、流式预处理实时)表现在: 构建实时查询QPS响应时长与历史数据量无关的图模型;接入流式数据并实时更新图计算指标&…...

windows实现Grafana+Loki+loki4j轻量级日志系统,告别沉重的ELK
文章目录 Loki下载Loki下载安装Loki添加Loki数据源springboot日志推送 Loki下载 下载地址:https://github.com/grafana/loki/releases/ 找到loki-windows-amd64.exe.zip点击开始下载,我这里下载的2.9.9版本 Loki下载 下载地址:https://gr…...

跟《经济学人》学英文:2024年06月01日这期 The side-effects of the TikTok tussle
The side-effects of the TikTok tussle tussle:美 [ˈtəsəl] 激烈扭打;争夺 注意发音 side-effects:副作用;(side-effect的复数) As the app’s future hangs in the balance, the ramifications of …...
Ubuntu安装PostgreSQL
Ubuntu(在线版) 更新软件源 sudo apt-get update 添加PostgreSQL官方数字签名 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo "deb http://apt.postgresql.org/pub/repos/a…...
【HarmonyOS NEXT】鸿蒙如何让List组件不满一屏时,还要能滑动和回弹
当List组件不满一屏时,还要能滑动和回弹,就向系统设置 - 移动网络 页面一样 List设置如下属性: .edgeEffect(EdgeEffect.Spring, {alwaysEnabled: true}) edgeEffect edgeEffect(value: EdgeEffect, options?: EdgeEffectOptions) 设置边缘滑动效果。…...
JDK-SPI-服务提供者接口
归档 GitHub: JDK-SPI-服务提供者接口 SPI 源码说明 java.util.ServiceLoader /*** 服务加载器:给定接口,查找实现类。实现可迭代接口 */ public final class ServiceLoader<S> implements Iterable<S> {/*** 返回 ServiceLoader 实例 *…...

【docker】容器内配置环境变量
背景: 我要把下面的环境变量写到bash脚本里,起名叫environment_start.sh。 目的: 用于每次进入容器dev_into.sh的时候,让系统获取到环境变量。 操作步骤: 先在容器外找个合适的位置写环境变量bash脚本,…...
Java 乐观锁与悲观锁
1. 前言 本节内容主要是对 Java 乐观锁与悲观锁进行更加深入的讲解,本节内容更加偏重于对乐观锁的讲解,因为 synchronized 悲观锁对于大部分学习者并不陌生,本节主要内容如下: 乐观锁与悲观锁的概念,之前有所讲解,这里用很小的篇幅进行知识的回顾,巩固;乐观锁与悲观锁…...
python学习2-数据结构与算法-链表
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指…...

项目一 nfs 共享服务器 Haproxy 代理 Keepalive 高可用集群
深入理解程序的数据存储 配置NFS服务器 配置ansible环境...

TCP粘包解决方法
一. 产生原因及解决方法 产生原因:TCP是面向连接、基于字节流的协议,其无边界标记。当服务端处理速度比不其接收速度时,就很容易产生粘包现象。 解决方法:目前主要有两种解决方法,一个是在内容中添加分割标识…...

高职人工智能专业实训课之“生成对抗网络(GAN)”
一、前言 生成对抗网络(GAN)作为人工智能领域的一项重要技术,已经在图像生成、风格迁移、数据增强等多个领域展现出巨大的潜力和应用价值。为了满足高职院校对GAN专业实训课程的需求,唯众人工智能教学实训凭借其前沿的教育技术平…...

【MySQL系列】隐式转换
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

亿发:信息化建设or面子工程?究竟什么才是真正的信息化解决方案
在现代企业的竞争中,信息化建设扮演着越来越重要的角色。信息化技术不仅是企业提升管理效率、优化运营模式的利器,更是企业在市场竞争中脱颖而出的关键。然而,许多企业在推进信息化的过程中,往往容易陷入“面子工程”的误区。那么…...

【微信小程序开发实战项目】——如何制作一个属于自己的花店微信小程序(1)
👨💻个人主页:开发者-曼亿点 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 曼亿点 原创 👨💻 收录于专栏:…...

树形结构C语言的实现
一.什么是树: 树形结构是一层次的嵌套结构。一个树形结构的外层和内层有相似的结构,所以这种结构多可以递归的表示。经典数据结构中的各种树状图是一种典型的树形结构:一棵树可以简单的表示为根,左子树,右子树。左子树…...

小程序渗透测试的两种方法——burpsuite、yakit
首先呢主要是配置proxifier,找到小程序的流量,然后使用burpsuite或者yakit去抓包。 一、使用burpsuiteproxifier的抓包测试 1、先配置proxifier,开启http流量转发 勾选确定 2、配置burp对应代理端口,选择profile,点…...
代码随想录训练营Day56
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、搜索插入位置二、在排序数组中查找元素的第一个和最后一个位置 前言 提示:这里可以添加本文要记录的大概内容: 今天是跟着代码随想…...

S32K3 工具篇4:如何在S32DS中使用lauterbach下载
S32K3 工具篇4:如何在S32DS中使用lauterbach下载 1. TRACE32软件下载与配置2. 如何在S32DS里面构建劳德巴赫的接口2.1 新建工程带有lauterbach2.2 已有工程没有lauterbach 劳德巴赫lauterbach是一款非常经典强悍的调试器,还带有trace功能,在汽…...

深度神经网络语言识别
「AI秘籍」系列课程: 人工智能应用数学基础人工智能Python基础人工智能基础核心知识人工智能BI核心知识人工智能CV核心知识 使用 DNN 和字符 n-gram 对一段文本的语言进行分类(附 Python 代码) 资料来源,flaticon:htt…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...