近日,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的主要特点如下: