ID | IEP-75 |
Author | |
Sponsor | |
Created | |
Status | |
Motivation
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.
Description
...
The goal is to find an existing serialization format that satisfies the following requirements:
- Binary (as opposed to text, like JSON, for performance reasons)
- Supports nested object graphs
- Schemaless: any object of any type can be written without prior set up
- Can work without classes ("binary mode" in terms of 2.x): servers should be able to inspect the structure in serialized form
- Extensible (can add custom types)
- Well-supported implementations in all languages of interest (Java, C#, C++, Python, JavaScript, PHP)
- Fast and compact
Risks and Assumptions
// Describe project risks, such as API or binary compatibility issues, major protocol changes, etc.
...
// Links to various reference documents, if applicable.
Tickets
Jira |
---|
server | ASF JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
maximumIssues | 20 |
---|
jqlQuery | labels=iep-75 |
---|
serverId | 5aa69414-a9e9-3523-82ec-879b028fb15b |
---|
|
// Links or report with relevant JIRA tickets.