【转载】某篇文章的读后感,谈一谈 9 款国产图数据库

做~自己de王妃 提交于 2019-12-18 11:23:29

作者知乎id:一路走好

本人目前做图的底层存储引擎“分片和副本分布式可扩展”相关的研究,来满足业务的快速增长。
本文内容大量来自被我阅读的文章。感谢王建奎博士~~

华为
先来说说最神秘的华为吧,华为的图数据库构建在多模数据库中,由高斯实验室负责原型研发,图数据库的 headcount 由任总钦点,图数据库在华为重要性可想而知,但是由于华为保密要求严格,凡事都不让对外说。技术领先,设计方案简单高效。其他朋友不方便多跟我说,不过团队从现在到前后会新增 至少 20 个 headcount,任总有要求,非招人不可大有可为呀。如果有想去上海工作的朋友,欢迎联系我,我帮你联系我的朋友。

费马科技
洪春涛学长在北京BDTC2017中国大数据技术大会上深入分析了当时图数据库和图计算领域的难点、现状以及费马在2个领域的优化和产品能力。我当时真的对那几个优化数字感到震惊费马的性能真的非常好,团队也非常专业。京东金融是他们的一个客户案例(详细可查看:https://fma-ai.cn/case)。

费马科技是一个专注图数据库和图计算的创业公司,主打:快如闪电的高性能图数据存储及分析平台。

LightGraph 是费马科技自主研发的图数据库产品。其主要特点是单机大数据量,高吞吐率,以及灵活的 API,同时支持高效的在线事务处理(OLTP)和在线分析处理(OLAP)。LightGraph支持 TB 级大容量存储,可以轻松支持十亿级别顶点和百亿级别的边。使用无锁设计,从而大大提高了高负载下的吞吐率,可以达到千万顶点/秒的高吞吐率。除了强大的事务处理能力,还具备丰富和可扩展的分析处理功能,能够高效、在线地进行 PageRank、连通分量等复杂的图计算过程,省去了用户需要另行搭建并将数据导出、转换、再导入到专门的分析系统的麻烦。另外LightGraph还支持高可用,具有严格的ACID支持和高效灵活的API。

PandaGraph是一个运行在linux系统上的内存图计算系统,其双模式引擎会自动地在“ 稀疏”和“稠密”模式间切换,来优化图状结构数据上的迭代式并行计算。在对文件系统的支持上,PandaGraph可以自动处理hdfs文件系统上的文件,用户无需任何配置即可使用PandaGraph对hdfs文件进行处理。此外,PandaGraph中还内置了几十种常见的图计算应用程序,用户可以用符合格式的图数据,直接使用这些程序进行计算。

体验地址:
https://fma-ai.cn/product

知乎官方账号:
https://www.zhihu.com/org/fei-ma-ke-ji/activities

百度
百度的图数据库产品有2个。

  1. BGraph : BGraph是面向商业的图数据库产品,基本百度多年的知识图谱技术沉淀,自研了图存储和图计算引擎,并针对检索和深度连接分析做了深入优化,整体通用C++ 实现,具有毫秒级查询响应,并能支持数万的QPS。BGraph能支持数亿级顶点的图数据,能通过分片和副本分布式可扩展,满足业务的快速增长;支持多实例副本,具有实时容错能力,单实例的故障不会影响查询服务,旨在提供超过 99.99% 的可用性;支持业界流行的 Property Graph 数据模型和 Gremlin查询语言,并对Gremlin进行扩展,支持特色的高性能图算法。

体验地址:
https://ai.baidu.com/tech/kg/bgraph

  1. HugeGraph:HugeGraph是百度安全部开源的一款开源图数据库产品。HugeGraph是一款面向分析型,支持批量操作的图数据库系统,它能够与大数据平台无缝集成,有效解决海量图数据的存储、查询和关联分析需求。HugeGraph支持HBase和Cassandra等常见的分布式系统作为其存储引擎来实现水平扩展。HugeGraph可以与Spark GraphX进行链接,借助Spark GraphX图分析算法(如PageRank、Connected Components、Triangle Count等)对HugeGraph的数据进行分析挖掘。

详细介绍:
https://zhuanlan.zhihu.com/p/41240429
项目地址:
https://github.com/hugegraph

阿里云

  1. GDB:GDB(Graph Database)是阿里云上一款标准图数据产品,目前正在公测中,官网提示正式商业化时间是2019年12月31日。GDB是一种支持属性图模型,用于处理高度连接数据查询与存储的实时可靠的在线数据库,支持 TinkerPop Gremlin 查询语言;高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务;支持高可用实例,节点故障迅速转移,保障业务连续性;提供备份恢复,自动升级,监控告警,故障切换等丰富的运维功能,大幅降低运维成本。

体验地址:
https://www.aliyun.com/product/gdb

  1. GraphDB:GraphDB是阿里云更早起发布的一款图数据库产品,包含在HBase 2.0版本中,用户在购买云上HBase数据库服务时,可以选择GraphDB作为其图数据引擎。GraphDB引擎本身并不额外收费,对于需要使用图数据功能的用户而言,将大幅降低应用和开发成本。现阶段主打OLTP能力,可以使用spark graphframes拓展图分析能力。您可以在数据库中创建,查询和修改许多图形。GraphDB基于Apache Tinkerpop栈构建,并使用Gremlin语言进行遍历,更新和查询。

更多请参考:阿里云图数据库GraphDB上线 业务场景全解析

蚂蚁金服
GeaBase:GeaBase(Graph Exploration and Analytics Database)是我刚进入图数据库领域时最早听闻的国产图数据库,主打中国首个实时金融级分布式图数据库。实时和金融级2个前缀彰显了GeaBase的技术底蕴。首先,GeaBase支持海量的数据。目前,GeaBase支撑着蚂蚁金服的多个关键应用场景,包括风控关系网络、资金关系网络,都达到百亿个节点、千亿条边的海量数据规模,其计算查询能力达到了非常高的水准。其次,GeaBase拥有非常强悍的在线查询性能,支持高并发,且具备毫秒级的低延时能力。通过与Titan的对比,可以看到无论是延时还是吞吐量,GeaBase的查询性能都领先许多。GeaBase还具备高可用的特性。其配置了多种容错机制,引入了多集群和多方位的监控体系,并配备了分布式架构的容灾方案,这一切都是为了保证高可用性。蚂蚁金服还为GeaBase研发了灵活且可扩展的查询语言。另外,为了和开源结合,GeaBase还将支持Gremlin图遍历语言。

参考:https://www.jianshu.com/p/dbd1d9526a39
体验地址:
https://tech.antfin.com/products/GEABASE
s://http://www.zhihu.com/org/fei-ma-ke-ji/activities

创邻科技
创邻科技也是一个专注图数据库和图计算领域的创业公司。目前具有分布式图数据库、分布式图计算平台、可视化分析引擎三款产品。分布式图数据库Galaxybase获得了世界上第一个也是目前唯一一个关于分布式图数据库和图计算系统的专利,具有自主知识产权。
Galaxybase的数据关联查询性能较目前国际同类技术服务商快数十倍,较传统关系型数据库技术快数千倍;海量数据扩展性能承载千亿节点的超级大图;提供银行级别的事务支持。分布式图计算平台,采用第三代高性能分布式运算技术,实现分布式图数据的“存储+运算”一体化,支撑海量数据的高并发实时读写、查询、运算及分析。可视化分析引擎自动将人、事、物等多元信息精准组织成领域知识图谱,通过可视化图形界面简易部署算法、构架模型、实时计算并展示结果,实现数据关联挖掘、异常关联监控。
在由中国信息协会联合信息化观察网、圆润互联信息技术研究院共同举办的“2019中国互联网+产业创新合作发展论坛”中,创邻科技实力斩获“2019互联网+知识图谱深度挖掘认知领域影响力企业”和“2019互联网+图数据存储优秀解决方案企业”双项大奖。

体验地址:
http://www.chuanglintech.cn/#/home

欧若数网
2019年5月,Nebula Graph横空出世并宣布开源,欧若数网的创始人是原蚂蚁金服基础技术部图计算及存储技术团队的负责人,欧若专注于新一代图计算和图数据库的研发和推广。
Nebula Graph是世界上唯一能够容纳千亿个顶点和万亿条边,并提供毫秒级查询延时的图数据库解决方案,适用于需要快速遍历多关系的任何案例,如社交网络,知识图谱,欺诈检测等领域。Nebula Graph 的目标是为超大规模图数据提供高并发,低延时的读、写及计算。Nebula Graph 的具有全对称分布式架构、可扩展、高可用、数据强一致、类 SQL 查询语言、用户鉴权、支持多存储后端等功能,同时具备高度的安全性。Nebula Graph是开源的,使用Apache 2.0许可证,可以免费下载,修改以及部署源代码。
读 Nebula 的源码可以发现其底层存储引擎为 RocksDB、HBase 等。Nebula 在设计存储时,采用 share-nothing 的分布式架构,本质上存储节点间没有数据共享,通过多块磁盘做多实例,也就是整个分布式结构无中心节点。这样的好处在于,第一,容易做水平拓展;第二,即使部分机器 Crash,通过数据强一致性—— Raft 协议能保证整个系统的可用性,不会丢失数据。整个的核心代码都是 C++ 写的,这样保证了执行效率。其次,做了很多并行和异步执行的优化。第三个是计算下推。在分布式系统里面,硬件上网络对整体性能的影响最大,所以数据搬迁是一个很低效的动作。有些开源图数据库产品,比如 JanusGraph,它的存储层在 HBase,上面有个单独的计算层,当计算层需要数据的时候,会到 HBase 里面拉回大量的数据,再做过滤和计算。举个例子,1 万条数据里面最终过滤出 100 条,那相当于 99% 的网络传输都浪费了。所以 Nebula 的设计方案是移动计算,而不是数据,计算下推到存储层,像前面这个例子,直接在存储层做完过滤再回传计算层,这样可以有 100 倍的加速。

强烈建议读一下Nebula Graph的详细介绍:https://zhuanlan.zhihu.com/p/77459312
Nebula Graph的文档非常丰富,还提供docker镜像可以快速上手,而且提供了学习视频(可以去B站学习了)。极其到位的体验,使得Nebula Graph短短几个月迅速获得1.6万的Star,收获30多个contributors,高效发布4个迭代版本。

项目地址:
https://github.com/vesoft-inc/nebula/blob/master/README-CN.md
知乎官方账号:
https://www.zhihu.com/org/nebulagraph/activities

北京大学王选计算机研究所
gStore大规模图数据库管理系统是北京大学王选计算机研究所邹磊教授研究团队自主研发的具有完全自主知识产权的开源图数据库系统。大量的基准知识图谱数据的评测结果和第三方的评测报告显示gStore系统在图谱数据量大、查询复杂等环境下其性能要明显优于现有的工业图数据库系统。该项目发表了数据库领域国际顶级期刊和会议论文(包括SIGMOD,VLDB)等30余篇,被国内外学术同行引用超过2000次,前期理论研究成果获得教育部自然科学二等奖(获奖项目名称:“大规模图结构数据管理”),系统开源以来在开源社区(Github和开源中国)获得了广泛关注。
公众号「图谱学苑」,曾有一篇文章《开源图数据库项目gStore的应用与合作介绍》做了非常详细的讲解,感兴趣的朋友请自行搜索。

原文链接

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!