APM has built-in support for fast time-series data logging, using QuestDB, to persist Model history property data. QuestDB is an open-source relational database designed for high-performance time-series data processing. It is optimized for handling large volumes of time-series data with low latency and high throughput.
QuestDB is particularly suited for applications requiring real-time analytics, data processing and monitoring systems. Its key features important to APM users include:
- High Performance: QuestDB is engineered for speed, capable of handling millions of events per second with low latency. It achieves this performance through various optimizations, including columnar storage, vectorized execution, and parallel processing.
- Time-Series Optimization: QuestDB is specifically optimized for time-series data, which often involves timestamped data points. It efficiently stores and indexes time-series data, enabling fast querying and analysis of time-based patterns.
- SQL Support: QuestDB supports a subset of SQL (Structured Query Language), allowing users to interact with the database using familiar SQL syntax. This includes querying, filtering, aggregating, and joining data.
- REST API: QuestDB provides a RESTful API for interacting with the database programmatically. This allows developers to integrate QuestDB into their applications easily.
- Low Resource Consumption: QuestDB is designed to be resource-efficient, requiring minimal CPU and memory resources to operate efficiently. This makes it suitable for deployment in resource-constrained environments.
The core, fast memory-based APM server, is the default operation. When you configure the classes in APM Studio for your solution you can toggle the ‘H’ property of the class definition:
H is short for History. When the H attribute is set, the system will retain History on the property value for the object instance for the number of History Points configured in HPoints in memory.
History is required for example when you want to display graphs of values or when you require access to for example last N values.
When history persistence is turned on via System preference, then APM will also store values received in the instances (objects) of the class automatically in QuestDB, allowing you access history beyond the HPoints kept in memory.
Any history query in your APM application to transient properties will access in-memory if the query can be satisfied from limited data in-memory, otherwise, APM will query the DB.
QuestDB provides a convenient SQL Web UI, which by default is configured to port 9000. The below screenshot is an example of the Web UI showing the tables autogenerated for Model objects in APM:
The QuestDB Web Console is a client that allows you to interact with QuestDB. It provides UI tools to query data and visualize the results in a table or plot.
APM Software E-book
Download our e-book to learn what UReason can do for you and discover the unique functionalities of our next-gen APM software.
APM Software E-book
Download our e-book to learn what UReason can do for you and discover the unique functionalities of our next-gen APM software.