To give a bit background, I peruse my own binary data store purely for back-testing purposes. For live trading I look to expand my architecture by implementing a high throughput, low latency columnar database in order to load historical quotes into the system needed for index and indicator computation purpose. The gap between the historical data and live feed is bridged through backfill requests to my quote vendor.
That is the only purpose I have to run a 3rd party DB. I run a CEP engine for real-time query and pattern matching logic, do DB needed, once the data is loaded into memory it is available to my own custom query logic. You could argue that I could just expand my existing binary datastore logic to load the data from there but the situation is that I decided on a 3-tier data storage approach.
(1) Cleaned, Filtered, and adjusted data in binary datastore (for start of the week data data loading in combination with backfilled missing data into trading engine/ cep engine)
(2) intraday data already loaded or streamed but not needed for real-time CEP engine computation purposes anymore (because they moved out of the observation window) are pushed into a 3rd party high-speed database for further cleaning purpose and having them subsequently moved to (1) (main purpose is to handle fail overs)
(3) In-Memory data perused for real-time computations and trading query logic. (a combination of (1) at start of the week, backfilled data, (2) if the system goes down and needs to re-load the past data points, and real-time data streams
Hope this makes more sense now. What I need is a lightweight database that can persist (so not purely in memory) at high speed but without the bloat and unneeded bells and whistles.
Quote from propseeker:
i asked this question earlier in the thread.. then why don't you?
you mentioned api's and open source libraries as a reason. what are you looking at doing where you'd be so willing to sacrifice that kind of performance to muck around with a 3rd party db?
all of this fuss for a "performance db" just to get access to a query language seems a little overkill to me... and at the end of the day, as you mentioned, underkill. i must be missing something big here.