Row Based vs Column Based Drivers
Some data sources have the option of performing either row based or column based lookups.
Row Based Drivers
A row-based driver is designed for the situation where all of your information is stored in a single table, and one column contains an identifier for that information. Each row will have a minimum of….
Column Name | Purpose |
---|---|
Lookup Column | The name of this measurement channel |
Value | The value of that measurement |
Timestamp (optional) | The date and time of the measurement |
So for example, in the following example…
Timestamp | Name | Value |
---|---|---|
12:42 | Temperature 1 | 25.4 |
12.42 | Temperature 2 | 13.2 |
12.33 | Temperature 1 | 24.4 |
In this case, the lookup value you assign to each data-binding in ARDI will be the value contained in that 'lookup' column.
The lookup is 'Name'. So points in ARDI would simply be connected to 'Temperature 1' and 'Temperature 2'.
Column-Based Drivers
In column-based drivers, the data source has several columns per row, and the lookup from ARDI is actually the column name.
They usually have a minimum of….
Column Name | Purpose |
---|---|
Timestamp | The date and time of the measurement |
Value A | The value of channel A |
Value B | The value of channel B |
Value C | The value of channel C |
Timestamp | TMP1 | TMP2 |
---|---|---|
12:42 | 25.4 | 13.2 |
12.33 | 24.4 | 11.5 |
In this case, the ARDI lookup is the name of the channel. IE. “TMP1” or “TMP2”.
Keyed Column-Based Drivers
Some select drivers (for instance, our Oracle driver) can support a key on a column-based driver. In fact, they may even support multiple keys.
These work like a hybrid between the two - they are given two lookup values for each data-binding - the lookup and the column.
As an example, take the following…
Timestamp | VEHICLE | ENGINETMP | OILTMP |
---|---|---|---|
12:42 | 1 | 25.4 | 13.2 |
12:42 | 2 | 25.4 | 13.2 |
12.33 | 1 | 24.4 | 11.5 |
12:33 | 2 | 25.4 | 13.2 |
In this case, the lookup for engine temperature on vehicle 1 would be….
Lookup | 1 |
Column | ENGINETMP |
History lookups on these drivers can be quite expensive
Multi-Keyed Column-Based Drivers
These are the same as keyed column based drivers, but with the addition of multiple keys.
As an example, take the following…
Timestamp | VEHICLE | OWNER | ENGINETMP | OILTMP |
---|---|---|---|---|
12:42 | 1 | 1 | 25.4 | 13.2 |
12:42 | 2 | 1 | 25.4 | 13.2 |
12.33 | 1 | 1 | 24.4 | 11.5 |
12:33 | 2 | 2 | 25.4 | 13.2 |
In this case, the lookup for engine temperature on vehicle 2 with owner 1 would be…
Lookup | 2,1 |
Column | ENGINETMP |
This would fetch the second record as the active, live data.
History lookups on these drivers can be extremely expensive