Dgraph简介

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

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

Dgraph有一些缺点:

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

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 基于每种数据类型,提供了不同的索引及其分词器。目前,建立索引及分词器的意义在于,建立以后可以使用相应的系统函数。
图数据库Dgraph学习笔记
需要注意的是
1.count 需要和 list 配合使用,即选用 list 后,才可选用 count
2.upsert 需要和 index 配合使用,即选用 index 后,才可选用 upsert
3.对于 string 类型使用 tokenizer 时,exact、hash、term 只能任选其一

相关文章:

  • 2022-12-23
  • 2021-11-04
猜你喜欢
  • 2021-06-06
  • 2021-07-03
  • 2021-05-12
  • 2022-01-05
  • 2021-06-25
相关资源
相似解决方案