当前位置: 首页 > 软件库 > 数据库相关 > 图数据库 >

Graph Engine

分布式大规模图数据处理引擎
授权协议 MIT
开发语言 C/C++ C#
所属分类 数据库相关、 图数据库
软件类型 开源软件
地区 不详
投 递 者 叶炜
操作系统 Windows
开源组织 微软
适用人群 未知
 软件概览

Graph Engine 是一个基于内存的分布式大规模图数据处理引擎,能够帮助用户更方便地构建实时查询应用和高吞吐量离线分析平台。在此之前,它在学术界更广为人之的名称是 Trinity。

Graph Engine 的内存管理系统能高效处理海量内存对象。作为一个高性能内存数据库,Graph Engine 可充分利用内存来加速数据访问和并行计算。作为一个通用计算引擎,Graph Engine 拥有极强的可扩展性。通过一个简洁优雅的数据和消息传递建模语言,Graph Engine 允许用户自由地定义数据模式和计算模型。

Graph Engine 具有优秀的系统互操作性,可以方便地与其它系统平台进行集成。基于通用的 RESTful 接口,一个 Graph Engine 驱动的应用可以与所有设备互联协作。

为使分布式应用的开发更为轻松简单,Graph Engine 提供了大量的内置特性,其中包括:

  • 声明性的数据建模和网络编程接口;

  • 完善的 IntelliSense 开发环境支持;

  • 对 LINQ 查询语言的原生支持;

  • 集成的应用程序远程部署、控制、监控和调试。

Graph Engine 还可与强大的集成开发环境 Visual Studio 以及微软云计算平台 Azure 无缝集成。无论本地开发还是云端部署,Graph Engine 都可以给开发者带来极佳的用户体验。开发者可以借助 Visual Studio 快速开发,然后通过简单的鼠标操作将一个分布式应用部署到云端。

你可以通过在 Visual Studio Extensions  and Updates 中搜索"Graph Engine"来安装 Graph Engine Visual Studio Extension,也可以从 Visual Studio Gallery 下载。

Graph Engine 同时也提供了 NuGet 包,可通过 NuGet Gallery 获取。

该资源库还包含了微软开源的 LIKQ,这是基于 Graph Engine 的一种可用于子图和路径查询的数据查询语言。它可以让开发人员无需学习新的领域相关的特定查询语言,直接使用原生 C# 代码即可构建知识图谱语言,从而使海量图数据的实时检索和集成变得触手可得。

  • 微软有很多非常小众的,但又很有趣的,但好像微软又不怎么样放在心上的技术。 Graph Engine 就是这样的典型。2015年5月21日,当时的微软亚洲研究院老大,沈向洋宣布微软发布了一款图计算引擎Graph Engine。 但实际上,这也不是微软新产品,Graph Engine其实是基于微软一款更早的产品Trinity的基础上做了增加,甚至你可以认为Graph Engine是Trinity的改名

  • 近日,微软亚洲研究院发布基于内存的分布式大规模图数据处理引擎Graph Engine 1.0预览版本,也就是Trinity。基于高效的内存云架构和灵活通用的计算引擎,Graph Engine能够帮助用户更方便地构建实时查询应用和高吞吐量离线分析平台。 Graph Engine提供了诸多内置特性方便分布式应用开发,如: 声明性的数据建模和网络编程接口; 完善的IntelliSense开发环境支持;

  • 摘要 Trinity是微软亚洲研究院在SIGMOD13上发表的一篇论文,它不是图数据库而是被称之为图数据引擎“Graph Engine”,作者是邵斌等人。Trinity声称既可以提供实时的图查询,也可以实现图分析(文中称之为graph offline analytics)。 技术细节 文中主要论述了Trinity有以下特点: 1、数据映射 Trinity使用hash的方式把内存块映射到机器上,然后

  • 图数据库JanusGraph的Docker方式安装方法   概述 JanusGraph从0.5.0版本以后开始支持Docker安装方式,这与原来的本地安装方式要简便得多。本文简单介绍了JanusGraph的Docker方式安装方法。   安装环境:CentOS7   第一部分:Docker环境的安装 第一步:添加docker安装源 [dennis@centos7 ~]$ sudo yum inst

 相关资料
  • 我们已经使用Drools引擎几年了,但是我们的数据已经增长了,我们需要找到一个新的分布式解决方案来处理大量数据。我们有复杂的规则,可以查看几天的数据,这就是为什么Drools非常适合我们,因为我们的内存中只有数据。 你对类似于流口水但分布式/可扩展的东西有什么建议吗? 我确实对这件事进行了研究,但我找不到任何符合我们要求的东西。 谢谢

  • 这里我的疑问是,如果我使用多个分布式数据库,cam如何在配置(application.properties)中提到不同的DB源URL?目前我正在使用以下结构来使用一个数据库, 就像上面那样。 所以,如果我使用多个DB用于多个区域,我如何在这里给出有条件的配置?我是微服务世界和分布式数据库设计模式的新手。

  • 问题内容: 我用来并行化一些繁重的计算。 目标函数返回大量数据(庞大的列表)。我的RAM用完了。 如果不使用,我只需将生成的元素依次计算出来,就将目标函数更改为生成器。 我了解多处理不支持生成器- 它等待整个输出并立即返回,对吗?没有屈服。有没有一种方法可以使工作人员在数据可用时立即产生数据,而无需在RAM中构造整个结果数组? 简单的例子: 这是Python 2.7。 问题答案: 这听起来像是队列

  • 分布式支持 数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数: return [ // 启用分布式数据库 'deploy' => 1, // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '192.168.1.1,19

  • 目前,我的应用程序的某些部分在将大量数据加载到报告表时遇到了速度问题。报告表中的数据是从多个表中提取的,并运行一些复杂的查询,但这是必需的。 除了优化代码,我的问题是,您个人如何处理需要向用户显示的大量数据,最佳实践是什么? 目前我正在处理所有的数据,然后通过javascript库生成数据表。 我知道的事情: 用户不需要一次看到所有数据 用户需要能够搜索所有数据 用户需要能够过滤数据 最好的方法真

  • 问题内容: 我有一个Java应用程序,它需要显示大量数据(大约一百万个数据点)。数据并不需要全部同时显示,而仅在用户请求时才显示。该应用程序是桌面应用程序,未与应用程序服务器一起运行或未与任何集中式数据库连接。 我的想法是在计算机上运行数据库并在其中加载数据。在大多数时候,数据库都是只读的,因此我应该能够建立索引以帮助优化查询。如果我在本地系统上运行,则不确定是否应该尝试实现一些缓存(我不确定查询

  • 问题内容: 如果创建Oracle dblink,则无法直接访问目标表中的LOB列。 例如,使用以下命令创建一个dblink: 之后,您可以执行以下操作: 除非该列是LOB,否则您将收到错误: 这是有据可查的限制。 同一页上建议您将值提取到本地表中,但这有点…杂乱无章: 还有其他想法吗? 问题答案: 是的,这很混乱,不过我想不出办法避免这种情况。 您可以通过将临时表创建放入存储过程中(并使用“立即执

  • 我在Cloudera CDH5.3集群上运行Spark,使用YARN作为资源管理器。我正在用Python(PySpark)开发Spark应用程序。 我正在运行一个提交命令,如下所示: 如何确保作业在集群中并行运行?