这篇文章主要介绍用一下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. NSight Compute 用户手册(上)

    NSight Compute 用户手册(上) 非交互式配置文件活动 从NVIDIA Nsight Compute启动目标应用程序 启动NVIDIA Nsight Compute时,将出现欢迎页面.单击 ...

  2. 基于SSL(TLS)的HTTPS网页下载——如何编写健壮的可靠的网页下载

    源码下载地址案例开发环境:VS2010本案例未使用openssl库,内部提供了sslite.dll库进行TLS会话,该库提供了ISSLSession接口用于建立SSL会话. HTTP协议很简单,写个简 ...

  3. 【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  4. 3-Partition 问题

    这是算法考试的最后一题,当时匆匆写了个基于 Subset Sum 的解法,也没有考虑是否可行. 问题描述如下: 给定 \(n\) 个正整数 \(a_1 \dots a_n\) ,设下标的整数集合 \( ...

  5. 1、JVM体系结构

    1.JVM跨语言的平台 随着java7的正式发布,java虚拟机的设计者们通过JSR-292规范基本实现在java虚拟机平台上运行非java语言编写的程序. java虚拟机根本不关心运行在其内部的程序 ...

  6. 一致性hash原理 看这一篇就够了

    ​ 在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓 ...

  7. canvas介绍和用途

    canvas介绍和用途 canvas(画布)主要是位图 svg(矢量图) canvas标签,必须要写的3个属性 id width height 为什么不在style中设置width和height呢? ...

  8. js jq计算器

    <html><head><meta http-equiv="Content-type" content="text/html; charse ...

  9. ES服务的搭建(八)

    看下图的淘宝页面,可以看到搜索有多个条件及搜索产品,并且支持多种排序方式,例如按价格:其实这块有个特点,就是不管你搜索哪个商品他都是有分类的,以及他对应的品牌,这两个是固定的,但其它参数不一定所有商品 ...

  10. Nginx网站服务

    1.常见的网站服务 静态网站服务: Apache服务 nginx服务 动态网站服务: Tomcat服务 PHP 2.nginx网站服务特点 (1)nginx具有高并发(特别是静态资源).占用系统资源少 ...