Skip to content
This repository was archived by the owner on May 17, 2021. It is now read-only.
This repository was archived by the owner on May 17, 2021. It is now read-only.

Investigate using a NoSQL backend #52

@MacND

Description

@MacND

Description

Currently Voluspa uses MariaDB as its backend data store. While this has its advantages (well developed drivers, I know standard SQL pretty well, performance is great), I frequently find myself pulling data out of the database in one format and translating it to another to use (comma separated IDs in fireteams get .split() in the codebase).

Utilising a NoSQL backend would mean consistency between the actual data and the variables used in the code, and would make it much easier to provide an API. We don't particularly need JOINs to get the data we want, as we'd move to new data structure;

  • Fireteams would become a property of an event
  • Notification preferences would become much more manageable as objects
  • Activities would be much easier to provision and edit

User Story

I think once we have OAuth registration built and working in at least a basic form, this is something worth looking into. Voluspa is unlikely to reap any of the traditional benefits of NoSQL (I don't forsee large volumes of data being created), it just appears to solve a lot of my day-to-day gripes with MariaDB. I think it also makes the project itself easier to maintain by keeping data formats consistent.

I've never used a NoSQL database in a project like this so would love outside opinions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions