写点什么

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:5514906
用户头像

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

关注

评论

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

Redis 分布式锁的正确实现原理演化历程与 Redisson 实战总结

码哥字节

redis RedLock redisson 分布式锁 签约计划第二季

少儿春晚表演

Tiger

28天写作

TDengine在雷达台站运维管理系统中的落地实践

TDengine

数据库 tdengine 时序数据库

编程谜题:提升你解决问题的训练场

华为云开发者联盟

Python 编程 编程语言 代码 编程谜题

恒源云(GPUSHARE)_云GPU服务器如何使用PyCharm?

恒源云

深度学习 gpu 算力加速

开源机器学习数据库OpenMLDB贡献者计划全面启动

第四范式开发者社区

第四范式 开源社区 OpenMLDB 机器学习数据库 贡献者

服务端质量保证体系(一) 全流程规范管理

homber

服务端 流程 质量保证 签约计划第二季

服务端质量保证体系(三) CI原子能力建设

homber

ci 服务端 质量保证 签约计划第二季

图数据和知识图谱,数字化转型的新引擎

星环科技

图数据库 知识图谱

入驻快讯|欢迎字节跳动终端技术团队正式入驻 InfoQ 写作平台!

InfoQ写作社区官方

入驻快讯

Go语言学习查缺补漏ing Day3

恒生LIGHT云社区

Go 编程语言

星环科技 TDH8.1.0:全新升级为用户带来极致体验

星环科技

大数据

企业如何做好员工安全意识提升

腾讯安全云鼎实验室

Apache ShenYu源码阅读系列-注册中心实现原理之Http注册

子夜2104

2021 China DevOpsDays演讲实录

homber

DevOps DevOpsDays 签约计划第二季

基于HTML、CSS和JS的年龄计算器

海拥(haiyong.site)

html 大前端 28天写作 签约计划第二季 12月日更

Linux一学就会之Centos8软件包的管理和安装之yum管理软件包

学神来啦

Linux centos 运维 rpm yum

python入门难?十之八九是因为python 协程吧!

梦想橡皮擦

12月日更

Redis 很强,不懂使用规范就糟蹋了

码哥字节

redis Redis开发规范 签约计划第二季

【分布式技术专题】「OSS中间件系列」Minio的Server端服务的架构和实战搭建

洛神灬殇

OSS Minio Minio 集群 12月日更 FS

前端开发框架react 之UmiJS

@零度

大前端 React

服务端质量保证体系(二) 流水线标准化建设

homber

服务端 CI/CD 流程 质量保证 签约计划第二季

云原生时代的"应用级"多云管理

北京好雨科技有限公司

云计算 Kubernetes 容器 多云管理

换个角度思考勒索攻击事件

华为云开发者联盟

漏洞 勒索 攻击 安全检测 蜜罐检测

一文讲透数仓临时表的用法

华为云开发者联盟

数据库 sql Local GaussDB(DWS) 临时表

大数据开发之数据读取—Pandas vs Spark

@零度

大数据 spark pandas

QA进阶成长感悟录

homber

成长 内容合集 签约计划第二季

「Oracle」Oracle 数据库备份还原

恒生LIGHT云社区

数据库 oracle

Hadoop完全分布式安装部署

编程江湖

大数据 hadoop

Redis 核心知识点归纳总结,从根上理解 Redis

码哥字节

redis Redis 核心技术与实战 签约计划第二季

为什么要做团建TB?(6/28)

赵新龙

28天写作

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