Skip to content

ClickHouse as a core storage backend #4196

@yurishkuro

Description

@yurishkuro

Summary

Build first-class support for ClickHouse  as an official Jaeger backend. ClickHouse is an open-source column-oriented database for OLAP use cases. It is highly efficient and performant for high volumes of ingestion and search making it a good database for tracing and logging data specifically. It can also do aggregates very quickly which will come in handy for several features in Jaeger.

Benefits to the users:

  • Efficient backend
  • Powerful search
  • Analytics capability, e.g. the possibility to support the APM function (Monitoring tab in Jaeger) directly from ClickHouse

Background

This is a continuation of #1438. Currently, there is one (or more) community-supported plugins for ClickHouse as a Jaeger storage backend. This ticket is about making it one of the core backends supported by Jaeger, on the level of Cassandra/Elasticsearch.

Scope

  • Design table schema, document trade-offs
  • Implement plugin/storage/clickhouse module and integrate it with storage.Factory
    • ClickHouse is not optimized for individual inserts, need to address that (cf. OTel Collector ClickHouse exporter)
    • For deployments with Kafka, investigate Kafka Connector for ClickHouse for direct ingestion
  • Address schema creation problem (similar to plugin/storage/cassandra/schema)
  • Address management needs if any (e.g., ES has index rollover, not sure if ClickHouse needs something similar)
  • Add relevant documentation to the Jaeger website

Expected outcomes

  • Design table schema, document trade-offs
  • Implement ClickHouse support as core storage backend
  • Address schema creation problem / tooling
  • Add relevant documentation to the Jaeger website

Stretch goals

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions