Skip to content

Redesign Data Persistence #21

@nuthanmunaiah

Description

@nuthanmunaiah

Description

reaper can be made to persist the attribute values it computes to a table named reaper_results in the database. The reaper_results table has two limitations:

  • From users' perspective, (implicit) foreign key from reaper_results.project_id to projects.id creates a dependency on the GHTorrent database which, as described in Remove Dependency on GHTorrent #20, is prohibitively time intensive.
  • From maintainers' perspective, reaper_results being a traditional relational database table will require a schema change each time a new attribute is introduced to reaper.

Alternatives

We could consider one of the following alternatives for data persistence in reaper.

  • No Persistence
    reaper does not provide data persistence. reaper will analyze a repository and display the attributes computed on the standard output.
  • NoSQL
    reaper uses a NoSQL database like MongoDB for data persistence alleviating the maintenance burden of having to change reaper_results each time a new attribute is introduced to reaper.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions