这篇文章主要介绍用一下RedisGraph的历史和现状。

2018年5月,Redis Labs发布了RedisGraph的预览/测试版。6个月后,在Redis Labs和开源社区的开发者们的共同努力下,RedisGraph的第一个GA正式版本RedisGraph v1.0发行。截止2019年3月,RedisGraph v1.0共进行了15个小版本升级,解决了许多诸如内存泄漏、查询异常的问题,增加了众多功能。也根据社区和客户的反馈,不断扩展RedisGraph模块对函数和查询语句的支持范围。2020年1月,RedisGraph的2.0版本正式发布,自RedisGraph v1.0版发布以来,该项目已经获得了超过1000个GitHub标星和10000多个Docker pull。自1.0版以来,RedisGraph的增强太多,此处无法一一列举,但其中有几个较为重要的进展与突破:

首先是全文搜索,RedisSearch是Redis推出的一个高性能的全文搜索引擎,Redis的使用者可通过加载模块的方式使用它。RedisSearch 1.6的发行版引入了一个新的低级API,该API允许其他模块使用RedisSearch进行二级索引和全文搜索。RedisGraph 2.0是第一个充分利用此功能的通用Redis模块。在此版本之前,RedisGraph通过skiplists实现的索引功能性能优异,但是其仅限于精确匹配,并且不支持前缀或模糊匹配,而且也没法基于给定的标签将两个单独索引用作复合索引。

然后是完整图响应,RedisGraph 2.0不仅可以返回属性值的表格型结果,还可以返回节点,关系和其他数据类型。这项新功能将允许诸如对象图映射(OGM),查询子图和可视化等操作。基于这个完整图响应的强大功能,RedisGraph实现了一些与RedisInsight的集成,并建立了与Linkurious和Graphileon的合作伙伴关系。

RedisInsight是Redis Labs推出的用于简化Redis应用程序开发的GUI,它为Redis提供了直观,高效的GUI,通过对大多数流行的Redis模块的内置支持,用户可以与数据库进行交互并管理库中的数据。它提供了一些工具来分析数据库的使用情况,分析当前库内存占用情况,并指导用户更好地使用Redis。在这个应用程序中,用户可以输入查询并获得可视化小伙。前文中提到的完整图响应的功能允许RedisInsight呈现可视化效果,并允许检查查询返回的节点和边的所有属性,而无需事先知道这些属性。RedisInsight 1.2为探索和查询Redis中存储的图提供了直接支持。对全图响应的新支持使RedisInsight可以将查询子图以可视化形式直接呈现给用户。随后,用户可以单击图形中的节点和边缘以检查属性值或进一步扩展图形。但由于目前RedisGraph对Cypher的支持范围有限,因此用户无法在RedisInsight上直接进行本文中设计的查询操作。因此,虽然RedisInsight是一个功能十分完备的Redis数据库GUI,它提供了很好的可视化效果和交互操作。但作为一个数据库管理软件,无法提供用户想要的查询接口,RedisInsight还需要等待RedisGraph的发展脚步。如果你想体验一下RedisGraph,那么目前来说RedisInsight是最佳选择。

Redis Labs与法国软件开发商Linkurious达成合作,在Linkurious的企业平台Linkurious Enterprise上,Linkurious开发了OGMA库,该库可为RedisInsight内部的可视化提供支持,使用户可以直观地与RedisGraph中存储的图进行交互。同样,RedisGraph 2.0中提供的全图响应功能将允许与Linkurious的图数据可视化和分析平台集成,双方未来或许会有更深度的整合。

2020年1月,Redis Labs与荷兰软件公司Graphileon宣布建立合作伙伴关系,以允许RedisGraph用户在Graphileon的高级绘图工具中构建应用程序。RedisGraph和Graphileon的结合使用户能够享受快速简便的数据管理,并利用RedisGraph支持的部分Cypher查询语言的功能来查询和分析数据,同时充分利用RedisGraph的独特优势。

目前RedisGraph的最新版本为v2.2,在Redis Labs和来自开源社区的开发者们的共同努力下,RedisGraph相较于初代,性能提升了多达六倍,支持的Cypher语言的范围也大大增加。下篇文章,我将介绍RedisGraph已经支持的Cypher(常用部分)

