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 |
Note |
|
|---|---|
|
You can find detailed information about AVRO here: |
|