Společnost Microsoft transformovala svou platformu Azure na komplexní cloudová řešení pro podniky, která zahrnují pokročilé funkce pro správu a analýzu dat.
S cílem podpořit cloudové technologie, Microsoft uvedl na trh službu Azure SQL Data Warehouse. Tato dynamická služba pro správu databází efektivně kombinuje vlastnosti elastického datového skladu.
Co je Azure SQL Data Warehouse?
Azure SQL Data Warehouse, nyní známý jako Azure Synapse Dedicated SQL Pool, představuje cloudové datové úložiště, které umožňuje tvorbu a správu datových skladů v prostředí Microsoft Azure. Umožňuje zpracování rozsáhlých objemů strukturovaných i nestrukturovaných dat, spojuje v sobě výkon datového skladu SQL a flexibilitu cloudové platformy.
Tato služba přirozeně podporuje SQL servery a umožňuje migraci stávajících SQL serverů do prostředí SQL Data Warehouse. Uživatelé mohou nadále používat známé dotazy a konstrukce. Kromě toho nabízí možnost okamžitého škálování, pozastavení a snižování výpočetních zdrojů datového skladu dle aktuálních potřeb.
Azure SQL Data Warehouse slouží jako komplexní řešení datového skladu podnikové úrovně založené na SQL. Lze jej využít pro:
- Migraci lokálních datových skladů do cloudového prostředí.
- Poskytování datových skladů pro aplikace a služby vyžadující ukládání a načítání dat v reálném čase, například webové aplikace.
- Vytváření hybridních řešení, propojujících datové sklady hostované v Azure s SQL servery umístěnými v lokální infrastruktuře.
Hlavní výhodou Azure SQL Data Warehouse je jeho flexibilita, která umožňuje škálovat výpočetní a úložné zdroje nezávisle na sobě. Uživatelé tak platí pouze za skutečně spotřebované zdroje, což z něj činí efektivní a nákladově výhodné řešení.
Výpočetní kapacita Azure SQL Data Warehouse je měřena pomocí jednotek Data Warehouse Unit (DWU), které reprezentují kombinaci výpočetních prostředků, jako je I/O, úložiště a paměť, ve všech zapojených výpočetních uzlech.
Azure SQL Data Warehouse disponuje funkcemi pro zabezpečení připojení, umožňující omezení přístupu pouze na specifické IP adresy nebo rozsahy IP pomocí pravidel firewallu. Integrace s Azure Active Directory (AAD) umožňuje autentizaci uživatelů prostřednictvím identit z Azure AD.
Vícevrstvé šifrování zajišťuje ochranu dat při přenosu, ukládání i zpracování, čímž chrání data před neoprávněným přístupem. K dispozici jsou také nástroje pro audit a monitorování dat, které pomáhají identifikovat potenciální narušení bezpečnosti.
V kombinaci s dalšími nástroji od Microsoftu poskytuje Azure SQL Data Warehouse špičkový výkon, což představuje významnou konkurenční výhodu oproti srovnatelným službám na trhu.
Vyhrazený fond SQL Azure Synapse
Azure Synapse Dedicated SQL Pool, dříve známý jako Azure SQL Data Warehouse, je databázová technologie s masivním paralelním zpracováním, která se podobá databázím založeným na sloupcích, jako jsou Snowflake a Amazon Redshift. Pro koncového uživatele se jeví jako tradiční SQL Server, avšak data neukládá ani nezpracovává na jediném uzlu.
Tato architektura může výrazně zvýšit výkon datových skladů s objemem dat přesahujícím několik terabajtů. Pro menší implementace však mohou existovat efektivnější řešení.
Základní architektura se výrazně liší od tradičních SQL serverů, což má za následek odlišnosti v syntaxi i metodách vývoje.
Distribuce dat jsou mapovány na výpočetní uzly v rámci vyhrazeného fondu SQL. S nákupem dalších výpočetních zdrojů dochází k automatickému přemapování distribucí na tyto nové uzly.
Díky jednoduchým dotazům PolyBase SQL můžete importovat velká množství dat a následně využít modul distribuovaných dotazů pro vysoce výkonnou analýzu.
Vyhrazený fond SQL (dříve SQL DW) poskytuje organizaci jednotný zdroj pravdy, který umožňuje rychlejší integraci a analýzu dat a nabízí robustnější přehledy.
Jaký je rozdíl mezi vyhrazenými fondy SQL Azure Synapse a vyhrazenými fondy SQL v pracovním prostoru Azure Synapse Analytics?
PowerShell je jedním z nejvíce matoucích aspektů dokumentace, kde se rozlišuje mezi „vyhrazeným fondem SQL (dříve SQLDW)“ a „vyhrazeným fondem SQL Synapse Analytics“.
Původní implementace SQL DW využívala logický server podobný Azure SQL DB. Sdílela modul PowerShell s názvem Az.Sql.
Tento modul umožňoval vytváření nových fondů SQL (dříve SQLDW) pomocí rutiny New-AzSqlDatabase a pomocí parametru „Edition“ bylo možné specifikovat, že se jedná o DataWarehouse.
Synapse Analytics přinesla s prvním vydáním nový modul PowerShell, Az.Synapse. Pro vytvoření vyhrazeného fondu SQL v pracovním prostoru Synapse Analytics je nutné použít rutinu New-AzSynapseSqlPool.
Tento modul PowerShell již nevyžaduje parametr „Edition“, protože je určen výhradně pro artefakty Synapse.
Vyhrazený fond SQL nabízí výpočetní a úložné kapacity založené na T-SQL. Data lze načítat, modelovat a zpracovávat v Synapse pro rychlejší získávání přehledů.
Kromě vyhrazených fondů SQL, Azure Synapse nabízí také bezserverové fondy SQL a Apache Spark. Uživatel si může vybrat nejvhodnější řešení dle konkrétních požadavků. Bezserverový fond SQL umožňuje dotazování dat uložených v datovém jezeře.
Co dělá vyhrazený fond SQL Azure Synapse?
Azure Synapse Dedicated SQL Pool využívá škálovatelnou architekturu k distribuci výpočtů nad daty mezi více uzlů. Výpočetní zdroje je možné škálovat nezávisle na úložišti, protože jsou od sebe odděleny.
Bezserverové fondy SQL jsou automaticky škálovány tak, aby odpovídaly nárokům na zdroje dotazů. Systém se adaptuje na měnící se topologii přidáváním, odebíráním nebo nahrazováním uzlů, čímž zajišťuje, že dotazy mají k dispozici dostatečné zdroje pro úspěšné dokončení.
Synapse SQL je založen na architektuře uzlů. Aplikace se připojují k řídícímu uzlu a odesílají příkazy T-SQL. Tento řídící uzel je vstupním bodem do Synapse SQL.
Řídící uzly Azure Synapse SQL využívají modul distribuovaných dotazů, který optimalizuje dotazy pro paralelní zpracování a následně předává operace výpočetním uzlům pro paralelní spuštění.
Řídící uzel bezserverového fondu SQL využívá modul DQP (Distributed Query Processing engine) pro optimalizaci a řízení distribuovaného provádění dotazů.
To je dosaženo rozdělením uživatelského dotazu na menší části, které je možné paralelně provádět na výpočetních uzlech. Každá část představuje distribuovanou prováděcí jednotku, která načítá data z jiných jednotek, seskupuje soubory a čte je z úložiště.
Výpočetní uzly ukládají uživatelská data a paralelně spouštějí dotazy. Služba Data Movement Service (DMS) na systémové úrovni, zajišťuje přesun dat mezi uzly pro efektivní paralelní provádění dotazů a vrácení přesných výsledků.
Synapse SQL využívá Azure Storage pro ukládání a zabezpečení uživatelských dat. Za použití úložiště se účtují samostatné poplatky.
Funkce vyhrazených fondů SQL Azure Synapse
Hlavní funkce Azure Synapse SQL Pool:
- Dotazování dat v datovém jezeře v různých formátech jako Parquet, JSON a CSV.
- Přístup k nejnovějším datům prostřednictvím relační abstrakce.
- Transformace dat v jezeře pomocí jazyka T-SQL.
- Rychlé prozkoumávání struktury a obsahu jezerních dat pomocí funkcí OPENROWSET nebo automatického odvození schématu.
- Využití fondu pro prozkoumání datového jezera a transformaci pro tvorbu zjednodušených datových kanálů.
- Přístup k datům a vytváření externích tabulek prostřednictvím T-SQL a dalších známých nástrojů, včetně připojení k bezserverovému fondu SQL.
- Generování sestav BI přímo z tabulek Spark nebo datového jezera.
Vyhrazený SQL Pool vs. Bezserverový fond SQL
Bezserverový fond SQL
Pracovní prostory Azure Synapse nabízejí bezserverový fond SQL, který slouží jako služba pro dotazování dat v datových jezerech. Nevyžaduje další konfiguraci a je zcela bez serveru, což eliminuje potřebu údržby infrastruktury.
Škálování probíhá automaticky dle potřeb zdrojů. Uživatel platí pouze za skutečně zpracovaná data, nikoli za vyhrazené zdroje. Bezserverový fond SQL také vytváří statistiky pro optimalizaci provádění dotazů.
Tyto funkce umožňují rychlou analýzu velkých objemů dat bez nutnosti jejich kopírování nebo načítání do specifického úložiště.
Vyhrazený SQL Pool
Dedikovaný fond SQL pro Synapse je nástupcem Azure SQL Data Warehouse a nabízí všechny funkce podnikového datového skladu, avšak neexistuje bezserverová verze. Uživatelé si musí vytvářet a odstraňovat vyhrazený fond SQL Synapse a vybírat zdroje, které bude využívat.
Tyto prostředky jsou měřeny pomocí jednotek datového skladu (DWU). DWU označuje kombinaci CPU, paměti a IO zdrojů.
Počet DWU ovlivňuje výkon a náklady fondu. Platí se za dobu, po kterou je fond aktivní, bez ohledu na množství vykonané práce.
Pro snížení nákladů je možné vyhrazené fondy zastavit a znovu spustit. V rámci testu byl vytvořen vyhrazený fond SQL s 100 DWU.
Po vytvoření fondu lze do něj načíst data pomocí příkazu COPY, PolyBase s T-SQL dotazy nebo kanálu. Data jsou uložena ve sloupcovém úložišti v relačních tabulkách.
Vyhrazený SQL Pool | Bezserverový SQL Pool | |
Účel | Dotazování a zpracování datového jezera. | Vyhledávání datových jezer. |
Infrastruktura | Je vyžadována | Není nutné zřizovat ani udržovat clustery |
Příprava | Je nutné vytvořit dedikované servery. | Pro transformaci nebo průzkum dat není vyžadována infrastruktura. |
Uložení dat | Relační tabulky | Data Lake |
Náklady | Spravovatelné pozastavením a snížením skladu. | Automatické zpracování a fakturace dle spotřeby. |
Platba | Rezervované zdroje. | Platba za zpracovaná data za dotaz. |
Cena | Platba za poskytnuté DWU. | Platba za zpracované TB. |
Závěr
Tento článek představil Azure SQL Data Warehouse, nyní známý jako Azure Synapse Dedicated SQL Pool. Ačkoli se Dedicated SQL Pool může z mnoha pohledů jevit jako tradiční SQL Server, jeho základní architektura (Massively Parallel Processing) je odlišná, což vyžaduje specifický přístup k některým konceptům a technikám.
Dále je užitečné prozkoumat rozdíly mezi Data Lake a Data Warehouse.