高性能内存图数据库RedisGraph(二)的更多相关文章

  1. 高性能内存图数据库RedisGraph(一)

    作为一种简单.通用的数据结构,图可以表示数据对象之间的复杂关系.生物信息学.计算机网络和社交媒体等领域中产生的大量数据,往往是相互连接.关系复杂且低结构化的,这类数据对传统数据库而言十分棘手,一个简单 ...

  2. 高性能内存图数据库RedisGraph(三)

    这篇文章,我将介绍截止目前,RedisGraph的最新版本(v2.4)对Cypher语言的支持情况. 1.模式(patterns) RedisGraph已支持Cypher中所有的模式. 2.类型(ty ...

  3. Neo4j:图数据库GraphDB(二)高级查找

    接着上一篇,继续介绍图数据库Neo4j: http://www.cnblogs.com/rongyux/p/5537028.html 三 高级查找操作 1过滤   name = "Tom H ...

  4. 各个JAVA场景下的内存图

    首先,内存模型图,如下: 其次,一句话概括各个区域的作用: 1:程序计数器(Program Counter Register),让虚拟机中的字节码解释器通过改变计数器的值来获取下一条代码指令,比如分支 ...

  5. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求

    C# 动态创建SQL数据库(二) 使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...

  6. Pick of the Week'19 | 图数据库 Nebula 第 47 周看点-- insert 的二三事

    每周五 Nebula 为你播报每周看点,每周看点由本周大事件.用户问答.Nebula 产品动态和推荐阅读构成. 今天是 2019 年第 47 个工作周的周五,来和 Nebula 看看本周有什么图数据库 ...

  7. Neo4j图数据库管理系统开发笔记之二:管理系统Server端界面一览

    最近在neo4j java api和rmi的基础上,设计了一套neo4j管理工具,分为server端和client端,中间用rmi进行通信.基本功能包括图数据库基本信息维护管理(创建.编辑.删除.统计 ...

  8. Nebula 架构剖析系列(二)图数据库的查询引擎设计

    摘要 上文(存储篇)说到数据库重要的两部分为存储和计算,本篇内容为你解读图数据库 Nebula 在查询引擎 Query Engine 方面的设计实践. 在 Nebula 中,Query Engine ...

  9. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

随机推荐

  1. TensorFlowMNIST数据集逻辑回归处理

    TensorFlow逻辑回归处理MNIST数据集 本节基于回归学习对 MNIST 数据集进行处理,但将添加一些 TensorBoard 总结以便更好地理解 MNIST 数据集. MNIST由https ...

  2. YOLOv4实用训练实践

    YOLOv4实用训练实践 准备工作 推荐使用Ubuntu 18.04 CMake >= 3.8: https://cmake.org/download/ CUDA >= 10.0: htt ...

  3. python+selenium基础篇,三种等待方式,显示、隐式、强制等待

    1.显示等待: from selenium import webdriver from time import sleep from selenium.webdriver.support.ui imp ...

  4. 对话Apache Hudi VP, 洞悉数据湖的过去现在和未来

    Apache Hudi是一个开源数据湖管理平台,用于简化增量数据处理和数据管道开发,该平台可以有效地管理业务需求,例如数据生命周期,并提高数据质量.Hudi的一些常见用例是记录级的插入.更新和删除.简 ...

  5. jd一面面经

    1.讲一下hashmap原理. 2.concurrentHashMap的原理.concurrentHashMap和hashmap有什么不同? 3.synchnized底层实现?讲讲AQS 4.sync ...

  6. 【NX二次开发】体素特征相关函数(块、柱、锥、球)

    NX Open允许用户创建和查询所有基本体素特征,通过API函数建立基本体素特征返回的是相应的特征标识,如果需要可以通过函数UG_MODL_ask_feat_body()获得特征对应的实体对象标识.基 ...

  7. 用好idea这几款插件,可以帮你少写30%的代码

    Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大. 1.安装(EasyCode) 我这里的 ...

  8. PL/SQL连不上,报 ORA-12170:TNS 连接超时

    排错步骤: 1.查看网络是否通畅 打开cmd, ping 数据库IP 2. 查看端口是否通畅 打开cmd,tnsping 数据库IP 如果piing不通,可能是防火墙问题 3.检查防火墙状态 #ser ...

  9. 【.NET 与树莓派】LED 数码管驱动模块——TM1638

    LED 数码管,你可以将它看做是 N 个发光二级管的组合,一个灯负责显示一个段,七个段组合一位数字,再加一个小数点,这么一来,一位数码管就有八段.一般,按照顺时针的方向给每个段编号. 上图中的 h 就 ...

  10. 理解css行高(line-height)

    首先我们要明确 line-height 的定义,line-height指的是两条文字基线之间的距离. 行内框盒子模型 所有内联元素的样式表现都与行内框盒子模型有关.所以这个概念是非常重要的. < ...