aquis logoCase study

Aquis Exchange uses QuestDB for real-time monitoring

QuestDB is used by Aquis Exchange to store their infrastructure and business metrics in a single place and analyze them in real-time across multiple dimensions.

Logo of Aquis Stock Exchange

Dollar iconHigh ingestion throughput with contained infra costs

Workflow iconPlug and play with Grafana via PostgreSQL interface

Leaf iconJoin time series with relational data via SQL

Gauge iconFast analytics to build order books on the fly

Voice iconSimple and intuitive setup

Time iconFast queries alongside constant ingestion speed

The need for a time-series database to monitor metrics

We started to build the foundations of a system that would efficiently capture our infrastructure and business metrics in one place and monitor them in real-time.

As an exchange, we need to ensure fair and orderly markets, so the timing of messages is critical to us. We produce comprehensive latency reports and dashboards per security, per market, and for each client. The reports detail the time it takes for an order instructed through a FIX or binary port to hit our matching engine and be a fully-executed trade on the exchange.

Overall Market Metrics using Grafana dashboards

Overall market metrics using Grafana dashboards.

We also track all the orders and trades coming through (such as count, quantity, amount) and aggregate this data to produce a live order book, the amount of stock one can buy or sell at a given price level.

Timeline of Market Events visualized on Grafana

Timeline of market events visualized on Grafana.

Why we chose QuestDB for monitoring our infrastructure

We need a high throughput database capable of efficiently ingesting all the data coming into the exchange. Queries need to be fast as we monitor critical data tracked in real-time via a Grafana dashboard. Finally, SQL is what we were looking for from a simplicity standpoint, and this lowers the learning curve with the database. We tried several alternative time-series databases, but they were not fast enough and could not process the number of transactions per second we dealt with.

I could see that QuestDB is built for developers by developers. The team understands our domain very well and knows the context around the data volumes, throughput, and types involved. The features of the database architecture, such as columnar storage, are thoughtful additions and will help our system stay efficient as our datasets grow.

Architecture diagram with QuestDB and Grafana to ingest and query market data and latency metrics from Aquis Exchange

Architecture diagram with QuestDB and Grafana to ingest and query market data and latency metrics from Aquis Exchange.

In terms of database performance, the QuestDB queries are so fast that we adapted our domain model to aggregate order data in real-time, which we could not have done otherwise. This allows us to produce order books in real-time based on the order and trades being placed on our exchange.

We also benefit from the tooling and integrations through the PostgreSQL interface: we can seamlessly display real-time charts on Grafana and track those metrics continuously. QuestDB's relational model and SQL language also allow us to join time-series data with relational data and extract all the insights we need for our business.

Finally, the rate of improvement of the product is impressive. There's a continual rate of releases, and we see the team focusing on the right things.

QuestDB is a time series database truly built by developers for developers. We found that QuestDB provides a unicorn solution to handle extreme transactions per second while also offering a simplified SQL programming interface.

Viet Lee, CTO at Aquis Exchange