In addition to First and Second Level Cache we have developped a Level-Zero Cache that is available inside the Algrithmic Trading Framework AlgoTrader.
Both Hibernate First and Second Level Cache provide a way of caching database requests and therefor help database intensive applications to be faster.
Both First and Second Level Cache require a Hibernate Session. Creation of a Hibernate Session is usually very quick (a few milliseconds). This mechanism is therefore fine for any request-response based system (like a Web Page).
However this approach is not feasible for a trading application. A trading application typically receives several thousand market data events per second. Ideally these market data events have to be matched to the latest data stored in the database (e.g. Security related information, current Positions, executed Trades, etc.). However opening a new Hibernate Session for every market data event, to synchronize related objects, is much too expensive!
For this purpose AlgoTrader introduces the Level-Zero Cache
Some of the Features of Level-Zero Cache:
- Level-Zero Cache is a pure Java based Cache
- Level-Zero Cache does not require an active Hibernate Session
- Objects available inside the Level-Zero Cache will be delivered instantaneously and do not introduce any additional latency
- Level-Zero Cache does refresh objects at the same time a database update occurs
- Level-Zero Cache preserves object identity, so graphs and cyclical references are allowed. Therefore objects retrieved from the Level-Zero Cache can be compared using the equals() method but also using the comparison operator “==”.
- No Proxies, no Byte Code Instrumentation and no Annotations are needed for Level-Zero Cache to work
For detailed information please visit the AlgoTrader Documentation
If this is the wrong place for this announcement, let me know!