Přeskočit na obsah
Codedock
SlužbyJak pracujemeReferenceInsightsKariéraKontakt
Zpět na všechny články
Enterprise integrace

·

7 min čtení

·

Napsal Tomáš Mikeš

TimescaleDB vs. InfluxDB vs. ClickHouse: výběr databáze pro time-series data

Pro Netigo NetFlow ingestion jsme museli vybrat databázi schopnou zpracovávat GB/s síťových dat v reálném čase. Reálné srovnání tří kandidátů podle výkonu, dotazovacího jazyka, operations a TCO.

TimescaleDBInfluxDBClickHouseTime-seriesPerformance

Pro Netigo jsme stavěli NetFlow Manager, který v reálném čase přijímá a analyzuje síťový provoz z IPFIX/NetFlow senzorů —peaky v řádech GB/s. Výběr databáze byl kritický. Špatná volba = systém padá pod zátěží nebo stojí 5× víc.

Srovnávali jsme tři kandidáty: TimescaleDB, InfluxDB, ClickHouse. Tady je, co jsme zvážili, a proč jsme vybrali TimescaleDB.

Workload, pro který jsme vybírali

  • Write-heavy: 500 000 — 2 000 000 rows/s ingestion
  • Rows typicky 100-200 bytes (kompaktní event)
  • Retention 90 dní hot, 2 roky cold
  • Query patterny: aggregace nad časovými okny (sum bytes per src_ip per hour last 24h), top-N dotazy (top 100 flows by volume)
  • Dotazuje API backend, dashboardy, alerting systém

TimescaleDB — Postgres extension

Výhody:

  • Je to Postgres. Všichni ho znají, tooling existuje, integrace s backendem je triviální.
  • SQL — bez nového dotazovacího jazyka.
  • Hyperpartitioning (hypertable) a native compression — tabulka se dělí podle času automaticky, starší chunky se komprimují 10-20× méně místa.
  • Continuous aggregates — pre-spočítané hodinové/denní roll-up tabulky aktualizované automaticky.
  • JOINs s běžnými tabulkami (user, config, device metadata) bez tanců — to je u TSDB výjimka.

Nevýhody:

  • Write throughput nižší než ClickHouse. My jsme na našem hardware (32 core, NVMe SSD) naměřili ~400k inserts/s v single-node. Pro 2M/s bychom potřebovali cluster.
  • Licenční model — open-source Apache 2.0 core, některé enterprise features (multi-node, advanced compression) jsou placené.
  • Disk usage před compression větší než ClickHouse o ~30-50 %.

InfluxDB — time-series purist

Výhody:

  • Designované čistě pro time-series. Benchmarks na syntetických workloadech dobré.
  • Retention policies a downsampling out-of-the-box.
  • Menší disk footprint než Postgres/TimescaleDB.

Nevýhody:

  • Flux query language (v InfluxDB 2.x) — další jazyk, další křivka učení, méně lidí to umí. V 3.x se vracejí k SQL přes IOx backend, ale ekosystém je turbulentní.
  • Žádný JOIN s relačními daty. Pokud chceš aggregovat flows podle device metadata (které jsou v Postgresu), musíš to dělat v aplikaci.
  • V naší interní zátěžové zkoušce jsme narazili na problém s cardinality explosion — unikátních `src_ip × dst_ip` párů je při GB/s provozu miliony, InfluxDB začal zpomalovat.
  • Historicky turbulentní: major verze 1 → 2 → 3 měnily storage engine i dotazovací jazyk. Bet na dlouhodobou stabilitu neposkytoval nikdo.

ClickHouse — čisté throughput monstrum

Výhody:

  • Nejvyšší write throughput. Na stejném hardware jsme naměřili 1,8M inserts/s — skoro 5× TimescaleDB.
  • Kolumnární storage, agresivní komprese, nejmenší disk footprint (30-40 % TimescaleDB).
  • SQL-ish jazyk (CH má vlastní dialekt, ale velmi podobný standardnímu SQL).
  • Vynikající pro OLAP — top-N, aggregations, rollups.

