
Highly modular and easy to configure, the Skyler C3 Database's 64-bit, multi-threaded architecture lets you edit your data model and data flow in a million different ways.
 Click Here To Enlarge
The Skyler C3 Database System consists of the following main components:
- Input Adapters
- Stream Operators
- Associative Stores
- Time Series Stores
- Order Book Manager
- Messaging Adapter
- Skyler C3 SDK
- Skyler C3 Administrator
- Skyler C3 Query Client
Input Adapters
Input adapters establish the connection between the data feed and the C3 Database. They insert real-time, historical or fundamental data from direct exchange feeds, consolidated feeds, feed handlers, or from disk into the C3 Database. Skyler provides a host of off-the-shelf adapters to direct exchange feeds such as to book feeds from ARCA, INET, NASDAQ and NYSE. In addition, Skyler offer's adapters to standard feed handlers such as Wombat, Reuters RDFD and RMDS, and Comstock.
Stream Operators
The Skyler C3 Database functions as an event stream-processing engine. Its stream operators filter, aggregate, sample, or derive new data on the fly either before or after the storage of data. The stream operators are pre-configured and can be selected during database configuration. Current stream operators include total volume aggregation, VWAP calculations, yield calculations, high/low calculations, tick trend indicators, and others.
Associative Stores
The user can include an associative store or last value cache at any point in the data flow. You can also store both the most recent values, as well as derived information for fast retrieval. The associative store supports inserts, updates, and deletes at stream input rates.
Time Series Cache
Data can also be captured in an in-memory time series cache. This allows you to investigate how the data is changing over the course of time. Request-response queries can be posed to span a time duration. The time series store appends each incoming tick, allowing you to replay history and understand the market situation from a past perspective, particularly important for compliance and strategy testing applications.
Order Book Manager
The order book manager is a specialized stream operator that is responsible for the aggregation of bids and asks. The order book manager manages multiple feeds at the time and the whole depths of the order book. It supports multiple aggregation types including no aggregation, inter-venue aggregation and intra-venue aggregation. Similar to all other entities, the order book manager supports request-response queries as well as subscription based active queries.
Messaging Adapters
Messaging adapters represent the interface between the data flow within the database and off-the-shelf messaging infrastructure. These adapters handle request-response queries and subscription based active queries that are posed by clients of the messaging infrastructure. In addition, these adapters publish result sets on to the messaging bus. Skyler offers an integration to the Reuter’s RMDS messaging infrastructure and to 29West's LBM messaging system.
Skyler C3 SDK
The Skyler C3 Database comes with a very easy-to-use and powerful C++ SDK. This allows you to develop your own custom entities including input and messaging adapters as well as entities that conduct certain operations or calculations on the data stream. The SDK also allows you to embed third party libraries such as Matlab. It comes with extensive documentation, pre-build frameworks for certain entities, and a lot of sample code in order to increase ease of use.
Skyler C3 Administrator
The system configuration occurs through an XML file that can be edited using a user-friendly Administrator GUI. System configuration determines the stream operators and storage capabilities of the database, as well as the flow of information between system entities, allowing you to configure the system to your unique business needs. Provided sample configurations include an equity ticker plant cache and an order book management system. In addition, the C3 Administrator is used for server administration and monitoring.
Skyler C3 Query Client
The Skyler C3 Database can be queried by any kind of query client. This can be a financial real-time application such as an algorithmic trading application or Skyler's Query GUI. The query-issuing client can access the database using the Skyler C3 Database Query API. The Skyler C3 Database allows request and response and subscription-based active queries. The request-response queries return a snapshot of the latest data in the relational or time series data stores. Active queries return either the current status of the data stores along with updates to the result sets or updates only. The result sets are synchronized and returned immediately. The provided querying flexibility allows you to query the data at any stage of the information flow. Results can be intermediary, staged calculations, or a combination of static and dynamic data.
Supported Platforms
The Skyler C3 Database currently runs on Red Hat Enterprise Linux 4.0, achieving its full performance capabilities with its 64-bit-compliant version on a machine with AMD dual processors. C3 is also released on 32bit and 64bit Windows. The Skyler APIs and GUIs are available for 32bit and 64-bit systems running on Linux and Windows.
Performance
The Skyler C3 Database achieves stream input rates of more than 1,000,000 messages/s* into the time series, as well as the associative store.
Tests conducted on the performance of the Skyler C3 Database configured as a ticker plant cache with multiple stream operators showed stream input rates of more than 270,000 messages/s*. This system configuration includes real-time tick collection, value-added calculations of total volume, high/low, VWAP, and synchronized data storage of the raw and derived data in a last value store.
*Performance tests were run on a 2 Dual Core 2 GHz Opteron Processors, 16GB RAM, 64bit Linux RedHat Enterprise Version 4. |