Elemzési adattár kiválasztása az Azure-ban

A big data architektúrában gyakran van szükség olyan elemzési adattárra, amely strukturált formátumban szolgálja ki a feldolgozott adatokat, és amely elemzési eszközökkel kérdezhető le. A gyakori elérésű és a ritka elérésű adatok lekérdezését támogató elemzési adattárakat együttesen kiszolgáló rétegnek vagy tárolóként nevezzük.

A kiszolgáló réteg a gyakori és a ritka elérésű útvonal feldolgozott adataival is foglalkozik. A lambda architektúrában a kiszolgáló réteg egy sebességkiszolgáló rétegre van felosztva, amely a növekményesen feldolgozott adatokat tárolja, és egy köteg-kiszolgáló rétegre, amely a kötegelt feldolgozású kimenetet tartalmazza. A kiszolgálóréteg erős támogatást igényel az alacsony késésű véletlenszerű olvasásokhoz. A sebességréteg adattárolásának támogatnia kell a véletlenszerű írásokat is, mivel az ebbe az adattárba történő kötegelt betöltés nem kívánt késéseket okozna. Másrészt a kötegréteg adattárolásának nem kell támogatnia a véletlenszerű írásokat, hanem a kötegírásokat.

Nincs egyetlen legjobb adatkezelési lehetőség az összes adattárolási feladathoz. A különböző adatkezelési megoldások különböző feladatokhoz vannak optimalizálva. A legtöbb valós felhőalkalmazásnak és big data-folyamatnak számos adattárolási követelménye van, és gyakran adattárolási megoldások kombinációját használják.

Milyen lehetőségek állnak rendelkezésre az elemzési adattárak kiválasztásakor?

Az Azure-ban a tárolást kiszolgáló adatoknak az igényeitől függően számos lehetősége van:

Ezek a lehetőségek különböző típusú feladatokhoz optimalizált adatbázismodelleket biztosítanak:

  • A kulcs-/érték-adatbázisok minden kulcsértékhez egyetlen szerializált objektumot tárolnak. Nagy mennyiségű adat tárolására alkalmasak, ha egy adott kulcsértékhez egy elemet szeretne lekérni, és nem kell az elem egyéb tulajdonságai alapján lekérdezést végeznie.
  • A dokumentumadatbázisok kulcs-/érték-adatbázisok, amelyekben az értékek dokumentumok. A "dokumentum" ebben a környezetben nevesített mezők és értékek gyűjteménye. Az adatbázis általában XML, YAML, JSON vagy BSON formátumban tárolja az adatokat, de egyszerű szöveget is használhat. A dokumentumadatbázisok nem kulcsmezőkön lekérdezést végezhetnek, és másodlagos indexeket határozhatnak meg a lekérdezés hatékonyabbá tétele érdekében. Így a dokumentum-adatbázis alkalmasabb az olyan alkalmazások számára, amelyeknek a feltételek alapján kell adatokat lekérni, összetettebbek, mint a dokumentumkulcs értéke. Lekérdezhet például olyan mezőket, mint a termékazonosító, az ügyfélazonosító vagy az ügyfél neve.
  • Az oszloptár-adatbázisok kulcs-/érték adattárak, amelyek az egyes oszlopokat külön tárolják a lemezen. A széles oszloptár-adatbázis olyan oszloptár-adatbázis, amely nem csak egyetlen oszlopcsaládot, hanem oszlopcsaládokat is tárol. Előfordulhat például, hogy a census-adatbázis oszlopcsaládot tartalmaz egy személy nevéhez (első, középső, utolsó), egy családhoz a személy címéhez, valamint egy családhoz a személy profiladataihoz (születési dátum, nem). Az adatbázis minden oszlopcsaládot külön partíción tárolhat, miközben az összes adat egy adott kulcshoz kapcsolódó személy számára marad. Az alkalmazások egyetlen oszlopcsaládot is beolvashatnak anélkül, hogy beolvasták az entitás összes adatát.
  • A gráfadatbázisok objektumok és kapcsolatok gyűjteményeként tárolják az információkat. A gráfadatbázisok hatékonyan hajthatnak végre olyan lekérdezéseket, amelyek áthaladnak az objektumok hálózatán és a köztük lévő kapcsolatokon. Előfordulhat például, hogy az objektumok egy emberierőforrás-adatbázis alkalmazottai, és olyan lekérdezéseket szeretne megkönnyíteni, mint például a "Minden olyan alkalmazott megkeresése, aki közvetlenül vagy közvetve Scottnak dolgozik".
  • A telemetriai és idősorozat-adatbázisok csak hozzáfűző objektumok gyűjteményei. A telemetriai adatbázisok hatékonyan indexelik az adatokat különböző oszloptárolókban és memóriabeli struktúrákban, így optimális választássá teszik a telemetriai és idősoros adatok nagy mennyiségének tárolását és elemzését.

