Stiamo progettando un aggiornamento per un sistema corrente (C++ \ CLI e C#). Il sistema raccoglierà piccole quantità (~ 1Mb) di dati da dispositivi ~ 10K (nel prossimo futuro). Attualmente, vengono utilizzati per salvare i dati del dispositivo in un CSV (una tabella) e archiviarli tutti in una struttura di cartelle ampia.Database SQL VS. Più file flat (Migliaia di CSV piccoli)
I dati vengono inseriti solo (creare/aggiungere a un file, creare una cartella) mai aggiornati/rimossi. L'elaborazione dei dati viene eseguita leggendo molti file CSV in un programma esterno (come Matlab). Utilizzato principalmente per analisi statistiche.
C'è un'opzione per iniziare a salvare questi dati in un database MS-SQL. Il tempo di elaborazione (la lettura dei CSV per il programma esterno) potrebbe richiedere alcuni minuti.
- Come scegliere quale metodo utilizzare?
- Uno dei metodi richiede molto più spazio di archiviazione rispetto all'altro?
- Approssimativamente, quando leggere i dati non elaborati da un database diventa più veloce della lettura dei CSV? (10 file, 100 file? ...)
Apprezzerei le vostre risposte, Pro e Contro sono i benvenuti.
Grazie per il vostro tempo.
Questa è una di quelle domande a cui puoi rispondere solo provandolo. – Gabe
Si potrebbe anche considerare l'utilizzo di un database noSQL. – HLGEM