Volba úložiště analytických dat v Azure
V architektuře velkých dat je často potřeba úložiště analytických dat, které zpracovává data ve strukturovaném formátu, na který se můžete dotazovat pomocí analytických nástrojů. Analytická úložiště dat, která podporují dotazování dat s horkou i studenou cestou, se souhrnně označují jako obsluhující vrstva nebo data obsluhující úložiště.
V obsluhující vrstvě se zpracovávají data z horké i studené cesty. V architektuře lambdaje obsluhující vrstva rozdělená do vrstvy rychlého zpracování, která ukládá data, která se zpracovávají postupně, a dávkovou obsluhující vrstvu, která obsahuje dávkově zpracovaný výstup. Obsluhující vrstva vyžaduje silnou podporu náhodného čtení s nízkou latencí. Úložiště dat pro rychlostní vrstvu by také mělo podporovat náhodné zápisy, protože dávkové načítání dat do tohoto úložiště by mělo nežádoucí zpoždění. Na druhé straně úložiště dat pro dávkovou vrstvu nemusí podporovat náhodné zápisy, ale dávkové zápisy.
Pro všechny úlohy úložiště dat neexistuje žádná nejlepší volba pro správu dat. Různá řešení pro správu dat jsou optimalizovaná pro různé úlohy. Většina reálných cloudových aplikací a procesů velkého množství dat má různé požadavky na úložiště dat a často používá kombinaci řešení úložiště dat.
Jaké máte možnosti při výběru analytického úložiště dat?
Pro úložiště datových služeb v Azure existuje několik možností v závislosti na vašich potřebách:
- Azure Synapse Analytics
- Azure Synapse fondů Sparku
- Azure Databricks
- Azure Data Explorer
- Azure SQL Database
- SQL Server na virtuálním počítači Azure
- HBase/Phoenix v HDInsightu
- Hive LLAP ve službě HDInsight
- Azure Analysis Services
- Azure Cosmos DB
Tyto možnosti poskytují různé databázové modely optimalizované pro různé typy úloh:
- Databáze typu klíč/hodnota uchová jeden serializovaný objekt pro každou hodnotu klíče. Jsou vhodné pro ukládání velkých objemů dat, kde chcete získat jednu položku pro danou hodnotu klíče a nemusíte se dotazovat na základě jiných vlastností položky.
- Dokumentové databáze jsou databáze typu klíč/hodnota, ve kterých jsou hodnoty dokumenty. Dokument v tomto kontextu je kolekce pojmenovaných polí a hodnot. Databáze obvykle ukládá data ve formátu, jako je XML, YAML, JSON nebo BSON, ale může používat prostý text. Dokumentové databáze se mohou dotazovat na jiná než klíčová pole a definovat sekundární indexy, aby se dotazování zeefektivněním. Díky tomu je databáze dokumentů vhodnější pro aplikace, které potřebují načítat data na základě kritérií složitějších než hodnota klíče dokumentu. Můžete se například dotazovat na pole, jako je ID produktu, ID zákazníka nebo jméno zákazníka.
- Databáze skupin sloupců jsou úložiště dat typu klíč/hodnota, která strukturuje úložiště dat do kolekcí souvisejících sloupců nazývaných rodiny sloupců. Databáze sčítání lidu může mít například jednu skupinu sloupců pro jméno osoby (první, prostřední, poslední), jednu skupinu pro adresu osoby a jednu skupinu pro profilové informace osoby (data narození, pohlaví). Databáze může ukládat každou rodinu sloupců v samostatném oddílu a přitom uchovávat všechna data pro jednu osobu, která souvisí se stejným klíčem. Aplikace může číst jednu rodinu sloupců bez čtení všech dat entity.
- Graph databáze ukládají informace jako kolekci objektů a vztahů. Grafová databáze může efektivně provádět dotazy, které procháznou síť objektů a vztahy mezi nimi. Objekty můžou být například zaměstnanci v databázi lidských zdrojů a můžete chtít usnadnit dotazy, například "najít všechny zaměstnance, kteří přímo nebo nepřímo pracují pro Scotta".
- Databáze telemetrie a časových řad jsou kolekcí objektů jen pro připojení. Databáze telemetrie efektivně indexují data v různých sloupcových obchodech a strukturách v paměti, což z nich dělá optimální volbu pro ukládání a analýzu obrovského množství telemetrických dat a dat časových řad.
Klíčová kritéria výběru
Pokud chcete tyto volby zúžit, začněte zodpovězením těchto otázek:
Potřebujete úložiště, které může sloužit jako horká cesta pro vaše data? Pokud ano, zužte své možnosti na ty, které jsou optimalizované pro rychlostní obsluhující vrstvu.
Potřebujete podporu MPP (Massively Parallel Processing), kdy se dotazy automaticky distribuují mezi několik procesů nebo uzlů? Pokud ano, vyberte možnost, která podporuje horizontální navýšení velikosti dotazů.
Dáváte přednost použití relačního úložiště dat? Pokud ano, zužte své možnosti na ty, které mají model relační databáze. Všimněte si ale, že některá nerelační úložiště podporují SQL pro dotazování a nástroje, jako je PolyBase, lze použít k dotazování na nerelační úložiště dat.
Shromažďujete data časových řad? Používáte data jen pro připojení?
Matice schopností
Následující tabulky shrnují hlavní rozdíly v možnostech.
Obecné možnosti
| Schopnost | SQL Database | Azure Synapse SQL fond | Azure Synapse fondu Sparku | Průzkumník dat Azure | HBase/Phoenix v HDInsightu | Hive LLAP ve službě HDInsight | Azure Analysis Services | Cosmos DB |
|---|---|---|---|---|---|---|---|---|
| Je spravovaná služba | Yes | Yes | Yes | Yes | Ano 1 | Ano 1 | Ano | Yes |
| Model primární databáze | Relační (sloupcový formát při použití indexů columnstore) | Relační tabulky se sloupcovým úložištěm | Široké úložiště sloupců | Relační úložiště (úložiště sloupců), telemetrie a úložiště časových řad | Široké úložiště sloupců | Hive nebo v paměti | Tabulkové sémantické modely | Úložiště dokumentů, graf, úložiště klíč-hodnota, široké úložiště sloupců |
| SQL jazyka | Yes | Yes | Yes | Yes | Ano (použití ovladače Phoenix JDBC) | Yes | No | Yes |
| Optimalizované pro rychlostní obsluhující vrstvu | Ano 2 | Ano 3 | Yes | Yes | Yes | Yes | No | Yes |
[1] S ruční konfigurací a škálováním.
[2] Použití tabulek optimalizovaných pro paměť a indexů hash nebo neclusterovaných indexů.
[3] Podporováno jako Azure Stream Analytics výstupu.
Možnosti škálovatelnosti
| Schopnost | SQL Database | Azure Synapse SQL fond | Azure Synapse fondu Sparku | Průzkumník dat Azure | HBase/Phoenix v HDInsightu | Hive LLAP ve službě HDInsight | Azure Analysis Services | Cosmos DB |
|---|---|---|---|---|---|---|---|---|
| Redundantní regionální servery pro vysokou dostupnost | Yes | No | No | Yes | Yes | No | No | Yes |
| Podporuje horizontální navýšení velikosti dotazů. | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Dynamická škálovatelnost (škálování nahoru) | Yes | Yes | Yes | Yes | No | No | Yes | Yes |
| Podporuje ukládání dat do mezipaměti v paměti. | Yes | Yes | Yes | Yes | No | Yes | Yes | No |
Možnosti zabezpečení
| Schopnost | SQL Database | Azure Synapse | Průzkumník dat Azure | HBase/Phoenix v HDInsightu | Hive LLAP ve službě HDInsight | Azure Analysis Services | Cosmos DB |
|---|---|---|---|---|---|---|---|
| Authentication | SQL / Azure Active Directory (Azure AD) | SQL / Azure AD | Azure AD | local / Azure AD 1 | local / Azure AD 1 | Azure AD | uživatelé databáze / Azure AD prostřednictvím řízení přístupu (IAM) |
| Šifrování v klidovém stavu | Ano 2 | Ano 2 | Yes | Ano 1 | Ano 1 | Ano | Yes |
| Zabezpečení na úrovni řádků | Yes | Ano 3 | No | Ano 1 | Ano 1 | Ano | No |
| Podporuje brány firewall. | Yes | Yes | Yes | Ano 4 | Ano 4 | Yes | Yes |
| Dynamické maskování dat | Yes | Yes | Yes | Ano 1 | Ano | No | No |
[1] Vyžaduje použití clusteru HDInsight připojeného k doméně.
[2] K šifrování a dešifrování ostatních osobních dat vyžaduje transparentní šifrování dat.
[3] Pouze predikáty filtru. Viz Zabezpečení na úrovni řádků.
[4] Při použití v rámci azure Virtual Network. Viz Rozšíření Azure HDInsight pomocí azure Virtual Network.