News for hackers. Stuff that matters.

swilly2

Can RedisGraph be embedded inside an Android application? I don't have much experience developing applications for Android but it mostly comes down to the underline architecture you're aiming for, although Redis 4.0 can run on ARM, RedisGraph currently can't as it access unaligned memory.

But incase that's resolved or in the case of Intel CPU you'll have to embed a binary executable within your Android application, i'm pretty sure that's possible.

With regard to your second question, I think this a personal preference question, as I've been dealing mostly with in-memory applications for the past couple of years I'll prefer a memory oriented API.

Well, RedisGraph is an open source project, you can browse its repository at https://github.com/RedisLabsModules/redis-graph

Although the work which will be presented at Redis Conf has yet to be published.

In addition to my previous comment I would like to add that RedisGraph memory usage is proportional to the size of the graph stored, AFAIK Neo utilizes disk as the main storage, however the Java VM may have objects in memory in order to traverse the graph, so may also use some memory.

I've never tested the memory usage difference between the two, but it should be an interesting test to perform.

Generally speaking it seems like a common practice now days to load large portions of your data from disk to memory for performance reasons obviously, no one is willing to pay the penalty hit of disk seek when it comes to real time data querying.

I think this is an unfair comparison as RedisGraph keeps everything in memory (graph index + graph entities) for the sake of performance, AFAIK Neo utilise disks.
Although RedisGraph current version uses the concept of a Hexastore to represent the Graph I'm not sure this is the best way to go both memory (X6) and CPUwise (when traversing the graph).

That said RedisGraph does supports both nodes and edges properties as these are not stored within the Hexastore but on the actual entity object.

The new version of RedisGraph which will be presented at RedisConf2018 will completely replace the Hexastore with a new data structure which is better suitable in terms of both memory and cpu.

This is a wrong misconception as Redis data can be persistent https://redis.io/topics/persistence

Modules extending Redis with new capabilities and data types can and probably should use Redis persistency.