We have a lot of UFL interfaces. Is there any advantage in either using or bypassing the snaphot? We are running all tags with no compression and we don't want compression. The data is coming sorted ascending by time.
The snapshot subsystem has a few roles. First off, the general data flow is something like:
Data Source -> Buffer Subsystem (Exception rules applied) -> Snapshot Subsystem (Compression applied) -> Event Queue -> Archive Subsystem
In the case of a client that is suscribe to snapshot events such as ProcessBook DataLink, the snapshot data (uncompressed) will be pushed to the client until a refresh (archive call) is made. The Snaphshot subsystem both applies compression before archiving and buffers the data in the event queue if the archive is not available.
Since the data is uncompressed in your case, it may not make difference as long as the events are coming in in-order (for performance reasons). Think about it as when doing a backfilling, where it does not go through the snapshot.
Edit on performance: Using /lb (bypassing the snapshot) caches events locally on the interface, making one call to write many events to the PI Server. Without the /lb (or /lbs) flag, every event read by the UFL interface causes a call to the PI Server to write the data. A rough guide is that the throughput is increased by a factor of 4 to 5 by using /lb, compared to not using the /lb parameter.
The advantage of using compression is that your data is less dense and is faster to extract at a cost to accuracy depending on your compression settings. All data calls to send data PI Values to a PI Data Archive I go through the PI Snapshot. In the case of out-of-order data it will simply pass-through the snapshot data since the snapshot value is the most current value.
Turning compression off, still means all new data will be sent through the snapshot.
Retrieving data ...