Technologie OLAP (Online Analytical Processing)

Azure Analysis Services

Online analytické zpracování (OLAP) je technologie, která organizuje velké podnikové databáze a podporuje komplexní analýzu. Dá se použít k provádění složitých analytických dotazů bez negativního vlivu na transakční systémy.

Databáze, které firma používá k ukládání všech svých transakcí a záznamů, se nazývají databáze OLTP (Online Transaction Processing). Tyto databáze obvykle obsahují záznamy, které se zadávají po jednom. Často obsahují velké množství informací, které jsou pro organizaci cenné. Databáze používané pro OLTP však nebyly navrženy pro analýzu. Načítání odpovědí z těchto databází je proto nákladné z hlediska času a úsilí. Systémy OLAP byly navrženy tak, aby pomohly extrahovat tyto informace o business intelligence z dat vysoce výkonným způsobem. Důvodem je to, že databáze OLAP jsou optimalizované pro úlohy náročného čtení a nízkého zápisu.

Diagram that shows the OLAP logical architecture in Azure.

Sémantické modelování

Sémantický datový model je koncepční model, který popisuje význam datových prvků, které obsahuje. Organizace často mají vlastní termíny pro věci, někdy s synonymy nebo dokonce různými významy pro stejný termín. Například databáze zásob může sledovat kus vybavení s ID aktiva a sériové číslo, ale prodejní databáze může odkazovat na sériové číslo jako ID aktiva. Neexistuje žádný jednoduchý způsob, jak tyto hodnoty propojit bez modelu, který popisuje vztah.

Sémantické modelování poskytuje úroveň abstrakce schématu databáze, aby uživatelé nemuseli znát podkladové datové struktury. Tím se koncovým uživatelům usnadní dotazování na data, aniž by prováděli agregace a spojení přes podkladové schéma. Sloupce se také obvykle přejmenovávají na uživatelsky přívětivější názvy, aby byl kontext a význam dat jasnější.

Sémantické modelování se obvykle používá pro scénáře náročné na čtení, jako jsou analýzy a business intelligence (OLAP), na rozdíl od zpracování transakčních dat náročných na zápis (OLTP). To je většinou způsobeno povahou typické sémantické vrstvy:

  • Chování agregace je nastavené tak, aby je nástroje pro vytváření sestav zobrazovaly správně.
  • Obchodní logika a výpočty jsou definovány.
  • Zahrnuté jsou časově orientované výpočty.
  • Data se často integruje z více zdrojů.

Sémantická vrstva se tradičně umísťuje do datového skladu z těchto důvodů.

Example diagram of a semantic layer between a data warehouse and a reporting tool

Existují dva primární typy sémantických modelů:

  • Tabulkový. Používá konstrukty relačního modelování (model, tabulky, sloupce). Interně se metadata dědí z konstruktorů modelování OLAP (datové krychle, dimenze, míry). Kód a skript používají metadata OLAP.
  • Multidimenzionální. Používá tradiční konstrukce modelování OLAP (datové krychle, dimenze, míry).

Relevantní služba Azure:

Příklad případu použití

Organizace má data uložená ve velké databázi. Chce tato data zpřístupnit firemním uživatelům a zákazníkům, aby vytvořili vlastní sestavy a mohli provést určitou analýzu. Jednou z možností je poskytnout těmto uživatelům přímý přístup k databázi. Existuje však několik nevýhod, jak to udělat, včetně správy zabezpečení a řízení přístupu. Také návrh databáze, včetně názvů tabulek a sloupců, může být pro uživatele obtížné pochopit. Uživatelé by museli vědět, které tabulky se mají dotazovat, jak se mají tyto tabulky spojit, a další obchodní logiku, která se musí použít, aby získali správné výsledky. Uživatelé by také potřebovali znát dotazovací jazyk, jako je SQL, i když chtějí začít. Obvykle to vede k tomu, že více uživatelů hlásí stejné metriky, ale s různými výsledky.

Další možností je zapouzdření všech informací, které uživatelé potřebují, do sémantického modelu. Sémantický model můžou uživatelé snadněji dotazovat pomocí nástroje pro vytváření sestav podle svého výběru. Data poskytovaná sémantickým modelem se načítá z datového skladu a zajišťují, aby všichni uživatelé viděli jedinou verzi pravdy. Sémantický model také poskytuje popisné názvy tabulek a sloupců, relace mezi tabulkami, popisy, výpočty a zabezpečení na úrovni řádků.

