Compared to JSON, the data is saved in a readable format. AVRO uses a binary coding, which reduces the band width and the required disk space.

ibaPDA uses the following schema for the serialization of the signal data:

{

"namespace:" "de.iba,"

"type:" "record,"

"name:" "PdaRecord,"

"fields:" [

{"name:" "Signal," "type:" "string"},

{"name:" "ID," "type:" ["null," "string"]},

{"name:" "Name," "type:" ["null," "string"]},

{"name:" "Unit," "type:" ["null," "string"]},

{"name:" "Comment1," "type:" ["null," "string"]},

{"name:" "Comment2," "type:" ["null," "string"]},

{"name:" "Timestamp," "type:" [

"null,"

{"type:" "long," "logicalType:" "timestamp-micros"}

]},

{"name:" "Identifier," "type:" ["null," "string"]},

{"name:" "ValueType," "type:" {

"type:" "enum,"

"name:" "ValueTypeEnum,"

"symbols:" ["BOOLEAN," "BYTES," "DOUBLE," "FLOAT," "INT," "LONG," "STRING"]

}},

{"name:" "BooleanValue," "type:" ["null," "boolean"]},

{"name:" "BytesValue," "type:" ["null," "bytes"]},

{"name:" "DoubleValue," "type:" ["null," "double"]},

{"name:" "FloatValue," "type:” ["null," "float"]},

{"name:" "IntValue," "type:" ["null," "int"]},

{"name:" "LongValue," "type:" ["null," "long"]},

{"name:" "StringValue," "type:" ["null," "string"]}

]

}

ibaPDA also supports a connection to a confluent schema registry. However, this is not necessarily required so that the field can be left empty. If a schema registry is configured, ibaPDA registers the schema used for the coding in the schema registry. The returned ID is then appended to each dataset as follows:

Byte offset

Description

0

0x00 (Confluent AVRO Marker)

1

Schema ID (Big endian)

5

Signal data

The address and port of the schema registry can be entered in the schema registry address field.

Use the <Test connection> button to test the connection to the schema registry.

If no schema registry is used, each dataset is coded as follows:

Byte offset

Description

0

0xC3 0x01 (Single-object encoding marker)

2

CRC-64-AVRO fingerprint of encoding schema

10

Signal data