Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Real Time Data Feed Design Questions

Reply
Thread Tools

Real Time Data Feed Design Questions

 
 
TazaTek
Guest
Posts: n/a
 
      04-07-2010
I'm designing a stock charting program in C++ and wanted to get some
advice / direction from others that have more experience than I do.

I'm 1st tackling the problem of the incoming datafeed (via TCP from a
provider or in-house sim pumper) that is then routed to various charts
(and other consumers of the data).

I am initially thinking that an Observer/Subject model would work for
this, but I didn't know if there were any "gotchas" to this approach,
or if it's even the right tool for the job.

Speed is a major design consideration, so a push model is likely
favored over a pull model.

Are there any other designs or considerations that will allow for a
low latency, high throughput data processor like this?

Are there any examples out there that anyone knows of. I've found
some generalized Observer patterns, but none of them address
specifically a real-time data feed.

Thanks

Matt




 
Reply With Quote
 
 
 
 
tonydee
Guest
Posts: n/a
 
      04-08-2010
On Apr 8, 3:52*am, TazaTek <kettlewell.enterprises....@gmail.com>
wrote:
> I'm designing a stock charting program in C++ and wanted to get some
> advice / direction from others that have more experience than I do.
>
> I'm 1st tackling the problem of the incoming datafeed (via TCP from a
> provider or in-house sim pumper) that is then routed to various charts
> (and other consumers of the data).
>
> I am initially thinking that an Observer/Subject model would work for
> this, but I didn't know if there were any "gotchas" to this approach,
> or if it's even the right tool for the job.
>
> Speed is a major design consideration, so a push model is likely
> favored over a pull model.
>
> Are there any other designs or considerations that will allow for a
> low latency, high throughput data processor like this?
>
> Are there any examples out there that anyone knows of. *I've found
> some generalized Observer patterns, but none of them address
> specifically a real-time data feed.


As Victor observes, this is a bit too vague to allow much feedback.
One important consideration is how each consumer of the data will
select/find the portions relevant to them (e.g. will they want one or
a few securities, or everything). Do you need to keep historical
data, intra-day or across days (on disk)? You'll probably want a per-
security "header" with current values, possibly an intra-day tick-
stream hanging off that. The high performance option is putting that
in shared memory. Picking an existing in-memory time-series database
product would give you a head start.

(If the data's coming in over TCP, it's probably not a particularly
high performance or volume feed. You may not need to go the whole hog
to handle it....)

Cheers,
Tony
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Questions about Java SE Real-Time Ulrich Scholz Java 0 10-31-2007 10:13 AM
How do you get feed discovery to work? I go to web pages I know has feeds, but the feed discovery button is disabled. Help! Tim Bryant Computer Support 1 02-13-2007 05:01 AM
Is time.time() < time.time() always true? flamesrock Python 8 11-24-2006 06:51 AM
How to design enterprise level real time event communication? Timasmith Java 9 10-19-2006 07:19 AM
Detailsview shows real numbers with commata: Error converting data type nvarchar to real! Curious Trigger ASP .Net 2 09-09-2006 10:59 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57