Typické vlastnosti sémantického modelování

Sémantické modelování a analytické zpracování mají tendenci mít následující vlastnosti:

Požadavek Popis
Schéma Schéma při zápisu, silně vynucené
Používá transakce. No
Strategie uzamykání Nic
Aktualizovatelné Ne (obvykle vyžaduje překomputování datové krychle)
Připojitelné Ne (obvykle vyžaduje překomputování datové krychle)
Úloha Těžké čtení, jen pro čtení
Indexování Multidimenzionální indexování
Velikost datumu Malá až střední
Model Multidimenzionální
Datový obrazec: Schéma datové krychle nebo hvězdy/sněhové vločky
Flexibilita dotazů Vysoce flexibilní
Scale (Měřítko): Velké (10s-100 gb)

Kdy použít toto řešení

Zvažte OLAP v následujících scénářích:

  • Je potřeba rychle spouštět složité analytické a ad hoc dotazy, aniž by to negativně ovlivnilo vaše systémy OLTP.
  • Chcete firemním uživatelům poskytnout jednoduchý způsob generování sestav z vašich dat.
  • Chcete poskytnout řadu agregací, které uživatelům umožní získat rychlé a konzistentní výsledky.

OLAP je zvlášť užitečné pro použití agregačních výpočtů u velkých objemů dat. Systémy OLAP jsou optimalizované pro scénáře náročné na čtení, jako jsou analýzy a business intelligence. OLAP umožňuje uživatelům segmentovat multidimenzionální data do řezů, které je možné zobrazit ve dvou dimenzích (například v kontingenční tabulce) nebo filtrovat data podle konkrétních hodnot. Tento proces se někdy označuje jako "dělení a dělení" dat a dá se provádět bez ohledu na to, jestli jsou data rozdělená mezi několik zdrojů dat. To pomáhá uživatelům najít trendy, spotové vzory a zkoumat data, aniž by museli znát podrobnosti o tradiční analýze dat.

Sémantické modely můžou firemním uživatelům pomoct abstrahovat složitost vztahů a usnadnit rychlou analýzu dat.

Problémy

Pro všechny výhody systémů OLAP přináší několik výzev:

  • Zatímco data v systémech OLTP se neustále aktualizují prostřednictvím transakcí, které proudí z různých zdrojů, úložiště dat OLAP se obvykle aktualizují v mnohem pomalejších intervalech v závislosti na obchodních potřebách. To znamená, že systémy OLAP jsou vhodnější pro strategická obchodní rozhodnutí, nikoli okamžité reakce na změny. Je také potřeba naplánovat určitou úroveň čištění a orchestrace dat, aby byla úložiště dat OLAP aktuální.
  • Na rozdíl od tradičních normalizovaných relačních tabulek nalezených v systémech OLTP jsou datové modely OLAP obvykle multidimenzionální. To znesnadňuje nebo znemožňuje přímé mapování na modely vztahů entit nebo objektově orientované modely, kde je každý atribut mapován na jeden sloupec. Systémy OLAP místo tradiční normalizace obvykle používají hvězdicové nebo sněhové vločkové schéma.

OLAP v Azure

V Azure se data uložená v systémech OLTP, jako je Azure SQL Database, zkopírují do systému OLAP, jako je Azure Analysis Services. Nástroje pro zkoumání a vizualizaci dat, jako jsou Power BI, Excel a možnosti třetích stran, se připojují k serverům Analysis Services a poskytují uživatelům vysoce interaktivní a vizuálně bohaté přehledy o modelovaných datech. Tok dat z dat OLTP do OLAP se obvykle orchestruje pomocí služby SQL Server Integration Services, kterou je možné spustit pomocí služby Azure Data Factory.

V Azure budou všechna následující úložiště dat splňovat základní požadavky na OLAP:

Služba Analysis Services serveru SQL (SSAS) nabízí funkce dolování OLAP a dat pro aplikace business intelligence. Službu SSAS můžete nainstalovat na místní servery nebo hostitele v rámci virtuálního počítače v Azure. Azure Analysis Services je plně spravovaná služba, která poskytuje stejné hlavní funkce jako služba SSAS. Azure Analysis Services podporuje připojení k různým zdrojům dat v cloudu a místně ve vaší organizaci.

Clusterované indexy Columnstore jsou k dispozici v SQL Serveru 2014 a novějším i v Azure SQL Database a jsou ideální pro úlohy OLAP. Počínaje SQL Serverem 2016 (včetně Azure SQL Database) ale můžete využít hybridní zpracování transakcí a analýz (HTAP) prostřednictvím aktualizovatelných neclusterovaných indexů columnstore. HTAP umožňuje provádět zpracování OLTP a OLAP na stejné platformě, což eliminuje potřebu ukládat více kopií dat a eliminuje potřebu jedinečných systémů OLTP a OLAP. Další informace najdete v tématu Začínáme se columnstorem pro provozní analýzy v reálném čase.

Klíčová kritéria výběru

Pokud chcete zúžit možnosti, začněte zodpovězením těchto otázek:

  • Chcete místo správy vlastních serverů spravovanou službu?

  • Vyžadujete zabezpečené ověřování pomocí Microsoft Entra ID?

  • Chcete provádět analýzy v reálném čase? Pokud ano, zužte možnosti na ty, které podporují analýzy v reálném čase.

    Analýza v reálném čase v tomto kontextu se vztahuje na jeden zdroj dat, jako je aplikace plánování podnikových zdrojů (ERP), která bude spouštět provozní i analytickou úlohu. Pokud potřebujete integrovat data z více zdrojů nebo vyžadovat extrémní výkon analýzy pomocí předem agregovaných dat, jako jsou datové krychle, můžete stále vyžadovat samostatný datový sklad.

  • Potřebujete použít předem agregovaná data, například k poskytování sémantických modelů, které poskytují analýzu uživatelsky přívětivější? Pokud ano, zvolte možnost, která podporuje multidimenzionální datové krychle nebo tabulkové sémantické modely.

    Poskytování agregací může uživatelům pomoct konzistentně vypočítat agregace dat. Předem agregovaná data můžou také zvýšit výkon při práci s několika sloupci v mnoha řádcích. Data je možné předem agregovat v multidimenzionálních krychlích nebo tabulkových sémantických modelech.

  • Potřebujete integrovat data z několika zdrojů mimo úložiště dat OLTP? Pokud ano, zvažte možnosti, které snadno integrují více zdrojů dat.

Matice schopností

Následující tabulky shrnují klíčové rozdíly v možnostech.

Obecné možnosti

Schopnost Azure Analysis Services SQL Server Analysis Services SQL Server s indexy Columnstore Azure SQL Database s indexy Columnstore
Je spravovaná služba Yes No No Ano
Podporuje multidimenzionální datové krychle No Ano No Ne
Podporuje tabulkové sémantické modely. Ano Ano No Ne
Snadná integrace více zdrojů dat Ano Yes Ne 1 Ne 1
Podporuje analýzy v reálném čase. No No Ano Yes
Vyžaduje proces kopírování dat ze zdrojů. Ano Ano No Ne
Integrace Microsoft Entra Yes No č. 2 Ano

[1] Sql Server a Azure SQL Database se sice nedají použít k dotazování a integraci několika externích zdrojů dat, ale přesto můžete vytvořit kanál, který to udělá za vás pomocí služby SSIS nebo Azure Data Factory. SQL Server hostovaný na virtuálním počítači Azure má další možnosti, jako jsou propojené servery a PolyBase. Další informace najdete v tématu Orchestrace kanálů, tok řízení a přesun dat.

[2] Připojení na SQL Server spuštěný na virtuálním počítači Azure se nepodporuje pomocí účtu Microsoft Entra. Použijte místo toho doménový účet Active Directory.

Možnosti škálovatelnosti

Schopnost Azure Analysis Services SQL Server Analysis Services SQL Server s indexy Columnstore Azure SQL Database s indexy Columnstore
Redundantní regionální servery pro zajištění vysoké dostupnosti Yes Ne Ano Yes
Podporuje horizontální navýšení kapacity dotazů. Yes Ne Ano Yes
Dynamická škálovatelnost (vertikální navýšení kapacity) Yes Ne Ano Yes

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další kroky