Penso che dipenda da quanto sofisticato vuoi ottenere con i campioni raccolti. Potresti iniziare a raccogliere campioni a un certo intervallo ea dividerli, ma con il passare del tempo, sospetto che diventerai più sofisticato rendendoti conto che i tuoi campioni raccolti dalle diverse fonti sono più scaglionati.
Mentre procederai potresti finalmente vedere che c'è un vantaggio nella raccolta di una data / ora per ogni singola riga dei dati perché anche all'interno di una raccolta di dati da una fonte, i frammenti di informazioni hanno variazioni di tempo.
Sto suggerendo di spingere le informazioni sul tempo il più lontano possibile nel sistema, includendo sia il "front end" nel processo di raccolta con il modello XML (le singole righe sono datate) sia il modello di database intermedio (stesso ). Ciò consentirà a tutti i dati raccolti di coesistere nel database e offrirà l'opportunità di eseguire query più ricche.
pet-table: id, pet-name, start-date, end-date
pet-condition: pet-id, condition-id, info-capture-date, status
condition-table: id, description
Data la data-acquisizione-data della condizione dell'animale domestico, è possibile memorizzare più punti di tempo di dati per la stessa condizione (e / o più condizioni per la stessa ora).
Dai un'occhiata al seguente articolo per alcuni spunti di riflessione: Database di serie temporali .
Il formato che sto suggerendo è anch'esso compatibile con il database di log, o amichevole con l'event store, perché è essenzialmente immutabile (scrivi una sola volta / solo append). Tuttavia, non memorizza direttamente solo lo stato corrente, quindi se lo desideri puoi scrivere una query per esso. (E se questo è davvero ciò di cui hai bisogno, puoi metterlo in cache nel database).
Anche se la maggior parte dei database gestirà i dati di tipo log, se la raccolta di dati è automatizzata e un flusso piuttosto pesante, ci sono database specializzati progettati per gestire la raccolta in stile log, come MongoDB.
Analizzerei un database di diagrammi se disponi di relazioni molte, varie e dinamiche (nel senso dello schema). Altrimenti, probabilmente proverei a accontentarmi di un database relazionale.