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:

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.