图数据库Dgraph学习笔记

Dgraph简介

Dgraph是由Google公司开发的一款开源、分布式图数据库系统,为了满足其自身海量的网络搜索查询的需求,其前身是GraphD。截止目前(2020-11-24)最新版本为v20.07。

  • 编写语言:Go编写
  • 不支持SQL
  • 查询语言:DQL
  • 支持分布式
  • 完全开源免费
  • 副本:强一致性
  • 自动数据均衡
  • 支持全文检索
  • 支持正则表达式
  • 支持地理位置检索
  • 支持可视化
  • 维护成本低
  • 写入性能高
  • 查询速度快

Dgraph有一些缺点:

  • 目前还不支持多重边
  • 一个集群只支持一个图
  • 与大数据生态兼容性不足。

Dgraph 架构图

在这里插入图片描述

  • ratel:提供用户界面来执行数据查询,数据修改及元数据管理。
  • alpha:用于管理数据(谓词和索引),外部用户主要都是和 alpha 进行数据交互。
  • group:多个 alpha 组成一个 group,group 中的多个 alpha 通过 raft 协议保证数据一致性。
  • zero:用于管理集群,并在 group 之间按照指定频率去均衡数据。

Dgraph 数据类型

Dgraph 中所有属性都被称为 predicate,即谓词;每个 predicate 都有确定的数据类型。

  • default:默认类型
  • int:64位有符号整数
  • float:64位双精度浮点数
  • bool:布尔
  • geo:地理位置,目前支持 Point、Polygon、MultiPolygon
  • datetime:时间类型
  • string:字符串
  • uid:边的类型,64 位整形,以 16 进制形式表示,如 0x1,系统默认分配

Dgraph 索引及分词器

Dgraph 基于每种数据类型,提供了不同的索引及其分词器。目前,建立索引及分词器的意义在于,建立以后可以使用相应的系统函数。
在这里插入图片描述
需要注意的是
1.count 需要和 list 配合使用,即选用 list 后,才可选用 count
2.upsert 需要和 index 配合使用,即选用 index 后,才可选用 upsert
3.对于 string 类型使用 tokenizer 时,exact、hash、term 只能任选其一

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值