Skip to content

Way_Skeleton: reduce size of nds #248

@mmd-osm

Description

@mmd-osm

Today, each node is stored as 64 bit value, which amounts to about 30GB of uncompressed data for a current planet file. Similar to the PBF format, these nodes could be stored as varints using delta coding, which brings down the size to 7 GB (uncompressed).

The basic idea here is that node ids for an OSM way are frequently very close to each other. When only storing the delta value and applying additional varint encoding, small values could allocate as little as 1-2 bytes instead of 8 bytes.

Working prototype is included in branch: https://github.com/mmd-osm/Overpass-API/tree/test_way_diffs, patch against v0.7.52 in branch: https://github.com/mmd-osm/Overpass-API/tree/patch_issue_248

Performance impact seems to be not too bad (single percentage), compression is still more expensive.

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