• 时序(流式)图谱数据仓库AbutionGraph功能介绍-Streaming Graph OLAM Database


     

    AbutionGraph是一款端到端的流式数据实时分析的图谱数据库,实时(流式写入实时、高QPS决策分析实时、流式预处理实时)表现在:

    1. 构建实时查询QPS响应时长与历史数据量无关的图模型;
    2. 接入流式数据并实时更新图计算指标;
    3. 实时查询历史和时序窗口聚合的数据。

    AbutionGraph具有多种数据库的特性,除传统图谱数据存储模型外,Abution的目标是以足够低的延迟(亚秒级)来服务大规模图谱数据(达BP级)的实时决策分析。 AbutionGraph特别适用于业务指标系统建设、实时交互式数据分析、可视化大屏展现、IOT流式数据监测、拓扑数据动态行为计算、相同点边id的数据根据标签分类管理等等。 AbutionGraph使用Java/C++开发,支持Aremlin、Gremlin、GraphQL查询语法,并支持与Java进行混合编程开发和Python API。

    AbutionGraph特性:

    分布式企业级图数据库,提供图数据的实时-存储、查询和OLAP分析能力,主要面向对局部数据的海量并发查询和全量数据的实时在线计算/更新/监控。
    用于大数据量高吞吐率和低延迟的同时,实时反馈数据态势变化(异常)情况,保障决策分析业务7*24小时在线运行。

    支持功能AbutionGraphNeo4jTigerGraph
    分布式X
    RDF图模型XX
    属性图模型
    实时增删查改
    TB级大容量
    高性能批量导入
    点边检索、全文检索
    千万顶点/秒的高吞吐率
    对接流式数据源、关系型数据源
    图分析算法
    高可用性支持
    图谱可视化工具
    读写任务内高效并行存储)
    在线/离线、全量/增量的备份恢复
    多图(大图与多个子图)
    丰富的离线图算法
    ---
    单独删除点边(支持独立点/边存储)XX
    动态新增/隐藏字段XX
    时间窗口计算(流式数据库的标志特性)XX
    实时大数据流式图 存储/计算/更新XX
    多重/多维图关系(每对点间都允许多种不同标签的边共存)XX
    多重/多维图实体(每个点上都允许多种不同标签的点共存)XX
    动图-时序关系聚合(根据年月日等时间窗口-自动合并边属性)XX
    动图-时序实体聚合(根据年月日等时间窗口-自动合并点属性)XX
    导出图数据到大数据平台继续计算(Spark/Flink/Hadoop等。
    对接AI算法作为特征工程库,实时更新模型指标,实时取用)
    XX
    子图隔离(原子级用户权限管理)XX
    分布式图实例XX
    节点模糊查询XX
    自定义节点类型XX
    图数据库专家支持服务XX

    AbutionGraph适用:

    1. 交互式数据分析
      希望快速从大规模历史数据中得出统计分析报告用于决策,数据探索-秒内响应、年月日时间窗口分析-秒内响应等。
    2. 流式数据监控
      希望从实时源源不断产生数据的iot/应用程序中立即反映趋势,态势感知、实时聚合计算、时序指标变化规律等。
    3. 多维数据管理
      希望将同一个id-人身份证等,绑定上工商/税务/车房产/银行/通话等不同结构的数据,并通过设定标签识别类别数据,实现高效管理与查询。
    4. 图谱关联计算
      希望导入的实体与关系自动实现关联,而不是明确“点表/边表”必须一一具备,允许孤立点。此外,希望自动汇总一跳邻居节点信息如:出度入度、基数统计、百分位数等,实现复杂关联指标的即席查询。
    5. 子图隔离
      希望在一个图谱中实现不同用户导入的数据仅自己可见,或授权可见,很适用于公安、政府、跨部门、多用户协作等场景。

    及一切希望在亚秒实现关联数据分析的场景 - 执行查询即所得、数据写入即见变化,类似于Kafka、Flink、Kylin等系统,不过Abuion旨在关联计算上弥补缺陷,所以它更擅长处理关联分析问题,且比传统图数据库更节省计算资源和响应时间。 视频介绍



    Abution GraphInstance
     

    GraphInstance是连接到一个AbutionGraph的操作,是执行查询语句的入口。相当于传统数据库连接,您可以使用g.*.exec(user)去执行一系列的图查询。

    • 图实例有3种使用方式:
      1. Graph - 本地图实例连接,用于生产环境,只能在装有Abution的节点运行,可运行所有功能;
      2. TmpGraph - 临时图实例连接,用于代码测试,无需部署Abution,数据即存即删,是一个临时内存图,算法功能不可用;
      3. MemoryGraph- 分布式缓存图实例连接,该阶段还是实验性的,未经大规模项目验证;
      4. RemoteGraph - 远程图实例连接,用于远程代码调试,IDEA中提交代码至服务器运行,UDF能力请使用Graph实例运行。
    1)Graph实例
    1. Graph graph = G.Graph("graphId")
    2. .schema(schema)
    3. .build();
    4. g.addOrUpdate(); //保存元数据
    5. 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、远程服务器端口)

    1. Graph g = G.MemoryGraph("tgMemory1", schema, "127.0.0.1:5701");
    2. // 保存元数据,以便可视化实时可见
    3. g.addOrUpdate();
    4)远程/跨集群连接图实例

    此功能允许在任何网络连通的机器使用AbutionGDB中的数据,无需在开发者本地部署AbutionGraph,前提是已开启AbutionGRS数据中台服务,你可以直接在IDEA中编写代码,读取本地数据,使用远程服务器运行你的代码,返回的结果数据就像是本地的Java对象一样。

    1. Graph graph = G.GraphProxy.Builder()
    2. //.graphId("testGraph") //可选参数,不填写则做多图知识融合查询
    3. .host("thutmose-aliyun") //改成数据库服务器ip
    4. .port(9090)
    5. .contextRoot("rest")
    6. .build();

    GraphProxy在数据整合、数据迁移和项目开发调试阶段非常有用,如在IDEA中即可连接到云端服务并调试,它使大数据工程师的本地代码得以在云端运行,我们在未来的版本中会不断升级它,使图数据库更具有云服务的特性。 注意:此功能为定制化业务平台专用,为方便代码调试,算法功能不可用。

  • 相关阅读:
    移动Web第二天 4 空间转换 && 5 动画
    获得微店商品详情 API
    nginx基础架构
    .NET Conf China 2023济南站社区活动
    swiper 导航栏
    Mybatis主配置—Configuration
    深入理解线段树 | 京东物流技术团队
    【Python技巧】字典
    【数据结构(邓俊辉)学习笔记】二叉搜索树03——平衡
    [工具推荐]截图工具 -- snipaste
  • 原文地址:https://blog.csdn.net/lovebyz/article/details/110587248