Nevýhody:

  • Slabé update/delete operace. ClickHouse je čistě append-optimized. Mazání a update jsou nákladné a asynchronní. Pro GDPR deletes nevhodné.
  • Eventual consistency při replikaci. Pro některé use cases (audit trail) to nevyhovuje.
  • Operations complexity — ZooKeeper/Keeper coordination, sharding strategy, merge tree tuning. Vyžaduje dedikovaného devops.
  • Ekosystém menší než Postgres. Některé nástroje (např. Liquibase schema migrations) ho neznají.

Rozhodovací matice

Pro Netigo jsme scorovali na 5 dimenzích:

  • Write throughput: CH > TS > Influx. CH vyhrává o ~5×.
  • Query expressivness: TS > CH > Influx. TS SQL s JOINs proti metadata tabulkám vyhrál.
  • Operations: TS > Influx > CH. TS je „jen Postgres“.
  • Team expertise: TS vysoko. Celý tým zná Postgres.
  • Long-term risk: TS > CH > Influx. Postgres ekosystém je nejstabilnější.

Pro naše konkrétní čísla (500k-2M rows/s write, potřeba JOINs, tým bez dedicated DBA) vyšla TimescaleDB jako optimum. CH by šetřil hardware, ale ops overhead by to zrušil.

Kdy byste vybrali jinak

ClickHouse vyber, pokud:

  • Write throughput > 3M/s na single node je požadavek
  • Máš dedicated platform team nebo zkušené DBA
  • Nepotřebuješ JOINs s transakčními daty (analytics-only workload)
  • GDPR-style deletes nebo frequent updates nejsou use case

InfluxDB vyber, pokud:

  • Čistě IoT/observability use case s nízkou cardinality
  • Tým tolerujue Flux nebo čeká na stabilitu 3.x
  • Potřebuješ out-of-the-box downsampling bez custom kódu

Výsledek pro Netigo po 10 měsících

  • TimescaleDB, single-node (zatím), 64 core, 1TB NVMe
  • Průměrný write throughput 650k rows/s
  • P99 query latency na top-100 dotazy: 180 ms
  • Compression ratio na 7-denních chunks: 12×
  • Disk storage: 2,3 TB pro 90 dní hot data
  • Scaling plán: přechod na TimescaleDB multi-node až při > 1,5M/s (aktuálně máme rezervu 2,3×)

Co si z toho vzít

Volba TSDB není o „nejrychlejší wins“. Je to o tom, jak dobře zapadá do tvého celkového stacku, týmového know-how a operačních možností. Pro 80 % projektů, které řeší time-series data, je TimescaleDB pragmatic default — pokud nemáš explicitní důvod jít jinam. ClickHouse je silnější pro OLAP warehouse; InfluxDB pro IoT s nízkou cardinality.

Nejdůležitější rada: měř svůj reálný workload. Benchmarks na syntetických datech neřeknou nic. Nasetupuj prototyp, vystrč mu 10 % očekávaného provozu a pozoruj, co se děje.

Řešíš něco podobného?

Domluvme si 30min technický call. Bez obchodních procesů — přímá architekturní zpětná vazba.

Vybrat termín

Architektura, cloud a integrace pro komplexní systémy. Senior architekt na každém projektu.

Navigace

SlužbyJak pracujemeReferenceInsightsKariéraKontaktSrovnání s agenturou

Služby

VývojCloudDevOpsAI & DataKonzultaceŘízení

Kontakt

CodeDock s.r.o.

Zlenická 863/9, 104 00 Praha 22

Česká republika

info@codedock.com

IČO: 14292769

DIČ: CZ14292769


© 2026 Codedock

KontaktOchrana osobních údajů
Domluvit call