【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

对话图形数据库 GraphDB 创始人 Daniel Kirstenpfad

  • 2010-10-06
  • 本文字数:1519 字

    阅读完需:约 5 分钟

Daniel Kirstenpfad 是图形数据库厂商 sones GmbH 的创始人和 CTO,近期 InfoQ 就如何更好地对社交网络应用中的关系等数据类型进行建模等问题,和 Daniel 进行了沟通。

InfoQ:请解释一下什么是图形数据库,以及为什么开发者要选择它,而不再是传统数据库?

和其他以列、行或者键 / 值等形式存储数据的数据库不同,图形数据库以节点(Node)和边(Edge)的网络存储所有信息。边表示那些代表对象的节点之间的联系。因为边和节点都可以被描述为对象,开发者可以为其指定属性(Attribute,或者 property)。为边增加方向最终会创建一个属性图,它代表图形数据库中的明确结构。 所以说,与那些只能间接构成图架构的数据库不同,图形数据库可以明确地表示图。另外,其他数据库需要使用索引和关系工具(如使用 JOIN 进行联结的关系表),而图形数据库因为对象之间可以用索引自由邻接,所以它能方便地从一个对象遍历到另一个对象。

在很多种情况下,图形数据库都是最自然的方式。比如在社交网络中,使用图数据结构表示朋友关系,或者做类似”给我我朋友的朋友的所有朋友(get me all the friends of my friends friends)“的遍历和查询,都要较以前容易很多。另外,基于如路径 - 查询(Path-Search)算法的普通图,也易于通过遍历图来实现。

除了这些不错的特性,sones GraphDB 还提供了一种易于学习和使用的查询语言,如同使用 SQL 数据库,用户可以使用它运行特定的查询。比如上面的那个例子就可以用这个语言表示为:FROM Users u SELECT u.Friends.Friends.Friends WHERE Name = “Daniel”

InfoQ:你们的产品可以嵌入式运行,或者只作为一个单独的服务运行吗?

sones GraphDB 几乎可以被嵌入到任何的应用中。因为它是用 C#(.NET)写的,自然它就可以被集成到已有的.NET 环境中,如 Windows 上的.NET 环境,以及其他平台上的 Mono 环境等。在现有的产品中,我们通过客户端 / 服务器的方式提供不同的接口,比如集成了自服务的 REST 接口。”自服务“意味着你不需要任何第三方的服务,即可使用 GraphDB。它被包含在一个包中。

InfoQ:有.NET API 吗?

有的,目前的公开发行版本中就有.NET API,它可被用在嵌入式环境中,在 sonesExample 源代码(第 74、94、114 和 197 行等)中演示了它的使用方法。 我们还在努力提供一个.NET 客户端类库,让访问 sones GraphDB 服务器也能面向对象,从而不需要一定要离开熟悉的 C#环境,或者必须通过 JSON 或者 XML 解析等。在 Java 环境中我们也计划提供该类库。

为让其更具有通用性,我们还计划使用 LINQ 改造该客户端类库。

InfoQ:要在 Windows Azure 上使用它,需要做哪些改变吗?

相比于云服务架构的复杂,在 Windows Azure 平台上运行 GraphDB 产品是相当容易的。为了让 Windows Azure 架构知晓 GraphDB 的状态,我们需要增加一些粘结代码(Glue Code)。但是需要明确的是,这只是为 GraphDB 增加一些新的代码,内核和接口部分不需要做任何改变。 目前我们也正在为 GraphDB 增加一些新的模块——其中一个就是使用 Azure Page Blob Storage 技术持久化图形数据库,另外还为客户提供了更多有趣的使用场景。

InfoQ:你认为哪些图形数据库是你们的竞争对手?

现在市面上有很多图形数据库,多数只是为了满足一个或者多个应用需求。对于客户来说,多样化的选择总是好的。从一开始,sones 就在创建企业级的数据库管理系统,这一目标没有改变,我们一直在努力。就某些应用方面来说,我们将 Infogrid、Neo4j 或者 InfiniteGraph 等看做竞争对手。但是如果说到易用性,感知查询语言,与.NET 的集成,以及既允许存储图形也允许存储大的带有版本信息的二进制数据等现代数据存储技术,我想我们有一些独特的卖点。

查看英文原文: A Case for Graph Databases

2010-10-06 05:273109

评论

发布
暂无评论
发现更多内容

企业项目迁移go-zero全攻略(二)

万俊峰Kevin

微服务 microservice Go 语言

如何为多元化的产品场景选择完美的色彩组合?

百度Geek说

产品 设计

在世界球场一球成名:HMS 生态为游戏开发者送出的助攻

脑极体

Cisco路由器调试命令大全,看完就全部学会!

JS 防抖与节流

旗袍码农

全球首例银行“大型机”下移背后

数据君

线程有哪些状态,彼此之间如何切换

武哥聊编程

Java 多线程 28天写作

CSS(八)——CSS盒模型

程序员的时光

程序员 大前端 七日更 28天写作

程序员面试时一定要注意这五个陷阱!你记住了吗?

Java架构师迁哥

webpack | plugin机制详解

梁龙先森

大前端 webpack 28天写作

还在为计算机网络协议烦恼?了解这一篇就够了

Java架构师迁哥

2021首次分享面试阿里P6心得:1000字超全面试题答案解析

比伯

Java 编程 程序员 架构 面试

【得物技术】无侵入式mock平台在得物的实践

得物技术

测试 数据 得物技术 Mock hulk

交易系统架构演进之路:服务治理

比伯

Java 编程 程序员 架构 技术宅

Spark底层原理详细解析(深度好文,建议收藏)

五分钟学大数据

大数据 spark

为什么强烈推荐 Java 程序员使用 Google Guava 编程!

沉默王二

Java Guava

加速AI边云协同创新!KubeEdge社区建立Sedna子项目

华为云原生团队

人工智能 开源 边缘计算 边缘技术

驶向数字智能的瀚海,“懂行人”助力石油人乘风破浪

脑极体

Git操作文档

Paul

使用nodejs构建Docker image最佳实践

程序那些事

Docker nodejs 程序那些事 docker image nodejs和docker

Java 读写锁 原来这么简单

Java架构师迁哥

《王者荣耀》背后的数据秘密

数据君

快速了解云原生架构

阿里巴巴云原生

架构 容器 微服务 云原生 k8s

Elasticsearch Bulk API 批量增删改查

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

产品训练营--第三期作业(1)

曦语

产品训练营

我们,让9300万人办事少跑一趟

数据君

《程序员修炼之道》- 务实的方法(4)

石云升

程序员 28天写作

滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台

滴滴云

kafka 运维 监控 滴滴Logi

幕后故事 | YRCloudFile助力顶级视效制作公司MORE VFX打造视觉盛宴

焱融科技

高性能 存储 焱融科技 3D渲染 影视制作

姐夫深夜不睡觉就在看spring+mybatis这两份源码资料,吸引力就这么强大吗?

荒芜

Java spring 源码 mybatis spring Boot Starter

就这?Object类一点不难理解

后台技术汇

28天写作

对话图形数据库GraphDB创始人Daniel Kirstenpfad_.NET_Jonathan Allen_InfoQ精选文章