Skip to content

Data volume reduction on the client -data types and indices #355

@miranov25

Description

@miranov25

To facilitate data transfer between the server and client, user-defined lossy and lossless compression is employed.

The techniques discussed below can reduce the data volume on the client. The impact on the speed of subsequent data manipulation should be evaluated:

  • For integers, use the smallest representation possible—this can be included as an option.
  • For floats compressed with absolute precision, an integer array multiplied by a step size can be utilized.
  • For floats compressed relatively, a lookup table (either 8-bit or 16-bit) can be employed.
  • Use bit precision for integer representation, such as 1-bit, 2-bit, or 3-bit numbers.
  • Often, group-by statistics are employed to calculate various statistics (e.g., mean, median, RMS, entries, fit parameters) by group. In such cases, an index to another table can be used instead of flattening the data.

It is unclear how swiftly specific functionalities can be implemented in JavaScript, the potential slowdown in code performance, and the complexity it might introduce. A subset of these features should be implemented promptly, while the rest could likely be addressed using WebAssembly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions