Technologie

← Domů
Analytika a data

ClickHouse — analytický engine v reálném čase v stacku platformy

Stack 4buildsite zahrnuje ClickHouse — sloupcovou databázi vytvořenou speciálně pro analýzu ve velkém objemu. Na ní stavíme modul statistik návštěvnosti a prodejů platformy (ve vývoji): data zůstávají vaše, reporty běží na systému odděleném od webu — tak je architektura navržena.

Co je ClickHouse a proč ho používáme

ClickHouse je sloupcová databáze typu OLAP (online analytical processing), vytvořená ve společnosti Yandex pro Yandex.Metrica — jeden z největších systémů webové analytiky na světě — a v roce 2016 zveřejněná jako open source pod licencí Apache 2.0. Je postavená na jedinou věc, kterou dělá výjimečně: rychlé agregace nad obrovskými objemy dat. V architektuře 4buildsite je ClickHouse enginem zvoleným pro vrstvu statistik: každá návštěva, klik i objednávka se stává událostí, kterou lze analyzovat.

Tajemstvím je sloupcové ukládání: místo čtení každého celého „řádku“ čte ClickHouse jen sloupce, které report potřebuje, a zpracovává je vektorizovaně, ve velkých blocích. Proto otázka typu „kolik návštěvníků jsme měli včera, na jednotlivých stránkách, z jednotlivých zdrojů“ dostane odpověď i nad miliony událostí — něco, s čím se klasická řádková databáze potýká mnohem hůře.

Není to nišová technologie: Cloudflare ji používá pro analýzu HTTP provozu v globálním měřítku a Uber, eBay a Spotify ji využívají pro analytiku a zpracování logů v obrovských objemech. Na 4buildsite je stejný engine součástí stacku platformy — bez nutnosti najímat tým datových inženýrů.

Statistiky v reálném čase — jak je modul navržen

Modul statistik platformy je ve vývoji a jeho architektura je jednoduchá: události provozu se sbírají asynchronně a zapisují do ClickHouse, zcela odděleně od serverů, které doručují stránky. Neexistuje těžký skript třetí strany pro tracking, který by stránku zatěžoval — sběr je minimální a first-party.

Reporty v panel.4buildsite.net se budou počítat přímo v ClickHouse: návštěvnost stránek, zdroje návštěvníků, konverze, prodeje podle produktu. Časté agregace se předpočítávají pomocí materialized views při každém zápisu — dashboard nespouští náročný výpočet pokaždé, když se na něj podíváte.

  • Živá návštěvnost: návštěvy, stránky, zdroje a zařízení — dotazovatelné po sběru
  • Prodeje podle produktu, objednávky a konverze vašeho e-shopu, agregované z událostí
  • Historie na měsíce a roky za nízkou cenu — sloupcová komprese snižuje úložiště několikanásobně oproti surovým datům
  • Oddělení od webu: sběr je asynchronní, reporting běží na jiném systému

PostgreSQL + ClickHouse: proč používáme obojí

Stack platformy kombinuje dvě databáze, protože dělají zásadně odlišné věci. PostgreSQL je transakční registr (OLTP): objednávky, platby, zásoby, uživatelské účty — operace, které musí být dokonale správné jedna po druhé, s transakčními zárukami. ClickHouse je analytický sál (OLAP): miliony událostí načtených najednou, aby odpověděly na otázky o návštěvnosti a prodejích.

Kdyby těžké reporty běžely na stejné databázi, která zpracovává objednávky, každý report by soupeřil se zákazníky, kteří právě platí. Oddělení OLTP/OLAP tento konflikt odstraňuje: objednávka zákazníka nečeká na váš report a váš report nečeká na objednávky ostatních. Každý engine dělá přesně to, k čemu byl postaven.

  • PostgreSQL: objednávky, platby Stripe, zásoby, zákazníci — transakční správnost
  • ClickHouse: události návštěvnosti, reporty, statistiky — agregace ve velkém objemu
  • Návrh počítá s tím, že relevantní transakční data se do ClickHouse dostanou jako události, takže reporty prodejů se nikdy nedotknou databáze, která obsluhuje e-shop

Vlastní analytika šetrná k soukromí — místo Google Analytics

Princip modulu statistik: data vašeho webu zůstávají na infrastruktuře platformy. Neodesílají se Googlu ani jiným reklamním sítím, neprodávají se a nekombinují s externími profily uživatelů. Je to first-party analytika v pravém slova smyslu: data o vašich návštěvnících jsou vaše.

