graffy
graffy copied to clipboard
Wip: Binary serialization using Flatbuffers
Why?
- A Graffy-specific binary serialization of the will reduce bandwidth needs
- As part of this effort, we will keep encoded keys within Graffy as UInt8Arrays rather than Base64 strings, reducing processing and memory needs.
Why flatbuffers?
- Flatbuffers may allow Graffy to perform a lot of the processing of queries and results in binary blobs, without ever de-serializing them. (This is in contrast with, eg. Protobuf.)
- The motivating use case is Graffy reverse proxies or load balancers. The goal is that these services (which will merge overlapping queries from different clients and split queries across backend partitions / shards) never have to de-serialize the binary.