Quasi dati in tempo reale e applicazione Web

1

Ho un computer che sta registrando 100 diversi punti dati in un server OPC.

Ho scritto un semplice client OPC in grado di leggere tutti questi dati.

Ho un sito Web front-end su una rete diversa che vorrei utilizzare questi dati. Potrei facilmente impostare il client OPC per inviare i dati a un server SQL e il sito Web potrebbe leggere da esso, ma sarebbe un sacco di scritture.

Se volessi aggiornare i dati ogni 10 secondi, scriverò sul database ogni 10 secondi. (Probabilmente potrei semplicemente serializzare i 100 punti per ottenere 1 scrittura / 10 secondi ma ciò limiterebbe anche la mia capacità di cercare i dati in seguito). Questa soluzione non scalerebbe molto bene. Se avessi 100 di questi computer la situazione sarebbe presto cresciuta di mano.

Ovviamente sono fuori dal mio campionato e non ho esperienza con il lavoro con una grande quantità di dati come questo.

Quali sono le mie opzioni e cosa devo ricercare?

    
posta Chris G. 05.06.2012 - 03:56
fonte

2 risposte

1

Vista la quantità di dati che hai proposto, mettere tutti i 100 punti dati in un singolo record sembra un approccio ragionevole.

Detto questo, la maggior parte dei sistemi di questo tipo utilizzano un formato di file binario per archiviare i dati in tempo reale, quindi li elaborano successivamente per l'analisi. Sistemi di questo tipo possono elaborare dati in tempo reale nell'intervallo di megabit al secondo.

Dai un'occhiata a questo white paper:

link

Spiega come McClaren Systems utilizza il tipo FILESTREAM in SQL Server 2008 per gestire la telemetria ad alto rendimento dalle auto da corsa di Formula 1.

    
risposta data 05.06.2012 - 06:55
fonte
1

Sebbene sia una buona idea guardare avanti per eventuali ostacoli che un'applicazione può affrontare, non dovresti risolvere problemi che non sai di avere.

Il mio consiglio è di procedere senza complicare le cose. Invia i dati al server sql e interrogali come faresti normalmente. Assicurati che le tue classi siano abbastanza astratte che le future modifiche al sistema di archiviazione non richiederanno modifiche importanti della codifica a tutti i livelli dell'applicazione. Se e quando si nota che il server ha problemi a tenere il passo, quindi iniziare a guardare le opzioni per cambiare il modo in cui i dati vengono scritti e recuperati. Perché la realtà è un server di database correttamente sintonizzato in grado di gestire un carico significativo, 24x7, senza perdere un battito.

    
risposta data 05.06.2012 - 05:46
fonte

Leggi altre domande sui tag