Difference Between JanusGraph Server and Embedded JanusGraph in Java

Zach B.

I've seen a lot of discussion about the benefits and such of both implementations but I was wondering if there was a big difference in terms of resource usage? I'm building an API service that will be deployed to a low resource virtual machine and I was wondering if there was a big difference between the memory usage of the two implementations.

Furthermore and unrelated, but I have been developing using the Embedded implementation using HBase as a storage backend. I wanted to use a visualization tool to see if my graph is appearing the way I want, however all the tools I see require gremlin-server. So I started up the server using the same exact HBase configuration as Embedded, but it displays an empty graph. Does anyone know why that is the case?

Thank you in advance.


Hi Zach,

1. For building an API service you do not need Gremlin Server. Gremlin Server has all kinds of features though that might (slightly) relieve the complexity of your service (with the complexity of maintaining  Gremlin Server added). The main driver for using Gremlin Server is the support for Gremlin Language Variants, which you do not need.
Resource usage should not differ very much for similar workloads and comparable settings; Gremlin Server requires an additional JVM, but might be more optimized than what you build in house.

2. First check using Gremlin Console for connecting to Gremlin Server. If that works, please report more details about what visualization tool you use.

Best wishes,     Marc