高性能内存图数据库RedisGraph(二)
这篇文章主要介绍用一下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(二) 的全部内容, 来源链接: utcz.com/z/535782.html