Interplanetary telemetry compression
11–16 of 16 posts
Re: Interplanetary telemetry compression
#12Their main advantage is that they have good, mature implementations in a variety of languages, which would be handy if you ever find Javascript to be too slow.
Re: Interplanetary telemetry compression
#13Sounds like a use case for zstd with custom dictionary.
Re: Interplanetary telemetry compression
#14Have you considered existing scientific columnar data storage formats, like HDF5 or Parquet? Their main advantage is that they have good, mature implementations in a variety of languages, which would be handy if you ever find Javascript to be too slow.
The reason I wrote this in typescript is that it is nice for prototyping when working with JSON data. If it ever turns out too slow, I would write a rust version. Should not take more than a few days.
I have not profiled it, but I would guess that the most time is spent in the zlib deflate implementation, which is of course already a C library, so I would not expect miracles from a rewrite in rust.
Re: Interplanetary telemetry compression
#15Have you considered existing scientific columnar data storage formats, like HDF5 or Parquet? Their main advantage is that they have good, mature implementations in a variety of languages, which would be handy if you ever find Javascript to be too slow.
While HDF5 is good when you manage the whole system, it is always tricky for sharing data with other people so we are also using SQLite. We lose the compression but it is very easy to share and people are more familiar with it.
Re: Interplanetary telemetry compression
#16Have you considered existing scientific columnar data storage formats, like HDF5 or Parquet? Their main advantage is that they have good, mature implementations in a variety of languages, which would be handy if you ever find Javascript to be too slow.
I developed an archive system for our spacecraft TM/TC using HDF5 with blosc-lz compression for speed reasons (and I plan to move to Zstd in the future). One of the main issue I have seen in the industry is the difficulty to upgrade the hardware so we have to design something working great on regular hard drives and with minimal RAM requirements. While HDF5 is good when you manage the whole system, it is always trick…
Of course you also lose the compression, but the target system is typically only interested in a small subset of the data.