Protože tento přístup nepoužívá cookies třetích stran pro tracking, je soulad s GDPR mnohem jednodušší. Kontext je důležitý: v roce 2022 úřady pro ochranu údajů v Rakousku, Francii a Itálii prohlásily používání Google Analytics za nesouladné s GDPR kvůli přenosům dat do USA. S vlastní analytikou hostovanou v Evropě tato kategorie rizika od začátku odpadá.

Existuje i přímý praktický přínos: reporty počítané v ClickHouse nejsou vzorkované. Kompletní čísla.

Reporty pro e-shop a marketplace — co modul dodá

Pro online obchod bude ClickHouse znamenat odpovědi na otázky, na kterých záleží: které produkty se prodávají, z jakých zdrojů přicházejí zákazníci, kteří nakupují, kde se opouštějí košíky. U multi-vendor marketplace poběží stejné agregace nad všemi objednávkami: objem podle prodejce, provize, nejlepší produkty v kategorii — bez ručních exportů a bez tabulek.

A ve velkém měřítku zůstává vše levné. Sloupcová komprese snižuje objem dat několikanásobně oproti surovému formátu, takže historii za roky uchováte za nízké náklady na úložiště. A když návštěvnost vyroste z tisíců na miliony událostí, engine byl od počátku navržen pro miliardy řádků, nebyl dodatečně upravován.

Výhody a omezení

Výhody

  • Agregace nad miliony událostí — reporty z vlastních dat.
  • Oddělení od webu: analytika běží na systému oddělném od toho, který servíruje stránky.
  • Data o návštěvnosti zůstávají vaše, na infrastruktuře platformy — bez přenosu Googlu nebo reklamním sítím.
  • Žádné cookies třetích stran pro tracking — jednodušší soulad s GDPR.
  • Silná sloupcová komprese — historie za roky za nízké náklady na úložiště.
  • Open source (Apache 2.0), bez licencí podle objemu — náklady nevybuchnou, když roste návštěvnost.

Omezení

  • Není to transakční databáze — úprava nebo mazání jednotlivých řádků je náročná operace; proto objednávky a platby leží v PostgreSQL.
  • Optimalizováno pro zápisy ve velkých dávkách; mnoho malých častých insertů vyžaduje batching — platforma to řeší, ale je to skutečné omezení enginu.
  • Složité JOINy jsou méně flexibilní než v PostgreSQL — schéma událostí je třeba od začátku navrhnout pro analýzu.
  • Vyhledání jednoho řádku (point lookup) je pomalejší než v indexované OLTP databázi — nenahrazuje hlavní databázi e-shopu.

Stručný verdikt

ClickHouse je správná volba pro analytiku ve velkém objemu: statistiky návštěvnosti a prodejů v reálném čase, s vašimi daty. Pro objednávky, platby a zásoby zůstává PostgreSQL — proto je stack 4buildsite kombinuje oba, každý v tom, v čem je nejlepší. Modul statistik postavený na ClickHouse je ve vývoji.

Tabulka specifikací

SchopnostLimit / práhTypické použití
Analytické agregacePod sekundu nad miliony událostí (sloupcově + vektorizovaně)Pomalé při vyhledání jednoho řádku — není pro OLTP lookupyReporty návštěvnosti a prodejů (modul statistik, ve vývoji)
Příjem událostíVelké objemy, zapisované v dávkáchMalé časté inserty vyžadují batching / async insertSběr zobrazení stránek, kliků, objednávek
Úložiště a kompreseSloupcová komprese (LZ4/ZSTD), několikrát pod objemem surových datVelmi náhodná data se komprimují méněHistorie událostí na měsíce a roky, za nízké náklady
Aktualizace a mazáníAsynchronní mutations pro příležitostné opravyNevhodné pro časté UPDATE na jednotlivých řádcíchMazání dle GDPR (data uživatele na žádost)
Materialized viewsPředpočítané agregáty při každém zápisuAgregáty je třeba definovat předem, pro každý reportOkamžité dashboardy: prodeje podle dne, produktu, zdroje
Reálný časUdálosti jsou dotazovatelné poté, co nastanouNení to streamingový systém na úrovni milisekundŽivé statistiky návštěvnosti a konverzí

ClickHouse vs. PostgreSQL vs. Google Analytics / BigQuery — pro analytiku

