Interested in QuestDB use cases?

Learn more

Copenhagen Atomics trusts QuestDB for real-time monitoring

Copenhagen Atomics, manufacturer of next generation molten salt reactors, uses QuestDB to monitor their thorium reactors in real time.

Anomaly detection
Spot reactor anomalies instantly with time-series SQL
100,000+ sensors, live
Monitor every sensor across reactor systems in real time
Cloud native
Deploy anywhere with Kubernetes and Helm
Unlimited scale
From R&D to production-scale reactor monitoring
No vendor lock-in
Open source with open data formats
Rapid development
Ship features faster with responsive QuestDB support

Introduction

Founded by a group of scientists and engineers in 2014, Copenhagen Atomics aims to address one of the most burning issues for our planet: the bottleneck in the supply of energy resources. The team develops Generation IV reactors, which are molten salt reactors. These reactors use thorium to burn spent nuclear fuel, which reduces the radioactivity of the nuclear waste while producing high energy output. The design of these reactors fits in a container. This results in lower costs of construction and increased safety, as both issues are associated with traditional large scale nuclear power plants.

An overview of the benefits brought by the Copenhagen Atomics Waste Burner.

Modelling on how offshore windmill energy achieved economies of scale through mass production, Copenhagen Atomics aims to scale up the production of molten salt reactors to provide Energy as a Service. Depending on the energy needs of each client, the company will lease the reactors and sell the generated energy while managing the equipment after decommission.

QuestDB was our choice for real time data due to high performance, open source, high flexibility and great support. Performance was significantly better than the competition and we believe that QuestDB will become market leading.

Lasse TarpSoftware Group Manager, Copenhagen Atomics

Architecture overview

Copenhagen Atomics' software stack to monitor nuclear reactors sensors in real time.
Copenhagen Atomics' software stack to monitor nuclear reactor sensors in real time

Reactors function in a sealed environment, and monitoring this environment is a crucial step for anomaly detection. QuestDB is the time series database behind the growing number of sensors, which continuously send back information such as temperature, liquid flow and pressure. The data is then filtered and presented to the plot systems, accessible via the web browser for monitoring purposes.

Copenhagen Atomics deploys its architecture on Azure and hosts API servers as well as QuestDB's engine on Kubernetes. Each reactor sends thousands of data points to the API servers every 10 milliseconds. The number of reactor sensor values is likely to grow by a factor of 10 in the near future.

From the API servers, the team runs two parallel processes: ingesting sensor data to QuestDB using the .NET ILP client and sending queried (downsampled) data to their plot systems for monitoring. They customize their own plot systems for fetching and displaying data.

An example screenshot of a plot system that monitors IoT devices
An example screenshot of a plot system that monitors IoT devices

Copenhagen Atomics also sells loops for testing equipment. The plot shown above is a selection of some of the temperature sensors delivered in real time with the loop. Selecting what to see in a plot is done by the end user (properties such as colors and scaling can be configured). All data is fetched from QuestDB and downsampled with the query SAMPLE BY, using interpolation to fill any gaps in the data.

This way, operators can adjust the granularity of the data by zooming in and out and visualize the updated chart in milliseconds. The team is really impressed with the response time they see when querying data.

SELECT
timestamp,
AVG(aircon) AS aircon,
AVG(ac01_temperature) AS ac01_temperature,
AVG(dc01_temperature) AS dc01_temperature
FROM
'loop'
WHERE
timestamp BETWEEN
'2022-08-26T07:16:15.104000Z'
AND '2022-08-26T08:01:15.104000Z'
SAMPLE BY 1s FILL(LINEAR);

Why QuestDB?

Copenhagen Atomics wanted to choose an open source time series database that they could trust and see evolve in the open. They also wanted to contribute to the project and open source allows this. QuestDB caught the team's eye due to its performance both on ingestion and time series as well as analytical queries. QuestDB's traction in the market also made them confident about this choice. The team has enjoyed the effective communication on Slack with the QuestDB team as well as QuestDB's growing community.

What's Next?

Copenhagen Atomics has been collaborating with the QuestDB team by providing product feedback, and integrating new features. Here are the next steps for their project:

  1. Cold storage: As the amount of data increases, it is crucial to migrate older data to cold storage to resolve the limitation of disk space and to reduce hardware costs. QuestDB Enterprise tiered storage seamlessly moves older partitions in Parquet format to object storage. QuestDB queries can still access data stored in this cold layer and combine it with recent data in a single SQL query. Data science teams can also access the Parquet files directly with their own tools when they need raw data, without going through the QuestDB engine.

  2. User access control: Copenhagen Atomics needs to define different user groups with different rights when running queries from the Web Console. QuestDB Enterprise provides flexible authentication and authorization, allowing the creation of user groups and service accounts, with permissions that can be scoped down to individual columns.

Subscribe to our newsletters for the latest. Secure and never shared or sold.