Date: 2025-01-23
Accepted
For audit and business intelligence purposes, it’s required to store and query various and numerous business events, such as ‘product added’, ‘order paid’.
Note: Uptrace accumulates technical metrics in ClickHouse and has no other options. This is a hint to use the same storage for both types of big data.
Business events are stored and aggregated in such a way that aggregation time of hundreds of millions of records is typically no more than 1 sec. (depends on proper data organization and queries). Ability to visualize data in an online constructor in the form of graphs and tables.
This system stores and visualizes big data, but only in terms of aggregated logs. Of course, all kinds of data can be stored there, however, the set of analytical capabilities is limited (approximately at the level of relational databases), and the query language is peculiar.
ElasticSearch was the standard solution before the emergence of new generation OLAP systems, which might not have appeared if ElasticSearch met the increased requirements in this area. Nevertheless, in the field of search and log visualization, as well as full-text search (of any data), it remains the leader. To compare, full-text search in ClickHouse is still in the experimental stage.
ElasticSearch 8’s license prohibits providing the product as a service (apparently to prevent clouds from reselling the free product), but allows for internal use in projects.
ClickHouse was developed by Yandex, has been serving Yandex Metrica since 2009, and became publicly available in 2016 under the Apache license. The vendor website offers a cloud version, but the product can be self-hosted for free.
JdbcTemplate
.For data visualization, there’s Metabase. This online visualization constructor is not tied to any specific data source: there are plugins for ClickHouse, Postgres, and others.