Redash - Jednoduchý, ale mocný BI nástroj

Oslovil nás zákazník, produktový manažer, který není technicky zaměřený, s požadavkem na export dat z databáze. Tento export však kvůli dlouhé době běhu, trvající v řádu hodin, nemohl provést pomocí běžných nástrojů. Tento požadavek se navíc opakoval, a proto potřeboval vytvořit prostředí, ve kterém by si mohl data exportovat samostatně.

Na začátku jsme hledali nástroj, který by mu umožnil spouštět asynchronní SQL dotazy v databázi, které by si po vykonání mohl později stáhnout, ale protože jsme nic jako asynchronní adminer nenašli, tak jsme prozkoumali možnosti BI nástrojů, které by nám mohly pomoci s tímto problémem.

K rešerši jsme vybrali následující:

Redash

Redash - BI nástroj

Začneme nástrojem, který se nám líbil nejvíc a rovnou se podíváme na konkrétní vlastnosti.

Jednoduché rozhraní

Redash používá intuitivní webové prostředí, ve kterém jsme se rychle zorientovali. Již po několika minutách od nasazení jsme byli schopni provádět první exporty a sdílet dashboardy s grafy. Uživatelské rozhraní je přívětivé, což usnadňuje práci i netechnickým uživatelům.

Při tvorbě SQL dotazů se navíc zobrazuje schéma, což velmi pomáhá při psaní dotazů.

Asynchronní zpracování dotazů

Všechny SQL dotazy se spouštějí asynchronně, což znamená, že se mohou spouštět jak rychlé dotazy, tak i náročnější, dlouhé dotazy, aniž by vzájemně blokovaly databázi. Výsledky se následně ukládají do databáze a uživateli jsou zpřístupněny k zobrazení nebo stažení.

To přináší i možnost dále pracovat s výsledky jednotlivých dotazů a vytvářet nad nimi další analýzy. Příklad: Spustíme náročný dotaz na data, který vybere větší množinu dat, a z této množiny pak už rychleji vybíráme podmnožiny podle potřeby.

Velká podpora různých databází

Redash podporuje širokou škálu databází – od MySQL, přes PostgreSQL až po ElasticSearch nebo dokonce Excel. To z něj činí velmi flexibilní nástroj, který je vhodný do různorodých prostředí a může pokrýt různé potřeby datového zpracování.

Alerty

Redash nabízí možnost nastavit alerty, což je velmi užitečná funkce pro sledování kritických změn v datech. Uživatel může definovat konkrétní podmínky, které odešle upozornění. Stejně jako u velké podpory databází je zde i velká podpora platforem, kam se notifikace doručí.

API

Celý nástroj je rozdělen na frontend postavený na Reactu a backend na Pythonu. Díky tomu probíhá veškerá komunikace automaticky prostřednictvím API. To umožňuje snadno integrovat Redash s dalšími systémy, například ukládat pohledy do verzovacího systému nebo vytvářet vlastní napojení a automatizace na základě zpracovaných dat.

Další dobré vlastnosti

Redash nabízí také další standardní vlastnosti, které jsou u BI nástrojů běžné, jako jsou grafy, dashboardy, sdílení dat, řízení přístupů, časově plánované spouštění dotazů nebo exporty do csv/excelu, atd. Tento široký set funkcí zajišťuje, že nástroj je flexibilní a použitelný jak pro malé týmy, tak i pro velké organizace, které potřebují komplexní řešení pro práci s daty.

Slabé stránky

Našli jsme však i několik aspektů, které považujeme za omezující.

Data (např. exporty) se stahují přímo do prohlížeče, což může být při práci s datasetem o velikosti desítek či stovek MB velmi náročné a celý frontend značně zpomalit prohlížeč. Tato vlastnost je již v diskuzích otevřená a doufáme, že v dalších verzích bude tato část aplikace vylepšena.

V rozhraní nám chybí možnost efektivně řídit procesy. Když uživatel spustí náročný SQL dotaz, jehož výsledky nakonec nebude potřebovat, protože v něm udělal chybu, není zde žádná jednoduchá možnost, jak tento dotaz ukončit.

Správa práv umožňuje přiřadit uživateli pouze celou databázi, nikoli jednotlivé dotazy. Není tedy možné skrýt konkrétní dotazy pro vybrané uživatele.

Další nástroje

Krátce zmíníme důvody, proč jsme další vybrané nástroje nenasadili.

Apache Superset

Při testování jsme zjistili, že jde o velmi silný nástroj, který nabízí široké možnosti práce s daty. Kvůli své komplexnosti však má výrazně složitější uživatelské rozhraní než Redash, což nás od něj na začátku odradilo.

Metabase

U tohoto nástroje bylo uživatelské rozhraní podobně intuitivní jako u Redash, ale postrádali jsme podporu pro asynchronní dotazy a tím i možnost pracovat s již jednou získanými daty.

Závěr

Díky Redash se nám podařilo zefektivnit proces doručování dat zákazníkovi, snížit manuální práci podpory a nabídnout interaktivní reporty, které si zákazník může definovat a spouštět sám a kdykoliv.

Redash je z našeho pohledu ideální nástroj pro týmy, které potřebují kombinovat automatizaci SQL dotazů, jednoduché rozhraní pro zákazníky a vizualizaci dat, aniž by bylo nutné investovat do složitého programování nebo vývoje vlastního řešení.