RedisGraph Reaches General Availability
Written by Kay Ewbank   
Thursday, 29 November 2018

RedisGraph is now generally available, adding a fast graph database to the Redis line-up. RedisGraph is based on linear algebra and matrix multiplication to perform fast calculations.

 Unlike existing graph database implementations, RedisGraph represents connected data as adjacency matrices instead of adjacency lists per data point. Data is represented using sparse matrices, and the GraphBLAS library is used for sparse matrix operations to power RedisGraph for storing, managing and processing graphs.

redisgraph

RedisGraph is based on the property graph model, and its nodes and relationships (vertices and edges) can have attributes, and nodes can be labeled. It uses Cypher as its query language, and Cypher queries are translated into linear algebra expressions. Cypher is a declarative, SQL-inspired language for describing patterns in graphs visually using an ascii-art syntax.

The team behind RedisGraph says that initial benchmarks have shown that RedisGraph is six to 600 times faster than existing graph database.  Redis is a single-threaded process by default, and there's no way to partition graphs over multiple shards.

redisgraph benchmark

This was a deliberate choice because the developers say that having all data within a single shard allows faster query execution while avoiding network overhead between shards. Pieter Cailliau, RedisGraph Product Manager, explained that:

"RedisGraph is bound to the single thread of Redis to support all incoming queries and includes a threadpool that takes a configurable number of threads at the module’s loading time to handle higher throughput. Each graph query is received by the main Redis thread, but calculated in one of the threads of the threadpool. This allows reads to scale and handle large throughput easily. Each query, at any given moment, only runs in one thread." 

This differs from other graph database implementations, which typically execute each query on all available cores of the machine. The team at Redis believes their approach is more suitable for real-time real-world use cases where high throughput and low latency under concurrent operations are more important than processing a single serialized request at a time. There's an interesting explanation of the benchmarking of RedisGraph on the Redis blog.

RedisGraph is now part of a brand new Redis Enterprise module, and can also be used under the Redis source available license.

redisgraph

More Information

Redis Blog

Cypher Query Language Guide

RedisGraph Website

Related Articles

Redis Adds Streams Support

Microsoft Expands Redis Support 

No Bug Fixes In Redis 2.8.9

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


C23 ISO Standard Is Here But You Probably Won't Read It
06/11/2024

At last ISO C23 has been published, but at $250 you probably aren't going to read it. Can we really tolerate this sort of profiteering on the work of others? This is worse than academic publishing!



Apollo Adds REST APIs For GraphQL
29/10/2024

Apollo has added a simpler way to integrate REST APIs into a federated GraphQL environment. Available now in public preview, can be used to map REST API endpoints to their GraphQL schema using a decla [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info