How good is RMD Server?

Discussion in 'Programming' started by nitro, May 17, 2012.

  1. nitro


    I was wondering if some with experience using RMD Server can tell me their experience here?

    Is it fast?
    How customizable is it?
    How does it compare to KDB etc?
  2. Wow that is expensive!

    Didn't you just post up a few weeks ago about a several TB server that was also very expensive?

    $2,500 for 16TB and back end programming for about another $500 so for $3k you have a data server plus your own app plus you can consolidate tape by cutting feeds and going with one data provider.

    Never used this product but a lot of the fluff out there these days has issues - like RMD's suggestion on combining data feeds from different providers.
  3. januson


    Why choose such a solution?

    For speed?
  4. It is strictly for speed.
  5. nitro


    Is RMD server part of M4?
  6. RMD Server is a separate C++ library, not part of M4.

    There's a C# data server included with M4 but it's main purpose is to broadcast data to thousands of clients. It's not built for the same level of disk IO speed.

    Although.. now days one can easily do memory mapped files using C#. Since IO is the main bottleneck, it should be ok to use C# for this purpose:

    Using that assembly with SSDs would produce something that would be screaming fast.

    There's also an algorithm in RMD that makes seeks very fast. Basically, we use Julian dates for the keys and triangulate to the correct record. It's a bit more complicated but that's roughly what we do.
  7. nitro


    Gotcha. It just seems that RMD Server also has the capability to redistribute data. I am not certain as to why they overlap in functionality. It seems as is there is lots of duplication between RMD server and M4, and lots of things they do separately that no other product does.

    1) Was the thinking that RMD server is meant mostly for C++ programmers, and M4 for C# programmers, and the duplication between them is natural?
    2) Also, it seems as if you are calling it a library, but both are far more than that (Administrative interfaces, etc)?
    3) Can one use your scripting language against RMD server, or is that mostly for use with M4?
    4) Does it make sense to get both M4 and RMD Server? In what case?
    5) Does RMD Server handle aggregation? So if I have two+ feeds, and each has quotes for the exact same symbol, [how] does RMD Server aggregate the quotes? Do you have a program that displays the aggregation (for debug purposes or even for functionality?)

    Right. Thanks for the insight.
  8. RMD does not have a TCP server built in. You have to add that if needed. M4's data server has a TCP server built in but has slower disk IO.

    1) Yes, your understanding is correct.
    2) Right, they are actually more than just libraries.
    3) Our scripting language is data agnostic. It can work with RMD.
    4) We provide RMD with M4, it comes with both C++ and C# versions.
    5) Symbols can have a data feed identifier but it is up to the developer to create the aggregation logic. There is a data inspection utility with RMD.

    RMD was built for Murray Ruggiero's Traders Studio product about a decade ago. RMD was designed for back testing, although eSignal uses it for data distribution as well.

    We are almost ready to release a C# version of RMD that should be the best of both worlds.

  9. Please explain the difference in RMD C++ and RMD C# in laymans terms