We have an application preparing trade orders sending them to the broker(Interactive Brokers) through their API The Application uses MySQL as a data store and ActiveMQ for processing trade order status messages from Interactive Brokers API
We store all order related data and sending notifications and order positions and order sequences data in the database, which is really taking considerable time due to database query latency
We have an issue with a performance for submitting and processing more than 200 orders and it is taking about 3-4minutes We profiled application (JProfiler) and found to be database calls only contributing more time towards overall order execution time
As it is a trading application 3-4 minutes is a huge time as trade prices change very quickly in the market.
Please provide some in-memory frameworks or databases where we could process everything on fly and sync with the actual database at later point. (preferably MySQL as a connector)
Also, Interactive Brokers will send order status messages as call back events, Please let us know any Complex Event Processing (CEP) frameworks in java which are in-line with in-memory frameworks.
Any help with how to architect or going about implementing such frameworks is appreciated.
Thank you.