KritériumClickHouse (4buildsite)PostgreSQL (pro analytiku)Google Analytics / BigQuery
Rychlost agregací ve velkém objemuPod sekundu nad miliony řádkůVýrazně klesá u desítek milionů řádků (řádkové úložiště)BigQuery rychlý; GA4 má předagregované standardní reporty, bez volných dotazů
Vlastnictví dat / GDPRVaše data, na infrastruktuře platformy, v EvropěVaše data, na vašich serverechData u Googlu; přenosy GA do USA označily úřady EU v roce 2022 za nesouladné s GDPR
Cookies a souhlasBez cookies třetích stran pro trackingZávisí na vlastní implementaciVyžaduje souhlasový banner pro tracking
Reálný časData dotazovatelná po sběruMožné, ale těžké reporty zatěžují transakční databáziStandardní reporty GA4 se mohou zobrazit se zpožděním hodin; streaming BigQuery stojí navíc
Náklady ve velkém objemuOpen source — náklady tvoří jen infrastruktura, zahrnutá v předplatnémRostou s indexy, vacuum a hardwarem při velkých objemechBigQuery účtuje podle objemu dotazovaných dat; enterprise varianta GA je nákladná
Dopad na rychlost webuOddělený — asynchronní sběr, reporting na samostatném systémuReporty mohou soupeřit s objednávkami na stejné databáziSkript třetí strany (gtag.js) na stránce — navíc JavaScript a externí požadavky

Často kladené otázky

Zpomaluje ClickHouse můj web nebo e-shop?

Ne. ClickHouse běží na systému oddělném od toho, který servíruje stránky — tak je architektura navržena. Události provozu se odesílají asynchronně a reporty se nikdy nedotknou databáze e-shopu.

Proč prostě nepoužíváte Google Analytics?

Ze tří důvodů. Data zůstávají vaše, na infrastruktuře platformy, ne u Googlu. Nepotřebujete cookies třetích stran pro tracking, takže je soulad s GDPR jednodušší — v roce 2022 úřady v Rakousku, Francii a Itálii prohlásily GA za nesouladné s GDPR. A reporty jsou kompletní, ne vzorkované.

Jaký je rozdíl mezi ClickHouse a PostgreSQL — proč obojí?

PostgreSQL je transakční databáze (OLTP): zpracovává objednávky, platby a zásoby jednu po druhé, se zárukami správnosti. ClickHouse je analytická databáze (OLAP): načítá miliony událostí najednou pro reporty. Oddělení znamená, že těžký report nezasahuje do objednávek vašich zákazníků.

Jsou moje data o návštěvnosti v bezpečí a v souladu s GDPR?

Ano — už z návrhu. Statistiky jsou first-party: leží na infrastruktuře platformy, v Evropě, neprodávají se a nesdílejí s reklamními sítěmi. Přístup nepoužívá cookies třetích stran pro tracking a data uživatele lze na žádost smazat v souladu s GDPR.

Jak moc jsou statistiky „v reálném čase“?

Událost — návštěva, klik, objednávka — se v reportech zobrazí poté, co nastane. Agregace za dlouhá období (měsíce, roky) odpovídají také, protože ClickHouse byl vytvořen právě pro tento typ dotazů.

Musím něco nastavovat, abych měl statistiky na webu?

Nebude třeba. Modul statistik je ve vývoji a je stavěn jako součást platformy: jakmile se aktivuje v administračním panelu, sběr se automaticky spustí pro publikované weby — bez skriptů k instalaci a bez externích účtů.

4b2b.net
Podnikatelský ekosystém
4conta.ro
Účetnictví
4invoices.net
Fakturační aplikace
4expenses.net
Správa výdajů
4notify.net
Oznámení
4hosting.net
Hosting
4database.net
Databáze
4buildsite.net
Tvorba webů
4myapp.net
Tvorba aplikací
4avatars.net
AI avataři
4chaty.net
AI chatbot
4webagency.net
Software pro webové agentury
4softedu.net
Weby pro vzdělávání
4softcrm.net
CRM platforma
4softerp.net
ERP systém
4softhr.net
Personalistika
4mystaff.net
Portál pro zaměstnance
4myprojects.net
Správa projektů
4mycontracts.net
Smlouvy
4docs.net
Správa dokumentů
4appointments.net
Rezervace termínů
4marketingonline.net
Marketing
4insurance.net
Pojištění
4property.net
Reality
4lawyers.net
Software pro advokáty
4mygarage.net
Autoservis
4driving.net
Autoškoly
4fleet.net
Správa vozového parku
4myevents.net
Události
4therapy.net
Terapie
4clinics.net
Kliniky
4dental.net
Zubní ordinace
4restaurants.net
Restaurace
4beautify.net
Kosmetický salon
4gym.net
Fitness centra
4guards.net
Bezpečnostní agentury
4softvet.net
Veterinární ordinace
4softauto.net
Software pro autobyznys
4construct.net
Stavební firmy
4marketplace.net
Marketplace
4shopy.net
E-shop
4pricing.net
Porovnání cen
4salefood.net
Rozvoz jídla
4rentify.net
Pronájmy
4transports.net
Doprava
4agencytravel.net
Cestovní kancelář
4hotel.net
Hotelový systém
4ong.net
Správa neziskovek