Kulcsválasztási feltételek

A lehetőségek szűkítéséhez először válaszoljon az alábbi kérdésekre:

  • Szüksége van olyan tároló kiszolgálására, amely az adatok gyakori elérési útja lehet? Ha igen, szűkítse a beállításokat a sebességkiszolgáló rétegre optimalizált beállításokra.

  • Nagy mértékben párhuzamos feldolgozási (MPP) támogatásra van szüksége, ahol a lekérdezések automatikusan elosztódnak több folyamat vagy csomópont között? Ha igen, válasszon egy olyan lehetőséget, amely támogatja a lekérdezések horizontális felskálázását.

  • Inkább relációs adattárat használ? Ha igen, szűkítse a lehetőségeket a relációs adatbázis-modellel rendelkezőkre. Vegye figyelembe azonban, hogy egyes nem relációs tárolók támogatják a lekérdezési SQL-szintaxist, és az olyan eszközök, mint a PolyBase, használhatók a nem relációs adattárak lekérdezésére.

  • Gyűjt idősoradatokat? Csak hozzáfűző adatokat használ?

Képességmátrix

Az alábbi táblázatok összefoglalják a képességek főbb különbségeit.

Általános képességek

Funkció SQL Database Azure Synapse SQL-készlet Azure Synapse Spark-készlet Azure Adatkezelő HBase/Phoenix a HDInsighton Hive LLAP a HDInsighton Azure Analysis Services Azure Cosmos DB
Felügyelt szolgáltatás Igen Igen Igen Igen Igen 1 Igen 1 Igen Igen
Elsődleges adatbázismodell Relációs (oszloptároló formátum oszlopcentrikus indexek használatakor) Relációs táblák oszloptárolóval Széles oszloptár Relációs (oszloptároló), telemetria és idősorozat-tároló Széles oszloptár Hive/Memóriában Táblázatos szemantikai modellek Dokumentumtár, gráf, kulcs-érték tároló, széles oszloptároló
SQL-nyelv támogatása Igen Igen Igen Igen Igen (Phoenix JDBC-illesztőprogram használata) Igen No Igen
Sebességkiszolgáló rétegre optimalizálva Igen 2 Igen 3 Igen Igen Igen Igen No Igen

[1] Manuális konfigurációval és skálázással.

[2] Memóriaoptimalizált táblák és kivonatok vagy nemclustered indexek használata.

[3] Azure Stream Analytics-kimenetként támogatott.

Méretezhetőségi képességek

Funkció SQL Database Azure Synapse SQL-készlet Azure Synapse Spark-készlet Azure Adatkezelő HBase/Phoenix a HDInsighton Hive LLAP a HDInsighton Azure Analysis Services Azure Cosmos DB
Redundáns regionális kiszolgálók magas rendelkezésre álláshoz Igen No No Igen Igen No Igen Igen
Támogatja a lekérdezések horizontális felskálázását Nem Igen Igen Igen Igen Igen Igen Igen
Dinamikus méretezhetőség (vertikális felskálázás) Igen Igen Igen Igen No No Igen Igen
Támogatja az adatok memóriabeli gyorsítótárazását Igen Igen Igen Igen No Igen Igen Nem

Biztonsági képességek

Funkció SQL Database Azure Synapse Azure Adatkezelő HBase/Phoenix a HDInsighton Hive LLAP a HDInsighton Azure Analysis Services Azure Cosmos DB
Authentication SQL/ Microsoft Entra ID SQL/ Microsoft Entra ID Microsoft Entra ID local / Microsoft Entra ID 1 local / Microsoft Entra ID 1 Microsoft Entra ID adatbázis-felhasználók / Microsoft Entra-azonosító hozzáférés-vezérléssel (IAM)
Adattitkosítás inaktív állapotban Igen 2 Igen 2 Igen Igen 1 Igen 1 Igen Igen
Sorszintű biztonság Igen Igen 3 Igen Igen 1 Igen 1 Igen Nem
Tűzfalak támogatása Igen Igen Igen Igen 4 Igen 4 Igen Igen
Dynamic data masking Igen Igen Igen Igen 1 Igen No Nem

[1] Tartományhoz csatlakoztatott HDInsight-fürt használatát igényli.

[2] Transzparens adattitkosítást (TDE) kell használnia az inaktív adatok titkosításához és visszafejtéséhez.

[3] A szűrési predikátumok csak. Lásd: Sorszintű biztonság

[4] Azure-beli virtuális hálózaton belüli használat esetén. Lásd: Az Azure HDInsight kiterjesztése Azure-beli virtuális hálózat használatával.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerző:

Következő lépések