Click here to Skip to main content
15,886,919 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: Where To Store Configuration File for This App Pin
Richard Andrew x648-Sep-23 10:33
professionalRichard Andrew x648-Sep-23 10:33 
GeneralRe: Where To Store Configuration File for This App Pin
trønderen8-Sep-23 12:19
trønderen8-Sep-23 12:19 
QuestionNeed some advice on Post-Processing large amounts of data. Pin
me@dagsunde.com3-Sep-23 21:31
professionalme@dagsunde.com3-Sep-23 21:31 
AnswerRe: Need some advice on Post-Processing large amounts of data. Pin
Pete O'Hanlon3-Sep-23 21:46
mvePete O'Hanlon3-Sep-23 21:46 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
Dag Sunde3-Sep-23 22:20
Dag Sunde3-Sep-23 22:20 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
Pete O'Hanlon3-Sep-23 23:18
mvePete O'Hanlon3-Sep-23 23:18 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
Dag Sunde4-Sep-23 0:11
Dag Sunde4-Sep-23 0:11 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
Pete O'Hanlon4-Sep-23 1:23
mvePete O'Hanlon4-Sep-23 1:23 
So, you have data coming in from 200 devices, 5 times a second. Let's think about the problem areas here:

  1. When you add data, at that volume, you're adding 1000 items a second. Not a problem in SQL Server.
  2. I'm assuming it's one aggregation per device every minute, so you're looking at a read of 60K rows every minute, with a write of 200 rows.

I would be tempted to invert the problem slightly. Rather than write to one source, write to two. So, write the incoming messages to SQL Server and, at the same time, write them to something like Redis Cache. Then, every minute, get your data from Redis and use that to calculate the values for the other table and write to that. This approach follows (somewhat), the CQRS so you're separating the reads and writes from each other.

The beauty is, this scales well.

GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
me@dagsunde.com4-Sep-23 1:55
professionalme@dagsunde.com4-Sep-23 1:55 
AnswerRe: Need some advice on Post-Processing large amounts of data. Pin
Mircea Neacsu4-Sep-23 0:22
Mircea Neacsu4-Sep-23 0:22 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
me@dagsunde.com4-Sep-23 0:39
professionalme@dagsunde.com4-Sep-23 0:39 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
Mircea Neacsu4-Sep-23 0:58
Mircea Neacsu4-Sep-23 0:58 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
me@dagsunde.com4-Sep-23 1:04
professionalme@dagsunde.com4-Sep-23 1:04 
AnswerRe: Need some advice on Post-Processing large amounts of data. Pin
jschell4-Sep-23 5:33
jschell4-Sep-23 5:33 
GeneralRe: Need some advice on Post-Processing large amounts of data. Pin
Dag Sunde4-Sep-23 9:06
Dag Sunde4-Sep-23 9:06 
Questionbest solution Pin
erummirza31-Aug-23 23:59
erummirza31-Aug-23 23:59 
AnswerRe: best solution Pin
Richard MacCutchan1-Sep-23 4:01
mveRichard MacCutchan1-Sep-23 4:01 
AnswerRe: best solution Pin
jschell4-Sep-23 5:38
jschell4-Sep-23 5:38 
QuestionQuestion on Versioning My App Pin
Kevin Marois24-Aug-23 16:12
professionalKevin Marois24-Aug-23 16:12 
AnswerRe: Question on Versioning My App Pin
Richard Deeming24-Aug-23 21:25
mveRichard Deeming24-Aug-23 21:25 
GeneralRe: Question on Versioning My App Pin
Kevin Marois25-Aug-23 7:40
professionalKevin Marois25-Aug-23 7:40 
GeneralRe: Question on Versioning My App Pin
Richard Deeming28-Aug-23 21:24
mveRichard Deeming28-Aug-23 21:24 
QuestionCard Reader Door Lock Pin
Kevin Marois23-Jul-23 12:50
professionalKevin Marois23-Jul-23 12:50 
AnswerRe: Card Reader Door Lock Pin
Peter_in_278023-Jul-23 14:18
professionalPeter_in_278023-Jul-23 14:18 
GeneralRe: Card Reader Door Lock Pin
Kevin Marois24-Jul-23 14:30
professionalKevin Marois24-Jul-23 14:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.