Nebula Graph 的技术总监在 09.24 - 09.30 期间同开源中国·高手问答的小伙伴们以「图数据库的设计和实践」为切入点展开讨论,包括:「图数据库的存储设计」、「图数据库的计算设计」、「图数据库的架构设计」等方面内容,本文整理于他和开源中国小伙伴对图数据库的讨论内容~
图数据库(Graph database)是以图这种数据结构存储和查询的数据库。与其他数据库不同,关系在图数据库中占首要地位。这意味着应用程序不必使用外键或带外处理(如 MapReduce)来推断数据连接。与关系数据库或其他 NoSQL 数据库相比,图数据库的数据模型也更加简单,更具表现力。
自我介绍下,我是微众银行大数据平台的工程师:周可,今天给大家分享一下 Nebula Graph 在微众银行 WeDataSphere 的实践情况。
2000 年前后热门的是 信息检索 和 分析 ,主要是 Google 的带动,以及 Amazon 的 e-commerce 所用的协同过滤推荐,当时 collaborative filtering也被认为是 information retrieval 的一个细分领域,包括 Google 的 PageRank 也是在信息检索领域研究较多。后来才是 Twitter,Facebook 的崛起带动了网络科学 network science的研究。
实时即未来,最近在腾讯云流计算 Oceanus 进行 Flink 实时计算服务,以下为使用自定义图数据库 Nebula Graph Connector 的实践。分享给大家~
上篇序言中我们讲述了源码解读系列的由来,在 Nebula Graph Overview 篇中我们将带你了解下 Nebula Graph 的架构以及代码仓分布、代码结构和模块规划。
图数据库在挖掘黑灰团伙以及建立安全知识图谱等安全领域有着天然的优势。为了能更好的服务业务,选择一款高效并且贴合业务发展的图数据库就变得尤为关键。本文挑选了几款业界较为流行的开源图数据库与 Nebula Graph 进行了多角度的对比。
第三期 nMeetup( nMeetup 全称:Nebula Graph Meetup,为由开源的分布式图数据库 Nebula Graph 发起的面向图数据库爱好者的线下沙龙) 活动于 2019 年 8 月 3 日在上海陆家嘴的汇丰银行大楼举办,我司 CEO -- Sherman 在活动中发表《 Nebula Graph Internals 》主题演讲 。本篇文章是根据此次演讲所整理出的技术干货,全文阅读需要 30 分钟,我们一起打开图数据库的知识大门吧~
摘要:在本文中,BOSS 直聘大数据开发工程师主要分享一些他们内部的技术指标和选型,以及很多小伙伴感兴趣的 Dgraph 对比使用经验。
HBaseCon Asia2019 活动于 2019 年 7 月 20 日于北京金隅喜来登酒店举办,应主办方邀请,Nebula Graph 技术总监-陈恒在活动中发表演讲 “Nebula: A Graph DB based on HBase” 。本篇文章是根据此次演讲所整理出的技术干货,全文阅读需要 30 分钟。[image.png]
> 本文首发于 **[Nebula Graph Community 公众号](https://nebula-website-cn.oss-cn-hangzhou.aliyuncs.com/nebula-blog/WeChatOffical.png)**
大家好,我是来自美团的赵登昌,今天我给大家分享下美团图数据库平台的建设以及业务实践。
我们知道无论是监管部门、企业还是个人,都有需求去针对一个企业、法人做一些背景调查,这些调查可以是法律诉讼、公开持股、企业任职等等多种多样的信息。这些背景信息可以辅助我们做商业上的重要决策,规避风险:比如根据公司的股权关系,了解是否存在利益冲突比如是否选择与一家公司进行商业往来。
开篇之前,先回顾下图数据库市场变化,2018 年前市场大概是 \$ 650,000,000,根据目前市场的研究报告,图数据库市场将在未来的 4 年以年增长 30%~100% 的速度达到 $ 4,130,000,000~$ 8,000,000,000。
Nebula Graph 是由杭州欧若数网科技有限公司(官网:https://www.vesoft.com/cn/)开源的一款分布式图数据库,它主要用来解决伴随着海量数据产生,在关联数据分析、挖掘方面面临的新挑战。自 2019 年 5 月开源以来,Nebula Graph 受到了广泛的关注,许多企业、技术团队、开发者将 Nebula Graph 应用到业务上构建知识图谱、风控、数据治理、反欺诈、实时推荐等场景。在 Nebula 社区中,越来越多用户从案例分享中掌握 Nebula Graph 的使用方法,与此同时,出现了一种声音,部分用户希望能了解 Nebula Graph 背后的实现思路和原理。
先来介绍一下什么是图和图数据库,所谓的图和平常认知的图片其实不是同一个概念,图(Graph)在计算机科学里面是一种数据结构,这种数据结构有三个比较主要的概念:点、边和属性。
因为图数据库的增长趋势一直位列前茅,每年都有媒体预测今年是“图年”。作为曾经的图数据库从业者,Nebula Hackthon 2021 的参赛队伍临江仙的队长王二铁(王建奎),一直在思考,为什么长期火爆的图数据库市场,一直没有真正引爆。在 2018 年图数据库输给了区块链,2019 年又遇到了 5G,随后疫情开始了。在王二铁看来图数据库目前主要还是面向 toB、toG 的市场,在 toC 领域,几乎没有图数据库相关的案例,这也是为什么图技术难以被大众所熟知的原因。
本文首发于 Nebula 公众号:手把手教你从数据预处理开始体验图数据库,由社区用户 Jiayi98 供稿,分享了她离线部署 Nebula Graph、预处理 LDBC 数据集的经验,是个对新手极度友好的手把手教你学 Nebula 分享。
知识图谱是描述客观世界存在的概念或实体以及它们之间的关系,本质上是一种基于图模型的关联网络知识表达,将实体抽象为顶点,将实体之间的关系抽象为边,通过结构化的形式对知识进行建模和描述,并将知识可视化。由于极强的表达能力和可解释性,当前已大量应用在搜索引擎、故障诊断、辅助检修、智能问答、推荐等多个领域。
上面部分引用了维基百科对图数据库的词条来讲解何为图数据库,而本文整理于图数据库 Nebula Graph 交流群中对图数据库的零碎知识,作为对图数据库知识的补充。本文分为小知识及 Q&A 两部分。
快手是一家全球领先的内容社区和社交平台,旨在通过短视频的方式帮助人们发现所需、发挥所长,持续提升每个人独特的幸福感。
开源软件供应链点亮计划 - 暑期 2021(下简称:开源之夏)是由中国科学院软件研究所与 openEuler 社区共同举办的一项面向高校学生的暑期活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。中科院联合包括 Nebula Graph 在内的国内各大开源社区,针对重要开源软件的开发与维护提供项目,并向全球高校学生开放报名。学生在自由选择项目后,与社区导师沟通实现方案并撰写项目计划书。被选中的学生将在社区导师指导下,按计划完成开发工作,并将成果贡献给社区。根据项目的难易程度和完成情况,参与者将获得由主办方发放的 6,000 - 12,000 不等的项目奖金。
Nebula Graph 是开源的高性能分布式图数据库。项目使用 C++ 语言开发,cmake 工具构建。其中两个重要的依赖是 Facebook 的 Thrift RPC 框架和 folly 库.
最近已经有将近三个月没有写博客了, 为啥呢! 这么说吧, 我上王者了, 大家应该都懂得!
近年来,深度学习和知识图谱技术发展迅速,相比于深度学习的“黑盒子”,知识图谱具有很强的可解释性,在搜索推荐、智能助理、金融风控等场景中有着广泛的应用。美团基于积累的海量业务数据,结合使用场景进行充分地挖掘关联,逐步建立起包括美食图谱、旅游图谱、商品图谱在内的近十个领域知识图谱,并在多业务场景落地,助力本地生活服务的智能化。
作为一款 DBaaS(DataBase as s Service)的产品,Nebula Graph Cloud Service 极大地降低了研发人员使用 Nebula Graph 的成本,更专注于使用 Nebula Graph 挖掘、分析数据背后的关联价值。
刚开始接触Nebula图数据库是在Nebula完成800万美元融资的时候,作为过国内图数据库行业的佼佼者,还是比较看好的。真正的分布式存储,万亿级别的图数据库应用场景非常看好。底层完全使用C++实现,性能上某些地方肯定优于JAVA。但是目前用在工业生产还是存在一些问题。图数据计算不够成熟,NQL不是行业标准,不过支持openCypher的脚步正在加快。不够成熟,扩展性不强,这是我们在技术选型上抛弃Nebula的主要原因。下面截图出自Nebula微信社区,主要是说Nebula对于HDD硬盘支持的一些问题,技术选型时一定要注意这些坑。
在 #图计算 on nLive# 直播活动中,来自 Nebula 研发团队的 nebula-plato 维护者郝彤和 nebula-algorithm 维护者 Nicole 分别同大家分享了他她眼中的图计算。
这次主要来介绍下 Nebula 在 Akulaku 智能风控的实践。分为以下 6 个部分内容:
下面这张图是一个社交网络场景,每个用户可以发微博、分享微博或评论他人的微博。这些都是最基本的增删改查,也是大多数研发人员对数据库做的常见操作。而在研发人员的日常工作中除了要把用户的基本信息录入数据库外,还需找到与该用户相关联的信息,方便去对单个的用户进行下一步的分析,比如说:我们发现张三的账户里有很多关于 AI 和音乐的内容,那么我们可以据此推测出他可能是一名程序员,从而推送他可能感兴趣的内容。
身处在现在这个大数据时代,我们处理的数据量需以 TB、PB, 甚至 EB 来计算,怎么处理庞大的数据集是从事数据库领域人员的共同问题。解决这个问题的核心在于,数据库中存储的数据是否都是有效的、有用的数据,因此如何提高数据中有效数据的利用率、将无效的过期数据清洗掉,便成了数据库领域的一个热点话题。在本文中我们将着重讲述如何在数据库中处理过期数据这一问题。
企查查是企查查科技有限公司旗下的一款企业信用查询工具,旨在为用户提供快速查询企业工商信息、法院判决信息、关联企业信息、法律诉讼、失信信息、被执行人信息、知识产权信息、公司新闻、企业年报等服务。
上文(存储篇)说到数据库重要的两部分为存储和计算,本篇内容为你解读图数据库 Nebula 在查询引擎 Query Engine 方面的设计实践。
图数据库(英语:Graph Database)是一个使用图结构进行语义查询的数据库。该系统的关键概念是图,形式上是点 (Node 或者 Vertex) 和边 (Edge 或者 Relationship) 的集合。一个顶点代表一个实体,比如,某个人,边则表示两个实体间的关联关系,比如 “你关注 Nebula Graph”的关注关系。图广泛存在于现实世界中,从社交网络到风控场景、从知识图谱到智能推荐。
钟南山院士团队公开辟谣:「盐水漱口有利于清洁口腔和咽喉,对于咽喉炎有帮助。但是新型冠状病毒侵犯的部位在呼吸道,漱口没有办法清洁呼吸道。其次,目前尚无任何研究结果提示盐水对新型冠状病毒有杀灭作用。
最近 @Yener 开源了史上最大规模的中文知识图谱——OwnThink(链接:https://github.com/ownthink/KnowledgeGraphData ),数据量为 1.4 亿条。
索引是数据库系统中不可或缺的一个功能,数据库索引好比是书的目录,能加快数据库的查询速度,其实质是数据库管理系统中一个排序的数据结构。不同的数据库系统有不同的排序结构,目前常见的索引实现类型如 B-Tree index、B+-Tree index、B*-Tree index、Hash index、Bitmap index、Inverted index 等等,各种索引类型都有各自的排序算法。
过去十年,图计算无论在学术界还是工业界热度持续升高。相伴而来的是,全世界的数据正以几何级数形式增长。在这种情况下,对于数据的存储和查询的要求越来越高。因此,图数据库也在这个背景下引起了足够的重视。根据世界知名的数据库排名网站 DB-Engines.com 的统计,图数据库至 2013 年以来,一直是“增速最快”的数据库类别。虽然相比关系型数据库,图数据库的占比还是很小。但由于具有更加 graph native 的数据形式,以及针对性的关系查询优化,图数据库已经成为了关系型数据库无法替代的数据库类型。此外,随着数据量的持续爆炸性上涨,人们对于数据之间的关系也越来越重视。人们希望通过挖掘数据之间的关系,来获取商业上的成功,以及获得更多人类社会的知识。因此我们相信,天生为存储数据关系和数据挖掘而优化的图数据库会在数据库中持续保持高速增长。
Nebula Graph 是一个高性能、可线性扩展、开源的分布式图数据库。Nebula Graph 采用 shared-nothing 分布式架构,企业可针对性对业务进行扩缩容。
本次 RC1 主要增强了 nGQL,新增 LIMIT , GROUP BY 等语句;算法方面增加了最短路径,全路径搜索。 Storage 层新增 PUT/GET 接口,支持 scale out/in,以及新增了 Golang 客户端以及多线程 Golang 数据导入工具。
本文首发于 Nebula Graph Community 公众号 春节期间如果有小伙伴玩过 Wordle 这个火爆社交媒体的猜词游戏,可能对成语版本的汉兜有所耳闻。在玩汉兜过程中,我发现用 Nebula Graph 的图查询来解 Antfu 的汉兜(中文成语版 Wordle 👉🏻 handle.antfu.me)会是件特别有意思的事情,很适合当作图数据库语句的实操。在本文中,你将了解我是如何用知识图谱“作弊”解汉兜。😁 什么是汉兜? 汉兜(https://handle.antfu.me )是由 Vue/Vi
在 Nebula-Graph 的日常测试中,我们会经常在服务器上部署 Nebula-Graph。为了提高效率,我们需要一种工具,能帮我们做到快速部署,主要的需求:
摘要:Nebula Operator 是 Nebula Graph 在 Kubernetes 系统上的自动化部署运维插件。在本文,你将了解到 Nebula Operator 的特性及它的工作原理。
Nebula Graph 是开源的第三代分布式图数据库,不仅能够存储万亿个带属性的节点和边,而且还能在高并发场景下满足毫秒级的低时延查询要求。不同于 Gremlin 和 Cypher,Nebula 提供了一种 SQL-LIKE 的查询语言 nGQL,通过三种组合方式(管道、分号和变量)完成对图的 CRUD 的操作。在存储层 Nebula Graph 目前支持 RocksDB 和 HBase 两种方式。
在做业务开发时,NebulaGraph Python ORM 项目作者:Sword Elucidator(下文简称:Hao)发现图数据库在某些场景下有比较不错的应用实践,而 NebulaGraph 是他觉得不错、较为先进的一款图数据库产品。在 Hao 的开发过程中,他发现:虽然图数据库被应用在多个业务场景中,但对于像是 App 开发之类的 ISO/OSI 高层实践的话,nebula-python 之类的客户端就略显笨重。
Nebula Graph 是一个高性能、高可用、强一致的分布式图数据库。由于 Nebula Graph 采用的是存储计算分离架构,在存储层实际只是暴露了简单的 kv 接口,采用 RocksDB 作为状态机,通过 Raft 一致性协议来保证多副本数据一致的问题。Raft 协议虽然比 Paxos 更加容易理解,但在工程实现上还是有很多需要注意和优化的地方。
经常看技术文章的小伙伴可能会留意到除了正在阅读的那篇文章,在文章页面的正文下方或者右侧区域会有若干同主题、同作者的文章等你阅读;经常逛淘宝、京东的小伙伴可能发现了,一旦你购买或者查看过某个商品之后,猜你喜欢的推荐商品会贴近你刚拔草的商品…这些日常生活中常遇到的事情,可能是由一个名叫图学习的“家伙”提供技术支持。
Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应用部署,规划,更新,维护的一种机制。
大家好,我是开源项目 NGbatis 的发起人大叶(CorvusYe@GitHub)。目前 NGbatis 也已成为 NebulaGraph 开源生态项目之一。在过去的 4 个月里,NGbatis 从提交第一行代码以来,已经发布了 3 个版本,正在一步步变得越来越好。感谢一路同行的人们。
摘要:本文由社区用户 xrfinbj 贡献,主要介绍 Exchange 工具从 Hive 数仓导入数据到 Nebula Graph 的流程及相关的注意事项。
领取专属 10元无门槛券
手把手带您无忧上云