Skip to content

Implement table partitioning? #87

@vgeorge

Description

@vgeorge

This relates to #47 and #66.

I believe there is a opportunity to improve response and ingest times by implementing table partitioning. PostgreSQL documentation describe it as "...splitting what is logically one large table into smaller physical pieces". As scenarios are independent from each other, partitioning of scenarios table could be done via scenarioId property.

To validate this approach, we would need to add migrations and update the CLI to create/remove scenario partitions after they are ingested/deleted. The API server wouldn't be affected because database queries would remain the same.

@danielfdsilva remembered that there is a lot of post-processing on the API server to calculate summaries after the data is fetched from the DB, so there might not be gain from this side. But I believe that the ingest process could benefit from it and the index size could be significantly smaller.

I'm tagging this as enhancement for a future development cycle, as it is not something straightforward to do now.

cc @olafveerman @EricSoroos

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions