ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vkulichenko <valentin.kuliche...@gmail.com>
Subject Re: How about adding kryo or protostuff as an optional marshaller?
Date Fri, 22 Jul 2016 04:15:31 GMT
I actually think that even comparing with the raw mode is not completely fair
(but this is definitely much closer to be fair). Any serialization protocol
based on precompiled schema will be very compact, because it provides almost
zero overhead (protostuff doesn't require .proto files, but still requires
to generate serialization code for POJOs). Such protocols are extremely
compact, but functionally limited and mainly used in messaging systems. For
example, we use something very similar internally in Ignite for
communication between nodes (see TcpCommunicationSpi code and Message
interface if interested in implementation details).

Binary format provides much more features. It is designed to avoid
deserialization on server nodes, at the same time allowing to lookup field
values and even run SQL queries. With the binary format you can also add any
objects into the cache (even without changing class definitions at all) and
dynamically change the schema. Obviously, all this adds meta information
into the protocol, but Ignite's binary format is still very compact if you
compare it with others that provide similar functionality.


View this message in context: http://apache-ignite-users.70518.x6.nabble.com/How-about-adding-kryo-or-protostuff-as-an-optional-marshaller-tp6309p6462.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

View raw message