Highlights 3.4.0 - GraphBinary: A new serialization format

525 views
Skip to first unread message

Jorge Bay

unread,
Jan 11, 2019, 7:43:31 AM1/11/19
to Gremlin-users

For the past months we’ve been working in delivering a new binary serialization format for TinkerPop and it have just been released as part of TinkerPop 3.4. Let’s go over some of the benefits of the new format:

  • Performance: Drastically reduce the serialization overhead and minimizing the size of the payload.
  • Error handling: We can validate the different types during deserialization and provide meaningful error messages.
  • Reduce the amount of dependencies on both the server and the client.

On the performance side, early benchmarks (included in tree) show significant differences between the implementation of the new format and graphson serialization, by 1 to 2 orders of magnitude. It's expected that implementing this new format will make serialization overhead negligible on both server and client, allowing us to focus on other possible performance improvements.


The new format documentation is available at: https://tinkerpop.apache.org/docs/current/dev/io/#graphbinary


There is still work to do, we need to add support it on Python, C# and JavaScript GLVs. If you want to contribute to this effort, make sure you read the https://tinkerpop.apache.org/docs/current/dev/developer/

You can read more about the history behind GraphBinary on the ticket and the pull request:

I’m excited about the new possibilities this new format brings and hoping the adoption of this format will soon catch up GraphSON for remote graphs.


Cheers,

Jorge

Message has been deleted

Josh Perryman

unread,
Mar 27, 2019, 10:35:01 AM3/27/19
to Gremlin-users
Jorge, 

I must applaud you. This is really, really exceptional work and it is going to be a critical part of a lot of feature development using TinkerPop for many years to come. Thank you for your diligence in bringing this functionality to the masses. 

-Josh

Stephen Mallette

unread,
Mar 30, 2019, 9:40:13 AM3/30/19
to gremli...@googlegroups.com
Sanjay, I don't think there is any special configuration beyond specifying GraphBinary as the client-side serializer (it is already configured by default out-of-the-box in Gremlin Server):


If you did that and are still having problems then having more information about the problem (like the rest of the stacktrace) will be required

On Tue, Mar 26, 2019 at 11:12 AM Sanjay Sharma <contact.sa...@gmail.com> wrote:
I tried using it out of the box but getting following error,

org.apache.tinkerpop.gremlin.driver.ser.SerializationException: The most significant bit should be set according to the format

Does this require any configuration on the server?


On Friday, January 11, 2019 at 6:43:31 AM UTC-6, Jorge Bay wrote:

--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/b2056ccf-de35-4cfc-97c0-597d7e039f66%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages