携程分布式图数据库 Nebula Graph 运维治理实践
摘要
随着互联网世界产生的数据越来越多,数据之间的联系越来越复杂层次越来越深,人们希望从这些纷乱复杂的数据中探索各种关联的需求也在与日递增。为了更有效地应对这类场景,图技术受到了越来越多的关注及运用。
在携程,很早就有一些业务尝试了图技术,并将其运用到生产中,以Neo4j和JanusGraph为主。2021年开始,我们对图数据库进行集中的运维治理,期望规范业务的使用,并适配携程已有的各种系统,更好地服务业务方。经过调研,我们选择分布式图数据库Nebula Graph作为管理的对象,主要基于以下几个因素考虑:
1)Nebula Graph开源版本即拥有横向扩展能力,为大规模部署提供了基本条件;
2)使用自研的原生存储层,相比JanusGraph这类构建在第三方存储系统上的图数据库,性能和资源使用效率上具有优势;
3)支持两种语言,尤其是兼容主流的图技术语言Cypher,有助于用户从其他使用Cypher语言的图数据库(例如Neo4j)中迁移;
4)拥有后发优势(2019起开源),社区活跃,且主流的互联网公司都有参与(腾讯,快手,美团,网易等);
5)使用技术主流,代码清晰,技术债较少,适合二次开发;
欢迎在评论区写下你对这篇文章的看法。