RION Data Modeling

Jakob Jenkov
Last update: 2019-09-14

This text is just a simple illustration of how you can use the various RION field types to model commonly used data structures. The encoding of the fields is not covered here, but in the RION Encoding Specification.

Raw Bytes

RION can contain long sequences of raw bytes, for instance a file, video frame etc. Raw bytes fields can be intertwined with all other RION fields.

Sequences of Fields

You can send sequences of independent RION fields over the network. Actually, each IAP message is an RION Object field. You can also write a sequence of RION fields to a file. For instance, you could write independent RION fields as log records in a log file. There is no requirement to have a single root element as XML has.

Arrays of Fields

RION contains an special Array field which can contain a sequence of RION fields which are to be interpreted as a coherent array / list of RION fields. For instance representing an array of users, documents, names, addresses or something else. RION arrays are similar to arrays in programming languages.


RION has a special Object field which is used to represent composite objects, like JSON objects, IAP messages etc.

RION Object fields can also be used to mimic XML data.


RION has a special data structure that can model tabular data. An RION Table contains a single "row" of column names (property names - RION Key fields), and multiple rows of column values corresponding to the column names.

RION Tables can contain other nested RION Tables inside them. Thus, RION Table fields can be used to model complex object graphs and save some of the redundant property names of arrays of "child" objects.

Jakob Jenkov

Featured Videos

Java ForkJoinPool

P2P Networks Introduction


Java Persistence
Close TOC
All Tutorial Trails
All Trails
Table of contents (TOC) for this tutorial trail
Trail TOC
Table of contents (TOC) for this tutorial
Page TOC
Previous tutorial in this tutorial trail
Next tutorial in this tutorial trail