导读 索引是数据库系统中不可或缺的一个功能,数据库索引好比是书的目录,能加快数据库的查询速度,其实质是数据库管理系统中一个排序的数据结构.不同的数据库系统有不同的排序结构,目前常见的索引实现类型如 B-Tree index.B+-Tree index.B*-Tree index.Hash index.Bitmap index.Inverted index 等等,各种索引类型都有各自的排序算法. 虽然索引可以带来更高的查询性能,但是也存在一些缺点,例如: 创建索引和维护索引要耗费额外的时间,往往是…
本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow & 看大厂图数据库技术实践 背景 在 Nebula-Graph 的日常测试中,我们会经常在服务器上部署 Nebula-Graph.为了提高效率,我们需要一种工具,能帮我们做到快速部署,主要的需求: 可以使用非 root 账户部署 Nebula Graph,这样我们可以针对这个用户设置 cgroup 做资源限制. 可以在操作机上更改配置文件,然后分发到部署的集群上,方便我们做各种调参的测试. 可以…
1 概述 1.1 需求背景 图数据库 Nebula Graph 在生产环境中将拥有庞大的数据量和高频率的业务处理,在实际的运行中将不可避免的发生人为的.硬件或业务处理错误的问题,某些严重错误将导致集群无法正常运行或集群中的数据失效.当集群处于无法启动或数据失效的状态时,重新搭建集群并重新倒入数据都将是一个繁琐并耗时的工程.针对此问题,Nebula Graph 提供了集群 snapshot 的创建功能. Snapshot 功能需要预先提供集群在某个时间点 snapshot 的创建功能,以备发生灾难…
本文首发于 Nebula Graph Community 公众号 当游戏上知识图谱,网易游戏是如何应对大规模图数据的管理问题,Nebula Graph 又是如何帮助网易游戏落地游戏内复杂的图的业务呢?在本文,我们来一探究竟. 游戏中的图数据 目前网易游戏大部分的产品都是在线游戏,作为国际领先的头部游戏厂商,网易所吸引的在线玩家数量也是众多的,那么大量的玩家登录我们的游戏势必产生大量各种操作性数据. 如上图中间显示的交易数据--玩家可以购买商城里的物品,或者直接购买其他玩家的物品:社交数据--加好…
Nebula Graph:一个开源的分布式图数据库.作为唯一能够存储万亿个带属性的节点和边的在线图数据库,Nebula Graph 不仅能够在高并发场景下满足毫秒级的低时延查询要求,而且能够提供极高的服务可用性和数据安全性. 本篇主要介绍 Nebula Graph 的数据模型和系统架构设计. 有向属性图 DirectedPropertyGraph Nebula Graph 采用易理解的有向属性图来建模,也就是说,在逻辑上,图由两种图元素构成:顶点和边. 有向属性图 顶点 Vertex 在 Neb…
导读 身处在现在这个大数据时代,我们处理的数据量需以 TB.PB, 甚至 EB 来计算,怎么处理庞大的数据集是从事数据库领域人员的共同问题.解决这个问题的核心在于,数据库中存储的数据是否都是有效的.有用的数据,因此如何提高数据中有效数据的利用率.将无效的过期数据清洗掉,便成了数据库领域的一个热点话题.在本文中我们将着重讲述如何在数据库中处理过期数据这一问题. 在数据库中清洗过期数据的方式多种多样,比如存储过程.事件等等.在这里笔者举个例子来简要说明 DBA 经常使用的存储过程 + 事件来清理过期…
本文为微众银行大数据平台:周可在 nMeetup 深圳场的演讲这里文字稿,演讲视频参见:B站 自我介绍下,我是微众银行大数据平台的工程师:周可,今天给大家分享一下 Nebula Graph 在微众银行 WeDataSphere 的实践情况. 先来说下图数据库应用背景. WeDataSphere 图数据库架构是基于 JanusGraph 搭建,正如邸帅在演讲<NebulaGraph - WeDataSphere 开源介绍>中提及的那样,主要用于解决微众银行数据治理中的数据血缘问题.在使用 Jan…
本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow 看大厂图数据库技术实践. 前言 在先前的 Query Engine 源码解析中,我们介绍了 2.0 中 Query Engine 和 1.0 的主要变化和大体的结构: 大家可以大概了解到用户通过客户端发送一条查询语句,Query Engine 是如何解析语句.把语句构建为抽象语法树,在抽象语法树进行校验.生成执行计划的过程.本文会通过 2.0 中新增的子图算法模块继续讲解 Query Engin…
本文首发于 Nebula Graph Community 公众号 ​在图论中,介数(Betweenness)反应节点在整个网络中的作用和影响力.而本文主要介绍如何基于 Nebula Graph 图数据库实现 Betweenness Centrality 介数中心性的计算. 1. 算法介绍 中心性是用来衡量一个节点在整个网络图中所在中心程度的概念,包括度中心性.接近中心性.中介中心性等. 其中度中心性通过节点的度数(即关联的边数)来刻画节点的受欢迎程度,接近中心性是通过计算每个节点到全图其他所有节…
本文首发于 Nebula Graph Community 公众号 背景 刚学习图数据的内容,当前网上充斥大量的安装文档,参差不齐,部署起来令人十分头疼. 现整理一份比较完整的安装文档,供大家学习参考,本文示例所用 MacBook 采用了 Intel 芯片. 版本 macOS 12.0.1 Docker 20.10.14 Nebula Graph v3.X(20220415-master 分支) Nebula Studio v3.2.2 Nebula Console v3.0.0(20220415…