Snuba is a service that provides a rich data model on top of Clickhouse together with a fast ingestion consumer and a query optimizer.
Snuba was originally developed to replace a combination of Postgres and Redis to search and provide aggregated data on Sentry errors. Since then it has evolved into the current form where it supports most time series related Sentry features over several data sets.
Click here for the full documentation.
- Provides a database access layer to the Clickhouse distributed data store.
- Provides a graph logical data model the client can query through the SnQL language which provides functionalities similar to those of SQL.
- Support multiple separate data sets in a single installation.
- Provides a rule based query optimizer.
- Provides a migration system to apply DDL changes to Clickhouse both in a single node and distributed environment.
- Ingest data directly from Kafka
- Supports both point in time queries and streaming queries.
Snuba uses only FIPS-approved algorithms for hashing (SHA-256). TLS and other cryptographic operations depend on the runtime's FIPS-validated OpenSSL. For full FIPS 140-3 compliance:
- Build or run Python against FIPS-capable OpenSSL 3.x (e.g. 3.1.2 with FIPS provider), or use a FIPS-enabled OS (e.g. RHEL, Rocky Linux).
- Build the Rust extension (rust_snuba) against the same FIPS-capable OpenSSL
when TLS is used (e.g. set
OPENSSL_DIRto the FIPS OpenSSL install).
See docs/source/fips140-3.rst for deployment and compliance details.