写点什么

Cayley:Google 开源的图数据库

  • 2014-06-30
  • 本文字数:908 字

    阅读完需:约 3 分钟

近日,Google 开源了图数据库 Cayley 。Cayley 是受 Freebase 和 Google 的 Knowledge Graph 背后的图数据库 graphd 所启发,由 Google 工程师 Barak Michener 开发的一款开源图数据库。图数据库是一种 NoSQL 数据库,适合处理大量复杂、互连接、低结构化的数据。图数据库与其他数据库不同,它更擅长描述数据之间的关系,所以被大量用于社交网络、推荐系统等专注于构建关系图谱的系统。

Cayley 使用 Go 语言编写,创始人 Barak 在博客中解释了选择 Go 的原因,“Cayley 需要支持高速且大并发的存取,Go 看起来是不错的选择。基于官方提供的标准包以及社区开源的包,开发过程中的一些大的障碍已经得以解决,再结合 Go 的并发模式,开发一个比 graphd 性能更高的图数据库成为可能。”

Cayley 的目标是成为开发者在 Linked Data 和图数据(语义网络、社交网络等)的工具之一。初步性能测试表明,在普通 PC 硬件和硬盘上,基于 LevelDB 存储的 Cayley 跑 1.34 亿三元组毫无压力,多跳交叉查询(比如有 X 和 Y 两位影星同时出演的电影)只需 150ms。Cayley 的主要特点如下:

  • Go 语言实现
  • 运行简单(三四条命令)
  • RESTful API(或者 REPL)
  • 内置查询编辑器和可视化工具
  • 支持多种查询语言:JavaScript、MQL
  • 多种后端存储数据库:LevelDB(单机)、MongoDB 或者内存
  • 模块化设计,容易扩展
  • 良好的测试覆盖
  • 速度快

值得注意的是,虽然 Cayley 在 GitHub 上放在 Google 名下,但它却不是 Google 官方项目,只是得到了 Google 的许可,由其员工创建并维护,类似的项目也有很多,比如 Protocol Buffers、AngularJS。

目前社区中比较成熟的图数据库是 Neo4j,它是一个用 Java 实现、完全兼容 ACID 的图形数据库。Cayley 与 Neo4j 相比最大的优势可能就是免费(Neo4j 不完全免费,使用全部功能需要有商业许可),关于二者性能的比较目前社区中还没有,相信接下来会有比较多的对比类文章。另外,在 Hacker News 上有开发者也提到另外一款图数据库 Orly ,从其 GitHub 状态来看,发展势头也不错。

感兴趣的读者可以观看 Google IO 大会上《构建一个小的知识图谱》主题演讲来了解 Cayley。在 GAE 上也运行了一个 Cayley 的案例,包括 30000 部电影以及它们的演员、角色、导演信息,读者可以测试学习。

2014-06-30 05:5515449
用户头像

发布了 219 篇内容, 共 152.2 次阅读, 收获喜欢 195 次。

关注

评论

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

区块链+农业,如何升级农业价值链

CECBC

农业

STM32低功耗模式下GPIO如何配置最节能?

不脱发的程序猿

嵌入式 stm32 单片机 低功耗模式

“区块链+疫情预警”!这个科研团队研发了传染病预警系统

CECBC

疫情

深入浅出 LVS 负载均衡系列(二):DR、TUN 模型原理

UCloud技术

负载均衡

nmon和nmon analyser的网盘下载安装与使用

InfoQ_Springup

工具

从5大挑战带你了解多模态机器学习

华为云开发者联盟

机器学习 多模态机器学习 多模态 异构数据

Tars Java 客户端源码分析

vivo互联网技术

Java TARS RPC架构

架构实战模块三作业

Geek_649372

架构实战营

腾讯T6!万字长文体系化讲解Spring源码,码农:太透彻了,学会了

牛哄哄的java大师

Java

架构实战营模块3作业

Vic

架构实战营

第三次作业

Geek_9cf7b5

在线体验四大名著情景(地图、游戏)

不脱发的程序猿

开源 程序人生 四大名著

模块2学习总结

TH

架构实战营

超详细教程:SpringBoot整合MybatisPlus

华为云开发者联盟

Java spring springboot 代码 MyBatisPlus

如何快速制作短视频?拥有这个神器,轻松搞定!

奈奈的杂社

短视频 视频剪辑 自媒体

第一个鸿蒙应用

释缘

鸿蒙 HarmonyOS

存算解耦的多模型数据管理平台介绍:以星环科技TDH8.0为例

星环科技

人工智能 大数据 云平台 数据管理平台 存算解耦

如何在苹果M1上安装使用FL Studio

奈奈的杂社

编曲 教程分享 编曲软件

Nginx 常用配置清单

Java小咖秀

nginx Web 反向代理 HTTP

数仓ETL系统:给强大的“心脏”配上“超级流水线”

华为云开发者联盟

数据库 数据仓库 GaussDB(DWS) ETL系统 MPPDB

从狗狗币说起 看区块链的未来发展方向

CECBC

狗狗币

模块2作业 微信朋友圈高性能复杂度

TH

架构实战营

运维五一不加班,从一套On-Call响应机制开始!

睿象云

运维 告警 智能运维 告警设置 告警管理

Offer收割机!阿里P7大神甩出JSP实战笔记,网友:信息量过大

飞飞JAva

Java

NumPy之:使用genfromtxt导入数据

程序那些事

Python 数据分析 Numpy 程序那些事

双向循环链表:鸿蒙轻内核中数据的“驿站”

华为云开发者联盟

鸿蒙 数据结构 结构体 OpenHarmony 双向循环链表

轶事

言未卜

一周信创舆情观察(4.26~5.5)

统小信uos

全新 Jira 系列,适用于所有团队!

Atlassian

DevOps 敏捷 Atlassian Jira

rocketmq优雅停机往事

捉虫大师

Hive解析Json数组超全讲解

五分钟学大数据

hive 5月日更

Cayley:Google开源的图数据库_Google_小盖_InfoQ精选文章