Skip to content

Research database and storage strategy #37

@BytecodeBrewer

Description

@BytecodeBrewer

Goal

Research what ARGUS should store and which database/storage approach fits the project.

Why

ARGUS is moving from live requests and in-memory analytics toward real data workflows. Before adding a database, the project needs a clear decision about what should be stored, why it should be stored and whether local, server-based or cloud storage is the right next step.

This ticket is also intended to build practical SQL and database management skills.

Research questions

  • What data should ARGUS store?
    • historical exchange rates
    • fetched raw API responses
    • cleaned time-series data
    • calculated metrics
    • user-selected watchlists
    • generated reports
    • data-source metadata
  • What should not be stored yet?
  • Should ARGUS start with local storage, server database or cloud storage?
  • Which database fits this phase best?
    • SQLite
    • PostgreSQL
    • DuckDB
    • Parquet files
  • How should tables/entities be structured?
  • How does storage affect future analytics, dashboards and cloud deployment?

Scope

  • Compare local, server and cloud storage options
  • Compare SQLite, PostgreSQL, DuckDB and Parquet for ARGUS use cases
  • Propose a first minimal data model
  • Document trade-offs
  • Recommend first implementation step

Acceptance criteria

  • Storage use cases are documented
  • Local, server and cloud options are compared
  • At least three storage technologies are compared
  • A first minimal data model is proposed
  • Recommended first database/storage approach is selected
  • Research is documented in docs/
  • No database implementation is required in this ticket

Note

Priority: Must

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationnewbieA beginner-friendly ticket for new contributors

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions