“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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 部电影以及它们的演员、角色、导演信息,读者可以测试学习。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2014-06-30 05:5514713
用户头像

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

关注

评论

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

PoseiSwap 即将开启 POSE 单币质押,治理体系将全面运行

股市老人

PoseiSwap 即将开启 POSE 单币质押,治理体系将全面运行

鳄鱼视界

性能测试|JMeter逻辑控制器(六)

霍格沃兹测试开发学社

App自动化测试|Appium介绍

霍格沃兹测试开发学社

Python 测试 appium

App自动化测试|Appium-Desktop界面介绍

霍格沃兹测试开发学社

Python 测试 appium

PoseiSwap 即将开启 POSE 单币质押,治理体系将全面运行

西柚子

VSCode同时编译多个C文件

codists

Visual Studio Code

性能测试|JMeter逻辑控制器(二)

霍格沃兹测试开发学社

MongoDB源码学习:创建记录和索引(insertDocuments)

云里有只猫

mongodb 源码解读

性能测试|JMeter连接数据库

霍格沃兹测试开发学社

App自动化测试|Appium+Python自动化测试环境搭建(Windows)

霍格沃兹测试开发学社

Python 测试 Node appium

文本生成图像DALL·E 2背后的原理——Diffusion Model | 社区征文

秃头小苏

年中技术盘点

解开心锁,放飞自我

少油少糖八分饱

认识自己 读后感 阅读笔记 被讨厌的勇气

性能测试|JMeter逻辑控制器(五)

霍格沃兹测试开发学社

IDE暗黑主题推荐-Dracula

越长大越悲伤

ide 前端 后端 插件 主题

性能测试|JMeter逻辑控制器(四)

霍格沃兹测试开发学社

App自动化测试|Appium工作原理及Desired Capbilities配置

霍格沃兹测试开发学社

Python 测试 appium

PoseiSwap 即将开启 POSE 单币质押,治理体系将全面运行

EOSdreamer111

调整自我,安然入眠

少油少糖八分饱

读书笔记 读书感悟 #读书 睡眠 我们为什么要睡觉

性能测试|JMeter逻辑控制器(七)

霍格沃兹测试开发学社

Centos8 stream系统编译安装Docker教程。

百度搜索:蓝易云

Docker 云计算 Linux centos 运维

性能测试|JMeter逻辑控制器(九)

霍格沃兹测试开发学社

性能测试|JMeter逻辑控制器(十)

霍格沃兹测试开发学社

App自动化测试|Appium元素定位工具

霍格沃兹测试开发学社

Python 测试 appium

Centos8 stream系统编译安装Memcached教程。

百度搜索:蓝易云

memcached 云计算 Linux centos 运维

Centos8 stream系统编译安装Redis教程。

百度搜索:蓝易云

redis 云计算 Linux centos 运维

Linux系统命令大全。

百度搜索:蓝易云

云计算 Linux 运维 服务器 命令

性能测试|JMeter逻辑控制器(三)

霍格沃兹测试开发学社

性能测试|JMeter参数化(一)

霍格沃兹测试开发学社

PoseiSwap 即将开启 POSE 单币质押,治理体系将全面运行

威廉META

性能测试|JMeter逻辑控制器(八)

霍格沃兹测试开发学社

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