ID | IEP-75 |
Author | |
Sponsor | |
Created |
|
Status | DRAFT |
Thin clients need a standardized way to serialize data for Table and Key-Value APIs. In 2.x, we used the same Ignite binary format that was used for server communication and data storage. However, in 3.x there are different formats for data storage and transmission (TODO: links), and those formats are not meant to be used by thin clients.
The goal is to find an existing serialization format that satisfies the following requirements:
Name | Comments | License |
---|---|---|
MessagePack | Java: Apache 2.0, C#: MIT, C++: MIT(nlohmann/json), TODO | |
CBOR | Based on MessagePack. CBOR is standardized (RFC7049), but MessagePack is simpler. "Use MsgPack instead of CBOR": https://diziet.dreamwidth.org/6568.html | |
FlexBuffers | "Schemaless cousin of Google's FlatBuffers". Can be accessed without parsing, copying, or allocation. | |
Avro | ||
Thrift | ||
BSON |
Non-suitable popular formats:
Name | Reason |
---|---|
ProtoBuf | Schema required |
FlatBuffers | Schema required - see FlexBuffers alternative |
// TODO: ?
// TODO