速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

LinkedIn 图数据库 LIquid:为 9.3 亿会员提供实时数据访问

作者:Eran Stiller

  • 2023-07-07
    北京
  • 本文字数:1014 字

    阅读完需:约 3 分钟

LinkedIn图数据库LIquid:为9.3亿会员提供实时数据访问

最近,LinkedIn 分享了其图数据库LIquid是如何自动索引和实时访问会员、学校、技能、公司、职位、工作、事件等之间的关系数据的。这个知识图谱被称为 LinkedIn 的“Economic Graph”,有 2700 亿条边,并且还在不断增长,目前每秒处理 200 万次查询。


LinkedIn 将其“你可能认识的人(People You May Know,PYMK)”推荐系统从传统的 GAIA 系统迁移到了 LIquid。这一变化显著改善了每秒查询数(QPS)、延迟和 CPU 利用率。QPS 从 120 增加到 18000,延迟从超过 15 秒下降到平均 50 毫秒以下,CPU 利用率下降了 3 倍以上。LIquid 还引入了新的数据库索引技术,支持实时数据查询,实现了即时推荐。



图片来源:https://engineering.linkedin.com/blog/2023/how-liquid-connects-everything-so-our-members-can-do-anything


上图是系统的架构图,使用了 LIquid,可以以较小的延迟和可接受的硬件成本来执行图查询。通过 LIquid 对Economic Graph的查询生成数百个候选对象,并应用第二个排名函数。这个排名函数使用Venice的机器学习功能和Apache Pinot的分析见解来评分并选择最佳候选对象。过滤步骤为呈现和最终评分准备好了这个排名列表。


LIquid 的设计使其能够伸缩到当前十倍的规模,可以支持 LinkedIn 9.3 亿多会员的有机增长和新的语义领域。它提供 99.99%的可用性,并可以自动根据图的大小和活动量的增加进行自动伸缩。


图数据库使用基于Datalog的可组合声明式查询语言,帮助开发人员高效地访问和使用数据。可组合语言能够让开发人员在现有的特性(叫作模块)上进行构建,声明式语言能够让开发人员专注于表达他们想要开发的东西,而 LIquid 自动化了高效的访问过程。开发人员因此可以快速变更数据集,大大减少了调整和更新数据库所需的时间。


LinkedIn 工程总监Bogdan Artintescu描述了 LIquid 的发展路线图:


要让会员能够做更多的事情,我们需要在回答会员的问题方面提供更加完善的能力。我们可以沿着两个方向做出改进。首先,复杂的查询和添加到 Economic Graph 的数据源的多样性将会驱动新特性的开发和呈现。其次,丰富数据将提高推理能力。这可以通过创建派生数据(通过确定性算法或概率机器学习方法)或通过知识图谱(KG)模式中更丰富的语义改进推理来实现。我们计划专注于高性能图形计算和分析,并建立一个 KG 生态系统,让我们的开发人员能够进一步增强会员体验。


LIquid 的成功激励了 LinkedIn 的其他团队和微软的姐妹团队将它作为图数据索引。


原文链接

https://www.infoq.com/news/2023/06/linkedin-liquid-graph-database/

2023-07-07 14:574059

评论

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

【Vue2.x 源码学习】第三十二篇 - diff算法-乱序比对

Brave

源码 vue2 8月日更

失败的小项目-Tiktok搬运

箭上有毒

8月日更

感恩架构实战营学习的一路陪伴、不断进度!

arctec

【Flutter 专题】72 图解极简自定义跑马灯 ACEMarquee

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

Vue进阶(二十五):<component>实现动态组件

No Silver Bullet

Vue 动态组件 8月日更

架构实战营模块 5 作业

zlz

在线圆周率查询下载工具

入门小站

工具

prometheus 语法

Rubble

Prometheus 8月日更

小手哆嗦一下,就能用 Python Django 实现一个微型博客系统

梦想橡皮擦

8月日更

Vue进阶(二十六):详解 router.push()

No Silver Bullet

Vue router 8月日更

Linux之traceroute命令

入门小站

Linux

VSCode July 2021 (version 1.59) 更新

IT蜗壳-Tango

8月日更

手撸二叉树之数据流中的第 K 大元素

HelloWorld杰少

数据结构与算法 8月日更

架构实战营模块 4 作业

zlz

Nvm 安装新的 nodejs 版本

HoneyMoose

netty系列之:使用POJO替代buf

程序那些事

Java Netty nio 程序那些事

SpringBoot 日志配置(logback)

xcbeyond

springboot logback 8月日更

Node.js 实现存储服务的下载功能【包含前后端代码】

liuzhen007

8月日更

HashMap面试中的12个点

4ye

Java 面试 后端 hashmap 8月日更

贡献数字力量 浪潮云洲赋能广州箱包皮具产业集群

工业互联网

从0开始的TypeScriptの四:接口Interfaces · 上

空城机

JavaScript typescript 大前端 8月日更

零代码上线小布对话技能:技能平台的实践与思考

OPPO小布助手

人工智能 自然语言处理 算法 零代码 语义理解

Java环境配置:Eclipse简单上手

Bob

Java eclipse 8月日更

Habor 入门指南

Se7en

电商秒杀系统架构设计

arctec

失败的小项目

箭上有毒

生活随想 8月日更

Regan Yue带你一起学习微软AZ-900认证的有关知识「 第Ⅱ章」

Regan Yue

云计算 微软 后端 8月日更

Windows 中 Node.js 中 nvm 的安装配置和使用

HoneyMoose

JNI不正确的信号处理导致 JVM 崩溃问题分析

毕昇JDK社区

自媒体培训行业水很深,入行新人要谨慎选择

石头IT视角

Linux Docker 中安装 Jenkins 并实现 Maven 工程自动化部署

陈皮的JavaLib

Java maven jenkins 8月日更

LinkedIn图数据库LIquid:为9.3亿会员提供实时数据访问_数据库_InfoQ精选文章