V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!

Pentaho BI Platform

Z Multimediaexpo.cz

Pentaho BI Platform 1.2.1 je svobodný 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 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.

Obsah

Jak to funguje?

Pentaho 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 paramtery 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:

  1. . Načtení dat z databáze na základě předem daného SQL dotazu (komponenta SQLLookupRule)
  2. . Vygenerování reportu na základě těchto dat a jeho definice uložené v souboru (JFreeReportComponent)
  3. . Pokud došlo v datech k překročení určité hranice, odeslání reportu emailem (condition + EmailComponent)
  4. . 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í"

Jak 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, Cube Designer pro tvorbu OLAP kostek nebo JFreeReport designer. Výjimkou je podpora ad hoc dotazů, která se objeví v další verzi.

Co poskytuje Pentaho navíc?

To, čí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
  • Od verze 1.5 metadatová vrstva, která abstrahuje od konkrétní podoby dat v databází či datovém skladu (tzn. tabulky, sloupce) a umožnuje 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

Vedle Pentaha jako svobodného software existuje i pokročilejší komerční varianta Pro, která přidává např. pokročilou správu práv uživatelů.

Vybrané součásti Pentaho

Analýza: OLAP server Mondrian (a prohlížeč JPivot)

Mondrian 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éha Cyrilovi atd.).

ETL: KETTLE

KETTLE 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 tranformací 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.

Externí odkazy