图数据库 Nebula Graph 在 Boss 直聘的应用

BOSS 直聘图数据库实践

本文首发于 Nebula Graph 官方博客:https://nebula-graph.com.cn/posts/nebula-graph-risk-control-boss-zhipin/

摘要:在本文中,BOSS 直聘大数据开发工程师主要分享一些他们内部的技术指标和选型,以及很多小伙伴感兴趣的 Dgraph 对比使用经验。

业务背景

在 Boss 直聘的安全风控技术中,需要用到大规模图存储和挖掘计算,之前主要基于自建的高可用 Neo4j 集群来保障相关应用,而在实时行为分析方面,需要一个支持日增 10 亿关系的图数据库,Neo4j 无法满足应用需求。

针对这个场景,前期我们主要使用 Dgraph,踩过很多坑并和 Dgraph 团队连线会议,在使用 Dgraph 半年后最终还是选择了更贴合我们需求的 Nebula Graph。具体的对比 Benchmark 已经有很多团队在论坛分享了,这里就不再赘述,主要分享一些技术指标和选型,以及很多小伙伴感兴趣的 Dgraph 对比使用经验。

技术指标

硬件

配置如下:

  • 处理器:Intel® Xeon® Gold 6230 CPU @ 2.10GHz 80(cores)
  • 内存:DDR4,128G
  • 存储:1.8T SSD
  • 网络:万兆

Nebula Graph 部署 5 个节点,按官方建议 3 个 metad / 5 个 graphd / 5 个 storaged

软件

  • Nebula Graph 版本:V1.1.0
  • 操作系统:CentOS Linux release 7.3.1611 (Core)

配置

主要调整的配置和 storage 相关
# 按照文档建议,配置内存的 3 分之 1
--rocksdb_block_cache=40960# 参数配置减小内存使用
--enable_partitioned_index_filter=true
--max_edge_returned_per_vertex=100000

指标

目前安全行为图保存 3 个月行为,近 500 亿边,10 分钟聚合写入一次,日均写入点 3,000 万,日均写入边 5.5 亿,插入延时 <=20 ms。

BOSS 直聘图数据库实践

BOSS 直聘图数据库实践

BOSS 直聘图数据库实践

读延时 <= 100 ms,业务侧接口读延时 <= 200 ms,部分超大请求 < 1 s

BOSS 直聘图数据库实践

BOSS 直聘图数据库实践

当前磁盘空间占用 600G * 5 左右

BOSS 直聘图数据库实践

CPU 耗用 500% 左右,内存使用稳定在 60 G 左右

BOSS 直聘图数据库实践

Dgraph 使用对比

目前来说原生分布式图数据库国内选型主要比对 Dgraph和 Nebula Graph,前者我们使用半年,整体使用对比如下,这些都是我们踩过坑的地方。

BOSS 直聘图数据库实践

就我们使用经验,Dgraph 设计理念很好,但是目前还不太满足我们业务需求,GraphQL 的原生支持还是有很大吸引力,但是存储结构决定容易 OOM(边存储也分组的话会优化很多,官方之前计划优化);另外,采用自己编写的 badger 和 ristretto,目前最大的问题是从官方释放的使用案例来看,未经大规模数据场景验证,在我们实际使用中,大数据量和高 QPS 写入场景下容易出现崩溃和 OOM,且如果采用 SSD 存储海量数据,Dgraph 的磁盘放大和内存占用也需要优化。

如果没有高 QPS 写入,目前 Dgraph 还是值得一试,对于很多快速原型的场景,作为 GraphQL 原生图数据库使其非常适合做基于图的数据中台,这是目前的一个大趋势,它也上线了自己的云服务,业内标杆 TigerGraph 也在做相关探索,另外事务的完善支持也是它的优势,这块暂时用不到,所以没做相关评测。实测 Dgraph 在线写入并发不高或只是离线导入数据使用的情况下还是很稳定的,如果想借助它的高可用和事务功能,可以尝试下。

对比来说,Nebula Graph 很优秀,特别是工程化方面,体现在很多细节,可以看出开发团队在实际使用和实现上做较了较好的平衡:

  • 1.支持手动控制数据平衡时机,自动固然很好,但是容易导致很多问题
  • 2.控制内存占用(enable_partitioned_index_filter 优化和设置单次最大返回边数目),都放在内存固然快,但有时候也需要考虑数据量和性能的平衡
  • 3.多图物理隔离,多张图实在太有必要
  • 4.nGQL 最大程度接近最常用 MySQL 语句,2 期兼容 Cypher 更加完美;对比 GraphQL 固然香,但写起复杂图查询真的让人想爆炸,可能还是更加适合做数据中台查询语言
  • 5.和图计算框架的结合,最近释放的 Spark GraphX 结合算法非常有用,原先我们的图计算都是基于 GraphX 从 Neo4j 抽取后离线计算团伙,后续打算尝试 Nebula Graph 抽取

这里主要从实际经验对比分享,二者都在持续优化,都在快速迭代,建议使用前多看看最新版本 release说明。

建议

当前 Nebula Graph 做得很优秀,结合我们现在的需求也提一点点建议:

  • 1.更多离线算法,包括:现有的图神经网络这块的支持,图在线查询多用在分析,真正线上应用目前很多还是图计算离线算完后入库供查询
  • 2.Plato 框架的合并支持,Spark GraphX 相对计算效率还是低一些,如果能整合腾讯的 Plato 框架更好
  • 3.借鉴 TigerGraph 和 Dgraph,支持固化 nGQL 查询语句直接生成服务 REST 端点HTTP 传入参数即可查询,这样可快速生成数据查询接口,不用后台再单独连接数据库写 SQL 提供数据服务

目前 Boss 直聘将 Nebula Graph 图数据库应用在安全业务,相关应用已经线上稳定运行大半年,本文分享了一点经验,抛砖引玉,期望更多技术伙伴来挖掘Nebula这座宝库。

Dgraph 遇到的一些问题,供有需要小伙伴参考

  • 给 Dgraph 一些 issues
  • 给 Dgraph 提交的 PRs

参考文章

  • 360 的 JanusGraph 到 Nebula Graph 数据迁移

本文系 Boss直聘·安全技术中心 文洲 撰写

推荐阅读

  • Nebula Graph 在微众银行数据治理业务的实践
  • 图数据库选型 | 360 数科的图数据库迁移史

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30795.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python的boss直聘职位信息数据分析系统

本项目主要利用python技术爬取BOSS直聘网站上的岗位信息&#xff0c;进行对比分析UI设计师与产品经理两个职位的趋势。爬取字段&#xff1a;工作地点&#xff0c;薪资范围&#xff0c;学历要求&#xff0c;工作经验&#xff0c;公司性质等。 模拟登陆BOSS直聘网站&#xff0c;爬…

在线招聘江湖:BOSS直聘向左 猎聘向右

在线招聘行业的“老大之争”还在持续。 作为国内最早互联网化和最早盈利的行业之一&#xff0c;在线招聘行业历经几十年发展&#xff0c;已经跑出了一批具有代表性的玩家。比如瞄准中高端招聘市场的猎聘、凭借营销打法出圈的BOSS直聘&#xff0c;老牌招聘网站前程无忧、智联招…

浅对boss直聘上广州的数据分析岗位发布情况进行分析

1.项目背景 马上就要出去实习了&#xff0c;想对广州各个区数据分析岗位做一个了解&#xff0c;看看自己成为一名数据分析师还需要学习哪些技能还有了解广州各区数据分析岗位薪资如何。 2.研究问题 &#xff08;1&#xff09;广州哪个区的数据分析岗位招的最多&#xff1f; …

python基于大数据的boss直聘数据招聘职位分析系统django

本项目主要利用python技术爬取BOSS直聘网站上的岗位信息&#xff0c;进行对比分析UI设计师与产品经理两个职位的趋势。爬取字段&#xff1a;工作地点&#xff0c;薪资范围&#xff0c;学历要求&#xff0c;工作经验&#xff0c;公司性质等。 模拟登陆BOSS直聘网站&#xff0c;爬…

Boss直聘招聘数据分析岗位小分析

嗨喽! 大家好&#xff0c;我是“流水不争先&#xff0c;争得滔滔不绝”的翀&#xff0c;18双非本科生一枚&#xff0c;正在努力&#xff01;欢迎大家来交流学习&#xff0c;一起学习数据分析&#xff0c;希望我们一起好好学习&#xff0c;天天向上&#xff0c;目前是小社畜一枚…

Boss直聘招聘数据分析-202104月版

西安boss直聘4月招聘信息分析 关于boss直聘数据采集可查看另一篇文章《Boss直聘数据采集及分析》 金三银四&#xff0c;一年里比较火热的招聘季即将结束&#xff0c;那么西安软件开发行业截止目前还剩余的招聘岗位都还有哪些呢&#xff0c;近期在查看boss站点的时候就顺手…

chatgpt赋能python:Python函数拟合:理解、应用和优化

Python函数拟合&#xff1a;理解、应用和优化 Python是一种广泛使用的高级程序设计语言&#xff0c;它具有简单易学、开放源代码、跨平台、扩展性强等特点。在数据科学领域&#xff0c;Python是数据分析和建模的重要工具之一。其中&#xff0c;Python的函数拟合库具有重要的地…

交易猫源码+后台搭建教程

教程&#xff1a;修改数据库账号密码直接使用\n\n程序&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

《魅魔succubus》 来自韩国3d建模师 yeonghee cho

作品《魅魔succubus》 来自韩国3d建模师 yeonghee cho~~~ 或许你还想了解这些内容&#xff1a; 文章推荐阅读 【 学习企鹅圈&#xff1a;1072172722 】 &#xff1a; 3d建模什么水平能找到工作&#xff1f;次世代游戏建模需要学多久 3D建模师薪资怎么样? 室内设计建模6k&a…

浅浅分析一下Retrofit

浅浅分析一下Retrofit 文章目录 浅浅分析一下Retrofit简单介绍示例根据接口创建Java接口&#xff1a;创建retrofit对象&#xff0c;并生成接口实现类对象 注解请求类注解参数类注解标记类注解注解解析 好处 ​ 要想实现和服务器的通信&#xff0c;我们需要使用通讯间的协议来进…

浅浅分析滤波器截止频率

截止频率是描述滤波器性能的一个指标。对于一个滤波器&#xff0c;在其输入信号幅度保持不变的情况下&#xff0c;只改变输入信号的频率&#xff0c;当其输出信号幅度下降为输入信号幅度的0.707倍时&#xff0c;此时的频率即为该滤波器的截止频率。 一、理论分析 对于上图所示…

浅浅的介绍一下STL

1.什么是STL STL 全称 (Standard Template Library)&#xff0c;就是标准模板库&#xff0c;说人话就是C标准里帮我们写好了一些经常用到的东西&#xff0c;其中包括容器&#xff08;就是存东西的&#xff09;、算法&#xff08;例如之前学过的sort &#xff09;、迭代器&#…

浅浅的计算机网络知识

目录 计算机网络&#xff08;连接分散计算机设备以实现信息传递的系统&#xff09;_百度百科 传输协议 传输层次 通信 计算机网络协议分层结构 开放系统互连参考模型的特点 IPv4协议 IPv6协议 FTP HTTP 网络传输协议 较为系统框架 先面向百度搭建理解框架 计算机网…

浅浅理解一下堆

目录 一、堆的定义及本质 二、堆的核心操作 1、向下调整 2、堆的创建 3、向上调整 三、堆的比较器传入及堆中简单函数的实现 四、堆的应用 1、用于OS调度进程 2、topk问题 3、堆排序 一、堆的定义及本质 堆在Java中是以优先级队列来表现的&#xff08;PrityQueue&#…

浅浅的复习一下sql

DISTINCT 语法&#xff1a; SELECT DISTINCT 列名称 FROM 表名称1、现在有一个表如下&#xff1a; 2、执行sql语句-1 SELECT DISTINCT ename,email FROM emp 结果&#xff1a; 说明&#xff1a;由于小刘的ename和email重复了&#xff0c;所以结果只显示一次&#xff01; 3…

浅浅仿制一个APP首页

一、实验目标 做一个APP首页&#xff0c;包括顶部图片、顶部菜单栏、中部消息模块、底部Tab按钮。学习 ScrollView, RelativeLayout&#xff0c;以及插件之间的穿插使用。 二、实验步骤 列出实验的关键步骤、代码解析、截图。 1.逻辑梳理 做一个app首页&#xff0c;包括顶部…

花嫁之容氏浅浅最后怎么样了_花嫁之容氏浅浅章节目录阅读

花嫁之容氏浅浅小说完整版无弹窗在线阅读。花嫁之容氏浅浅小说是作者&#xff1a;许暖暖创作完成的一本热门玄幻灵异小说&#xff0c;主要讲述女主舒浅和鬼王容祁两人的精彩故事。梦里&#xff0c;舒浅感受到一双冰冷的手在自己身上游走&#xff0c;可是即使这样&#xff0c;舒…

干货文章 | 低代码真的有价值吗?

作者&#xff1a;瀚码技术钟惟渊&#xff08;第⼀作者&#xff09;、独⽴顾问王甲佳&#xff08;第⼆作者&#xff09;、瀚码⼀⼑云叨叨AI助⼿&#xff08;第三作者&#xff09; 全文共4912字&#xff0c;阅读约需要15min 本系列文章由瀚码技术钟惟渊构思、制定大纲、组织了关…

零信任落地实践【新世界】

&#x1f315;写在前面 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ✉️今日分享&#xff1a; 莫道前路多险阻&#xff0c;再闯关山千万重 &#x1f340; 前言 轻舟已过万重山&#xff0c;始终不忘初心。在网络安全领域&#xff0c;我们…

神龙显灵-走进中国传统节日二月二龙抬头

二月二龙抬头&#xff0c;是中国传统的节日之一&#xff0c;也是春节的收官之战。这个节日被视为一个转折点&#xff0c;标志着春天的到来&#xff0c;也为农民们带来了新的希望和期待。 二月二这个日子有很多习俗和传说&#xff0c;其中最著名的就是“龙抬头”。据传说&#…