Skip to content

Decide on binary serialization format, and document guarantees and limitations #26

@seanlinsley

Description

@seanlinsley

The binary serialization format we choose will inform which guarantess we can make. This format will be used both for complicated data structures like nested structs or nested arrays, but will also be used for an on-disk file format as an alternative to Postgres.

If we want to support field renaming, removing, and reordering, we probably need a self-describing format. A downside to this with e.g. protobuf is you either need an external probuf definition file, or need to inline all the macro calls into user code.

With serde-brief, we may be able to inherit those features from serde with a less verbose API than protobuf. Though we may still need proc-macro attributes to proxy those settings from pco_store to serde-brief.

We should explicitly not support data type changes like from i32 to i64.

It's important to consider how this impacts JSON support: #9 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions