写点什么

对话图形数据库 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:273327

评论

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

信息论与编码:信道编码的基本概念

timerring

11月月更 信息论

为什么你的敏捷总是不成功?

敏捷开发

让 Serverless 更普惠,阿里云函数计算 FC 宣布全面降价,最大幅度达 37.5%

Serverless Devs

阿里云 Serverless

PHP反序列化漏洞解析

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

Apisix网关快速入门实践

IT巅峰技术

谁能破解客户数字化困局?

ToB行业头条

适合小白Web前端入门JS基础知识梳理汇总

千锋IT教育

深度解读|NebulaGraph x 阿里云计算巢,云上构建超大规模图数据库

阿里云弹性计算

图数据库 计算巢

前端leetcde算法面试套路之回溯

js2030code

JavaScript LeetCode

日志异常检测准确率低?一文掌握日志指标序列分类

云智慧AIOps社区

深度学习 日志分析 时间序列 指标预测 日志异常

Linux之用户管理、权限管理、程序安装卸载

C++后台开发

Linux 后端开发 linux开发 Linux服务器开发 C++开发

如何做好成熟完整的企业团队知识管理?

Baklib

团队管理 知识管理

FAQ是什么?该如何编辑FAQ?

Baklib

调用链路上千条,如何观测 Nacos 的运行状态

阿里巴巴云原生

阿里云 微服务 云原生 naocs

Wallys/ industrial mini pcie card/2x 2 5G /High power Radio card

Cindy-wallys

QCA9882 2x 2 5G high power

5分钟实现「视频检索」:基于内容理解,无需任何标签

Zilliz

人工智能 Towhee 视频检索

如何通过Java代码给Word文档添加水印?

在下毛毛雨

Java word 水印

国标解读|从关键信息基础设施安全国标看软件供应链安全

墨菲安全

SBOM 软件供应链安全

Spring Bean的生命周期(详细解读)

千锋IT教育

【案例】数字化浪潮中,云科通明湖如何助力能源行业弯道超车?

通明湖

负载均衡

开源共建 | Dinky 扩展批流统一数据集成框架 ChunJun 的实践分享

袋鼠云数栈

《大厂面试》之JVM篇21问与答

钟奕礼

Java java程序员 java面试 java编程

阿里P8整理的新版手抄本,所有Java知识操作

钟奕礼

Java java程序员 java面试 java编程

让 Serverless 更普惠,阿里云函数计算 FC 宣布全面降价,最大幅度达 37.5%

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

【计算讲谈社】第十二讲|数据中心那些事儿

大咖说

数据中心 碳中和

Baklib知识分享 | 搭建企业在线帮助中心的最佳攻略

Baklib

3.1版本【HarmonyOS 第一课】正式上线!参与学习赢官方好礼>>

HarmonyOS开发者

HarmonyOS

MyBatis 延迟加载代码详解

千锋IT教育

mysql经典面试题

@下一站

MySQL 编程 dba 11月月更

Wallys/DR7915/MT7915/MT7975/industrial mini pcie card 2T2R

Cindy-wallys

MT7915 MT7975 / 2.4G&5G

银行APP用户体验外滩峰会圆满落幕!易观分析赋能用户体验体系,助力体验提升

易观分析

App 银行 易观

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