GaProgMan / bookApi

An API and UI for a fake book search engine - built entirely in the open, on Twitch
https://twitch.tv/gaprogman
MIT License
2 stars 0 forks source link

[SPIKE] Investigate data storage technologies #3

Open GaProgMan opened 3 years ago

GaProgMan commented 3 years ago

Description

Before we can start to make creation, update, or delete requests, we need a data backing store. This can be a database, or set of files, or something else. Whatever we decide on, we'll need it before we can create any of the operations which affect the actual data store.

This feature is set aside for looking into and learning more about different data storage technologies - with a preference for document-based databases or flat files.

The rationale for leaning towards Document-based databases is for ease of data input (most document DBs have a CLI which can be used to bulk insert data - which can be scripted), but also because it would be good to learn about non-traditional SQL databases.

One of the goals of this spike is to build up a list of data storage technologies and decide on one to leverage. There is no hard requirement on using a traditional SQL database, but it would be good to learn a little more about the other technologies available. If a traditional SQL based approach works better then let's use that, but let's also be pragmatic and think about which technology suits the problem domain "best" (for a given value of "best").

High-Level Proposed Solution

Considerations

As this project is being developed on a Linux based distro, CosmosDb has been removed from consideration. This is because:

Requirements