Real Time Data Feed Design Questions

Discussion in 'C++' started by TazaTek, Apr 7, 2010.

  1. TazaTek

    TazaTek Guest

    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
     
    TazaTek, Apr 7, 2010
    #1
    1. Advertising

  2. TazaTek

    tonydee Guest

    On Apr 8, 3:52 am, TazaTek <>
    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
     
    tonydee, Apr 8, 2010
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Curious Trigger
    Replies:
    2
    Views:
    1,852
    Curious Trigger
    Sep 9, 2006
  2. Timasmith
    Replies:
    9
    Views:
    342
  3. flamesrock
    Replies:
    8
    Views:
    547
    Hendrik van Rooyen
    Nov 24, 2006
  4. Ulrich Scholz

    Questions about Java SE Real-Time

    Ulrich Scholz, Oct 31, 2007, in forum: Java
    Replies:
    0
    Views:
    388
    Ulrich Scholz
    Oct 31, 2007
  5. Naineta
    Replies:
    0
    Views:
    851
    Naineta
    Aug 29, 2008
Loading...

Share This Page