Pattern of bytes to store on media for numeric arrays.
The idea is to hold data in buffer in such a layout that its most efficient to retrieve and write, plus majorly it should be future proof.
Some points on which the thought process if based:
- Prefer Encoding over Compression.
- Use finite file size.
Encoding Types:
-
Lossy:
- Prometeus Up/Down counter: Stores Histogram, Sum, Count of events, which benefits it from isolation of collection frequency. Uses rate(metric,[5m]) function to interpolate data for given time period to reconstruct a value. Good for static values, Bad for describing waveforms.
-
LossLess:
- FOR: Frame of reference. This is basically delta encoding which reduces the datatype with half of its need eg 64bit can be saved in 32bit by subtracting a base value from each value, and SIMD can be used to reconstruct the data.
- Dictionary:
- RLE: Run Length Encoding.