Então, estou construindo um aplicativo que constantemente obtém dados de uma API, basicamente a API gera dados por meio de JSON, que mostra uma certa velocidade para diferentes hosts. O que eu quero aqui é consultar o aplicativo a cada minuto e armazenar esses dados em um banco de dados.
A ideia é que o aplicativo use os dados para construir gráficos. Esses gráficos mostrarão as velocidades coletivas de todos os hosts e para cada host separadamente. Os hosts são atribuídos a um usuário
1 usuário tem vários hosts, cada um com uma determinada velocidade. Agora, considerando que os dados que serão armazenados crescerão com o tempo e as relações entre as entidades são bastante limitadas, eu queria saber se devo olhar para um banco de dados NoSQL como MongoDB ou DynamoDB.
Os bancos de dados NoSQL são para dados não estruturados ou dados estruturados de forma imprevisível que geralmente são consultados usando pesquisa de texto completo.
Capturar estatísticas de séries temporais para gráficos soa como um conjunto de dados bem estruturado para mim. O que você tem, três mesas? Usuários, Servidores e Medições? Parece-me que você tem dados que são perfeitamente adequados para um banco de dados relacional.
Pode ser que você precise pensar se seu banco de dados relacional será totalmente normalizado ou parcialmente desnormalizado para relatórios de desempenho. Isso é algo que você pode decidir que é necessário depois de fazer alguns testes de carga com volumes de produção para ver se a desnormalização é útil.