摘要数据库容器化是最近的一大热点,Kubernetes能给数据库带来故障恢复、存储管理、负载均衡、水平拓展等好处。而它在图数据库NebulaGraph中可以发挥什么作用呢?Kubernetes是什么Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes在设计结构上定义了一系列的构建模块,其目的是为了提...
2022-10-14 16:10:17 5697浏览 0点赞 0回复 0收藏
摘要介于市面上没有统一的图查询语言标准,在本文中我们选取市面上主流的几款图查询语言来分析一波用法文章的开头我们先来看下什么是图数据库,根据维基百科的定义:图数据库是使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。虽然和关系型数据库存储的结构不同(关系型数据库为表结构,图数据库为图结构),但不计各自的性能问题,关系型数据库可以通过递归查询或者组合其他SQL语句(Join)完成图查询...
2022-10-14 16:10:01 9314浏览 0点赞 0回复 0收藏
摘要NebulaGraph作为一个高性能的分布式图数据库,对于属性值的高性能查询,同样也实现了索引功能。本文将对NebulaGraph的索引功能做一个详细介绍。索引是数据库系统中不可或缺的一个功能,数据库索引好比是书的目录,能加快数据库的查询速度,其实质是数据库管理系统中一个排序的数据结构。不同的数据库系统有不同的排序结构,目前常见的索引实现类型如BTreeindex、B+Treeindex、BTreeindex、Hashindex、Bitmapindex、Inverted...
2022-10-14 16:09:39 5271浏览 0点赞 0回复 0收藏
摘要说起自动化,无论是在公司还是我们个人的项目中,都会用到或者编写一些工具来帮助我们去处理琐碎重复的工作,以节约时间提升效率,尤其是我们做前端开发会涉及诸如构建、部署、单元测试等这些开发工作流中重复的事项,本篇文章就是介绍如何利用GitHub提供的Actions来完成我们前端的发布自动化。GithubActions什么是Actions笔者个人理解为在某种条件下可被触发的任务,利用一个个任务(Action)就可组建成我们的工作流,想要...
2022-10-14 16:09:21 4442浏览 0点赞 0回复 0收藏
本文旨在介绍vivo内部的特征存储实践、演进以及未来展望,抛砖引玉,吸引更多优秀的想法。01需求分析AI技术在vivo内部应用越来越广泛,其中特征数据扮演着至关重要的角色,用于离线训练、在线预估等场景,我们需要设计一个系统解决各种特征数据可靠高效存储的问题。特征数据特点1.Value大特征数据一般包含非常多的字段,导致最终存到KV上的Value特别大,哪怕是压缩过的。特征场景要存的数据量很大,内存型的KV(比如RedisCluste...
2022-10-14 16:09:02 4973浏览 0点赞 0回复 0收藏
身处在现在这个大数据时代,我们处理的数据量需以TB、PB,甚至EB来计算,怎么处理庞大的数据集是从事数据库领域人员的共同问题。解决这个问题的核心在于,数据库中存储的数据是否都是有效的、有用的数据,因此如何提高数据中有效数据的利用率、将无效的过期数据清洗掉,便成了数据库领域的一个热点话题。在本文中我们将着重讲述如何在数据库中处理过期数据这一问题。在数据库中清洗过期数据的方式多种多样,比如存储过程、事件等...
2022-10-14 16:07:48 3792浏览 0点赞 0回复 0收藏
本文主要讨论图数据库背后的设计思路、原理还有一些适用的场景,以及在生产环境中使用图数据库的具体案例。01从社交网络谈起下面这张图是一个社交网络场景,每个用户可以发微博、分享微博或评论他人的微博。这些都是最基本的增删改查,也是大多数研发人员对数据库做的常见操作。而在研发人员的日常工作中除了要把用户的基本信息录入数据库外,还需找到与该用户相关联的信息,方便去对单个的用户进行下一步的分析,比如说:我们...
2022-10-14 16:07:23 4624浏览 0点赞 0回复 0收藏
01Discourse介绍Discourse是一款由StackOverflow的联合创始人——JeffAtwood,基于RubyonRails开发的开源论坛。相较于传统论坛,Discourse从他全面开放的开源态度、简介明了的页面风格到其特有的内容运作体系都在证明自己是一款为下一个10年的互联网而设计的产品。现在,诸如CarTalk等国外知名产品都采用Discourse为论坛方案。作为一个开源的论坛项目,Discourse相对其他的论坛有以下亮点:●高度可定制:从发帖等级要求权限到...
2022-10-13 15:07:09 7307浏览 0点赞 0回复 0收藏
NebulaGraph是一个高性能、高可用、强一致的分布式图数据库。由于NebulaGraph采用的是存储计算分离架构,在存储层实际只是暴露了简单的kv接口,采用RocksDB作为状态机,通过Raft一致性协议来保证多副本数据一致的问题。Raft协议虽然比Paxos更加容易理解,但在工程实现上还是有很多需要注意和优化的地方。另外,如何测试基于Raft的分布式系统也是困扰业界的问题,目前Nebula主要采用了Jepsen作为一致性验证工具。之前我的小伙伴...
2022-10-13 15:03:09 3220浏览 0点赞 0回复 0收藏
在本系列的前文[1,2]中,我们介绍了如何使用Python语言图分析库NetworkX[3]+NebulaGraph[4]来进行<权力的游戏>中人物关系图谱分析。在本文中我们将介绍如何使用Java语言的图分析库JGraphT[5]并借助绘图库mxgraph[6],可视化探索A股的行业个股的相关性随时间的变化情况。01数据集的处理本文主要分析方法参考了[7,8],有两种数据集:股票数据(点集)从A股中按股票代码顺序选取了160只股票(排除摘牌或者ST的)。每一支股票都被建...
2022-10-13 15:01:05 5037浏览 0点赞 0回复 0收藏
本文介绍如何使用DockerSwarm来部署NebulaGraph集群,并部署客户端负载均衡和高可用。01nebula集群搭建1.1环境准备机器准备在安装前确保所有机器已安装Docker1.2初始化swarm集群在192.168.1.166机器上执行1.3加入worker节点根据init命令提示内容,加入swarmworker节点,在192.168.1.167192.168.1.168分别执行1.4验证集群1.5配置dockerstack配置如下内容编辑nebula.env,加入如下内容1.6启动nebula集群02集群负载均衡及高可用配...
2022-10-13 15:00:26 5552浏览 0点赞 0回复 0收藏
01前言近年来,深度学习和知识图谱技术发展迅速,相比于深度学习的“黑盒子”,知识图谱具有很强的可解释性,在搜索推荐、智能助理、金融风控等场景中有着广泛的应用。美团基于积累的海量业务数据,结合使用场景进行充分地挖掘关联,逐步建立起包括美食图谱、旅游图谱、商品图谱在内的近十个领域知识图谱,并在多业务场景落地,助力本地生活服务的智能化。为了高效存储并检索图谱数据,相比传统关系型数据库,选择图数据库作为...
2022-10-13 14:58:17 8980浏览 0点赞 0回复 0收藏
01需求在开发或者测试过程中,我们经常会用到vesoftincnebuladockercompose[1]这个repo下的部署方式,因为当初为了尽可能的压缩每个NebulaGraph服务的docker镜像的体积,所以开发过程中常用的一切工具都没有安装,甚至连编辑器VIM都没有。这给我们在容器内部定位问题带来一定的难度,因为每次只能去install一些工具包,才能开展接下来的工作,甚是费事。其实调试容器内部的进程还有另外一种方式,不需要破坏原有容器的内容,也...
2022-10-13 14:57:59 4885浏览 0点赞 0回复 0收藏
01背景随着网络信息技术的飞速发展,数据逐渐向多源异构化方向发展,且不同来源的异构数据之间也存在千丝万缕的关联,这种数据之间隐藏的关联关系和网络结构特性对于数据分析至关重要。但传统关系型数据库在分析大规模数据关联特性时存在性能缺陷、表达有限等问题,因此有着更强大表达能力的图数据库受到业界极大重视,图计算就是以图作为数据模型来表达问题并予以解决的过程。图可以融合多源多类型的数据,除了可以展示数据静...
2022-10-13 14:57:29 5542浏览 0点赞 0回复 0收藏
01从NebulaGraph的架构谈起NebulaGraph是一个高性能的分布式开源图数据库,从架构上可以看出,一个完整的NebulaGraph集群由三类服务组成,即MetaService,QueryService(ComputationLayer)和StorageService(StorageLayer)。每类服务都是一个由多副本组件组成的集群,在NebulaOperator中,我们分别称这三类组件为:MetadGraphdStoraged。●Metad:主要负责提供和存储图数据库的元数据,并承担集群中调度器的角色,指挥存储扩容...
2022-10-08 14:13:10 5289浏览 0点赞 0回复 0收藏
01背景图谱业务随着时间的推移愈发的复杂化,逐渐体现出了性能上的瓶颈:单机不足以支持更大的图谱。然而,从性能上来看,Neo4j的原生图存储有着不可替代的性能优势,这一点是之前调研的JanusGraph、Dgraph等都难以逾越的鸿沟。即使JanusGraph在OLAP上面非常出色,对OLTP也有一定的支持,但是GraphFrame等也足以支撑其OLAP需求,更何况在Spark3.0会提供Cypher支持的情况下,图谱的OLAP需求相比OLTP有更多途径可以解决。这个时候...
2022-10-08 14:12:41 4222浏览 0点赞 0回复 0收藏
在关系网络分析、关系建模、实时推荐等场景中应用图数据库作为后台数据支撑已相对普及,且部分应用场景对图数据的实时性要求较高,如推荐系统、搜索引擎。为了提升数据的实时性,业界广泛应用流式计算对更新的数据进行增量实时处理。为了支持对图数据的流式计算,NebulaGraph团队开发了NebulaFlinkConnector,支持利用Flink进行NebulaGraph图数据的流式处理和计算。Flink是新一代流批统一的计算引擎,它从不同的第三方存储引擎...
2022-10-08 14:12:01 5558浏览 0点赞 0回复 0收藏
如果有人告诉你,下面的C++函数会导致程序crash,你会想到哪些原因呢?如果再多给一些描述,比如:●Crash以一定的概率复现●Crash原因是段错误(SIGSEGV)●现场的Backtrace经常是不完整甚至完全丢失的。●只有优化级别在O2以上才会(更容易)复现●仅在Clang下复现,GCC复现不了好了,一些老鸟可能已经有线索了,下面给出一个最小化的复现程序和步骤:因为backtrace信息不完整,说明程序并不是在第一时间crash的。面对这种情...
2022-10-08 14:11:31 4884浏览 0点赞 0回复 0收藏
本文为360数科大数据工程师周鹏在nMeetup深圳场的演讲文字稿,演讲视频参见:B站大家好!我先大概介绍一下我们公司。不知道大家对360数科了不了解,我们之前的名字是叫360金融,然后今年开始往数科进行转型,所以它的品牌改成了360数科。360数科最主要的产品是360借条,估计大家刷抖音或今日头条时刷到过。所以说我们核心的就是贷款业务。有对个人的贷款也有对小微企业的,还有一些增强的业务。因为我们直接给出去的就是钱,所...
2022-10-08 14:11:04 4373浏览 0点赞 0回复 0收藏
>>>>NebulaOperator介绍关于NebulaOperator的介绍,大家可以参考之前那篇博客:一文详解云上自动化部署集群管理工具NebulaOperator。本文将主要侧重于实践方向,让你能很快地入手NebulaOperator,体验图数据库的乐趣!>>>>NebulaOperator云上实践到这里,开始进入正题,本文将使用阿里云进行NebulaOperator实践,其他云厂商类似。安装工具本次实践需要在操作电脑上安装如下基础工具:●Kubectl,链接:https:kubernetes.ioz...
2022-10-08 14:09:48 4409浏览 0点赞 0回复 0收藏