Pentaho
Pentaho BI Platform je open source software pro business intelligence, tzn. pro získávání odpovědí na otázky související s řízením podniku a obchodu z firemních dat. Slučuje řadu původně samostatných projektů jako např. JFreeReport pro reporting, Mondrian a JPivot pro analýzu dat (OLAP), Weku pro těžbu dat (data mining) a Pentaho Data Integration (Kettle) pro ETL, kterým poskytuje jednotné prostředí pro spouštění, zobrazování výsledků a práci s nimi. Samotná Pentaho BI Platform i její součásti jsou napsány v Javě, případně s využitím J2EE, a běží jako webová aplikace na aplikačním serveru. Lze stáhnout přednastavenou verzi instalovanou na server JBoss.
Aktuální verze | 8.3 (29. června 2019) |
---|---|
Operační systém | Microsoft Windows |
Vyvíjeno v | Java |
Typ softwaru | svobodný software a podnik |
Web | www |
Některá data mohou pocházet z datové položky. |
Jak to funguje?
editovatPentaho BI Platform funguje jako běhové prostředí pro jednotlivé komponenty, které provádějí vlastní BI operace s daty a jiné úkoly. Jádrem je jednoduchý workflow engine, který provádí v XML definovaný sled akcí (action sequence), což je v nejjednodušším případě popis toho, jaká komponenta a s jakými parametry se má spustit, a co dělat s jejím výstupem – např. komponenta pro generování reportu, jejímž vstupem je soubor s definicí reportu a výstup se má zobrazit na webové stránce. Sled však může také obsahovat volání více komponent, kde jedna pracuje s výstupy druhé, a také jednoduchou rozhodovací logiku a cykly. Například:
- Načtení dat z databáze na základě předem daného SQL dotazu (komponenta SQLLookupRule)
- Vygenerování reportu na základě těchto dat a jeho definice uložené v souboru (JFreeReportComponent)
- Pokud došlo v datech k překročení určité hranice, odeslání reportu emailem (condition + EmailComponent)
- Vrácení vygenerovaného reportu tomu, kdo sled spustil (obvykle prohlížeči uživatele)
Sled akcí může být volán z jiného sledu, může být spuštěn prostřednictvím webového prohlížeče z webové aplikace Pentaho a dokonce může být volán jako webová služba.
Ústředním pojmem Pentaha je „řešení“ (solution), což je skupina zdrojů (obrázky, definice reportů atd.) a definice sledu akcí, které řeší jeden konkrétní problém managementu – viz příklad výše. Na fyzické úrovni odpovídá každému řešení adresář v repozitáři řešení, což je u přednastavené verze adresář pentaho-solutions v instalačním adresáři Pentaha.
Tvorba „řešení“
editovatJak bylo řečeno, Pentaho BI Platform je běhové prostředí pro spouštění řešení a neumožňuje jejich tvorbu či úpravy. Definice reportů, OLAP kostek a dotazů nad nimi atd. se provádí mimo vlastni webovou aplikaci, buď ruční editací převážně XML souborů, nebo s využitím samostatných nástrojů, postupně vznikajících v rámci projektu Pentaho, jako např. Pentaho Design Studio pro tvorbu řešení a sledů akci, Schema Workbench pro tvorbu OLAP kostek nebo Report Designer.
Co poskytuje Pentaho navíc?
editovatTo, čím Pentaho BI Platform obohacuje své podprojekty, resp. komponenty, je:
- Možnost kombinace, řízení a spouštění komponent pomocí workflow engine a definice sledu akcí
- Jednotné uživatelské rozhraní ve formě webové aplikace nebo portletů, umožňující procházení repozitáře řešení, jejich spouštění, administraci aj.
- Zpřístupnění řešení/sledu akcí také jako webové služby
- Možnost naplánovat spuštění či spouštění libovolného řešení pomocí plánovače Quartz – umožňuje např. generování pravidelných měsíčních reportů hospodářských výsledků vždy první pondělí měsíce
- Metadatová vrstva, která abstrahuje od konkrétní podoby dat v databází či datovém skladu (tzn. tabulky, sloupce) a umožňuje uživateli pracovat s jemu mnohem bližšími pojmy relevantními pro danou doménu – může tak např. pracovat s objektem "Zákazník" s atributy "jméno", "IČO", aniž by se musel starat z jaké tabulky či tabulek – často s kryptickými názvy – se berou.
Bezplatná vs. komerční varianta Pentaha
editovatVedle Pentaha jako open source software existuje i pokročilejší komerční varianta (Enterprise Edition), která přidává např. pokročilou správu práv uživatelů.
Vybrané součásti Pentaho
editovatAnalýza: OLAP server Mondrian (a prohlížeč JPivot)
editovatMondrian je ROLAP server, tzn. OLAP dotazy, definované v de facto standardním microsoftím jazyce MDX s některými dodatky, převádí do SQL dotazů nad klasickou relační databází, a provádí potřebné agregace, kešování atd. Umí pracovat s tabulkami ve star i snowflake schématu a rovněž podporuje dimenzi přímo vyjádřenou v tabulce faktů (viz degenerated dimension). Zvládá dokonce hierarchie založené na vztahu rodič-dítě, kde libovolný prvek může být nadřazeným jiného z téže tabulky, bez omezení na hloubku hierarchie (např. v tabulce/dimenzi Zaměstnanci může být Adam podřízeným Bořivoje, který podléhá Cyrilovi atd.).
ETL: Pentaho Data Integration (Kettle)
editovatPentaho Data Integration je nástroj pro extrahování, transformaci a vložení dat do datového skladu, resp. databáze. Jeho základními komponentami jsou Spoon, uživatelské rozhraní pro definici transformací včetně vstupů a výstupů, a Chef, uživatelské rozhraní pro definici úloh, které provádí spuštění transformací, řeší, co dělat, když některá selže atd.