Più di 20 record inseriti in un intervallo di 1 secondo

1

Bene, questo non è specifico per alcun linguaggio di programmazione. Mi sono imbattuto in questa situazione in Android, iOS, PHP e .NET.

Il problema è che molte volte mi imbatto in una situazione durante la creazione di app IoT, in cui devo chiamare un webservice (ognuno in una thread separata) che inserisce l'inserto nel DB (probabilmente più di 20-50 inserimenti in un secondo) per registrare i dati del sensore continuamente.

Quindi mi trovo di fronte 2 problemi qui ...

  1. Nell'app termina la risposta per la creazione di così tanti thread.
  2. Nel server, si blocca anche a causa di così tanti inserimenti.

A volte, nella programmazione Android e iOS ho bisogno di fare lo stesso in SQLite DB. Anche in questo caso si blocca in questi casi.

L'unica opzione di cui sono a conoscenza è l'uso di Message Queue (che è specifico di .NET, credo)

C'è un altro modo per risolvere questo tipo di casi?

    
posta Krishnandu Sarkar 15.12.2014 - 15:56
fonte

1 risposta

1

La soluzione di questo problema è una di quelle situazioni in cui l'utilizzo di un livello di astrazione dati (DAL) nel tuo servizio web potrebbe aiutarti.

Nel tuo DAL sul componente server, comprendendo che esiste un problema di prestazioni, puoi sostituire il codice DAL che scrive direttamente nel database con uno che implementa una cache di scrittura.

Ciò dovrebbe consentire al sistema di gestire eventuali picchi nel traffico in entrata, anche se se il problema riguarda scritture o volumi sostenuti, potrebbe essere necessaria un'altra ottimizzazione, ma finché il servizio web utilizza un DAL, dovresti essere in grado di riscriverlo con minimale.

    
risposta data 15.12.2014 - 17:39
fonte

Leggi altre domande sui tag