Välja en lagringsteknik för stordata i Azure

I det här avsnittet jämförs alternativen för datalagring för stordatalösningar – mer specifikt datalagring för massinmatning av data och batchbearbetning, till skillnad från analysdatalager eller inmatning av strömmande data i realtid.

Vilka alternativ har du när du väljer datalagring i Azure?

Det finns flera alternativ för att mata in data i Azure, beroende på dina behov.

Fillagring:

NoSQL-databaser:

Analytiska databaser:

Azure-datautforskaren

Azure Storage blobar

Azure Storage är en hanterad lagringstjänst som är mycket tillgänglig, säker, beständig, skalbar och redundant. Microsoft tar hand om underhåll och hanterar kritiska problem åt dig. Azure Storage är den vanligaste lagringslösningen som Azure erbjuder, på grund av antalet tjänster och verktyg som kan användas med den.

Det finns olika Azure Storage tjänster som du kan använda för att lagra data. Det mest flexibla alternativet för att lagra blobar från ett antal datakällor är Blob Storage. Blobar är i princip filer. De lagrar bilder, dokument, HTML-filer, virtuella hårddiskar (VHD), stordata som loggar, databassäkerhetskopior – i stort sett vad som helst. Blobar lagras i containrar som liknar mappar. En container tillhandahåller en gruppering av en uppsättning blobar. Ett lagringskonto kan innehålla ett obegränsat antal containrar, och varje container kan lagra ett obegränsat antal blobbar.

Azure Storage är ett bra alternativ för stordata- och analyslösningar på grund av dess flexibilitet, hög tillgänglighet och låga kostnader. Den tillhandahåller lagringsnivåer för hot, cool och archive för olika användningsfall. Mer information finns i Azure Blob Storage: Lagringsnivåer för hot, cool och archive.

Azure Blob Storage kan nås från Hadoop (tillgängligt via HDInsight). HDInsight kan använda en blobcontainer i Azure Storage som standardfilsystem för klustret. Via ett HDFS-gränssnitt (Hadoop Distributed File System) som tillhandahålls av en WASB-drivrutin kan den fullständiga uppsättningen komponenter i HDInsight användas direkt på strukturerade eller ostrukturerade data som lagras som blobar. Azure Blob Storage kan också nås via Azure Synapse Analytics med hjälp av dess PolyBase-funktion.

Andra funktioner som gör Azure Storage ett bra val är:

Azure Data Lake Store

Azure Data Lake Store är en lagringsplats för stordata analytiska arbetsbelastningar i företagsomfattande hyperskala. Med Data Lake kan du samla in data av valfri storlek, typ och inmatningshastighet på en enda säker plats för drifts- och undersökande analys.

Data Lake Store inte några begränsningar för kontostorlekar, filstorlekar eller mängden data som kan lagras i en datasjö. Data lagras durably genom att göra flera kopior och det finns ingen tidsbegränsning för hur länge data kan lagras i Data Lake. Förutom att göra flera kopior av filer för att skydda mot oväntade fel sprider Data Lake delar av en fil över ett antal enskilda lagringsservrar. Detta förbättrar läsgenomströmning vid läsning av filen parallellt för att utföra dataanalyser.

Data Lake Store kan nås från Hadoop (tillgängligt via HDInsight) med hjälp av WebHDFS-kompatibla REST-API:er. Du kan överväga att använda detta som ett Azure Storage när dina enskilda eller kombinerade filstorlekar överskrider det som stöds av Azure Storage. Det finns dock riktlinjer för prestandajustering som du bör följa när du använder Data Lake Store som primär lagring för ett HDInsight-kluster, med specifika riktlinjer för Spark,Hive,MapReduceoch Storm. Se även till att kontrollera Data Lake Store regional tillgänglighet ,eftersom den inte är tillgänglig i lika många regioner som Azure Storage och den måste finnas i samma region som ditt HDInsight-kluster.

Tillsammans med Azure Data Lake Analytics är Data Lake Store särskilt utformat för att möjliggöra analys av lagrade data och är justerat för prestanda för dataanalysscenarier. Data Lake Store kan också nås via Azure Synapse med hjälp av dess PolyBase-funktion.

Azure Cosmos DB

Azure Cosmos DB är Microsofts globalt distribuerade databas för flera modeller. Cosmos DB garanterar svarstider på en siffra på millisekunder vid den 99:e percentilen var som helst i världen, erbjuder flera väldefinierade konsekvensmodeller för att finjustera prestanda och garanterar hög tillgänglighet med funktioner för flera platser.

Azure Cosmos DB är schemaoberoende. Den indexerar automatiskt alla data utan att du behöver hantera schema- och indexhantering. Den har även stöd för dokument, nyckelvärden, diagram och kolumnfamiljedatamodeller med inbyggt stöd för flera modeller.

Azure Cosmos DB funktioner:

HBase på HDInsight

Apache HBase är en NoSQL-databas med öppen källkod som bygger på Hadoop och modelleras efter Google BigTable. HBase ger slumpmässig åtkomst och stark konsekvens för stora mängder ostrukturerade och halvstrukturerade data i en schemalös databas som är ordnad efter kolumnfamiljer.

Data lagras i tabellens rader och data i raderna grupperas per kolumnfamilj. HBase är schemalöst i den mening att varken kolumnerna eller den typ av data som lagras i dem måste definieras innan de används. Den öppna källkoden skalas linjärt för att hantera petabyte med data på tusentals noder. Den kan utgå ifrån dataredundans, batchbearbetning och andra funktioner som tillhandahålls av distribuerade program i Hadoop-miljön.

HDInsight-implementeringen utnyttjar HBases utskalningsarkitektur för att tillhandahålla automatisk horisontell partitionering av tabeller, stark konsekvens för läsningar och skrivningar samt automatisk redundans. Prestanda utökas av cachelagring i minnet för läsning och snabb strömning för skrivning. I de flesta fall vill du skapa HBase-klustret i ett virtuellt nätverk så att andra HDInsight-kluster och program kan komma åt tabellerna direkt.

Öppna Azure-datautforskaren

Azure Data Explorer är en snabb och mycket skalbar datagranskningstjänst för logg- och telemetridata. Det hjälper dig att hantera de många dataströmmar som genereras av modern programvara så att du kan samla in, lagra och analysera data. Azure Data Explorer är perfekt för att analysera stora volymer av olikartade data från olika datakällor, till exempel webbplatser, program, IoT-enheter med mera. Dessa data används för diagnostik, övervakning, rapportering, maskininlärning och ytterligare analysfunktioner. Azure Data Explorer gör det enkelt att mata in dessa data och gör att du kan köra komplexa ad hoc-frågor på data på några sekunder.

Azure Data Explorer kan skalas ut linjärt för att öka dataflödet för datainmatning och frågebearbetning. Ett Azure Data Explorer kluster kan distribueras till en Virtual Network för att aktivera privata nätverk.

Viktiga urvalsvillkor

Börja med att besvara de här frågorna för att begränsa alternativen:

  • Behöver du hanterad, snabb och molnbaserad lagring för någon typ av text eller binära data? Om ja, väljer du något av fillagrings- eller analysalternativen.

  • Behöver du fillagring som är optimerad för parallella analysarbetsbelastningar och högt dataflöde/IOPS? Om ja, väljer du ett alternativ som är justerat för prestanda för analysarbetsbelastningar.

  • Behöver du lagra ostrukturerade eller halvstrukturerade data i en schemalös databas? I så fall väljer du något av alternativen för icke-relationell eller analys. Jämför alternativ för indexering och databasmodeller. Beroende på vilken typ av data du behöver lagra kan de primära databasmodellerna vara den största faktorn.

  • Kan du använda tjänsten i din region? Kontrollera regional tillgänglighet för varje Azure-tjänst. Se Produkt tillgänglig efter region.

Kapacitetsmatris

I följande tabeller sammanfattas de viktigaste skillnaderna i funktioner.

Fillagringsfunktioner

Funktion Azure Data Lake Store Azure Blob Storage containrar
Syfte Optimerad lagring för arbetsbelastningar för stordataanalys Objektlager för generell användning för en mängd olika lagringsscenarier
Användningsfall Batch, strömningsanalys och maskininlärningsdata, till exempel loggfiler, IoT-data, klicka på strömmar, stora datauppsättningar Alla typer av text eller binära data, till exempel programmets backend-, säkerhetskopieringsdata, medielagring för strömning och allmänna data
Struktur Hierarkiskt filsystem Objektlager med platt namnrymd
Autentisering Baserat på Azure Active Directory identiteter Baserat på åtkomstnycklar för delade hemligheter för konto och signaturnycklar för deladåtkomst och rollbaserad åtkomstkontroll i Azure (Azure RBAC)
Autentiseringsprotokoll OAuth 2.0. Anrop måste innehålla en giltig JWT (JSON-webbtoken) som utfärdats av Azure Active Directory Hash-baserad kod för meddelandeautentisering (HMAC). Anrop måste innehålla en Base64-kodad SHA-256-hash över en del av HTTP-begäran.
Auktorisering POSIX-åtkomstkontrollistor (ACL:er). ACL:er baserade Azure Active Directory identiteter kan anges på fil- och mappnivå. Använd Kontoåtkomstnycklar för auktorisering på kontonivå. För konto-, container- eller blobauktorisering använder du signaturnycklar för delad åtkomst.
Granskning Tillgängliga. Tillgängligt
Kryptering i vila Transparent, serversidan Transparent, serversidan; Kryptering på klientsidan
Developer-SDK:er .NET, Java, Python, Node.js .NET, Java, Python, Node.js, C++, Ruby
Prestanda för analysarbetsbelastning Optimerad prestanda för parallella analysarbetsbelastningar, högt dataflöde och IOPS Inte optimerad för analysarbetsbelastningar
Storleksgränser Inga begränsningar för kontostorlekar, filstorlekar eller antal filer Specifika begränsningar som dokumenteras här
Geo-redundans Lokalt redundant (LRS), globalt redundant (GRS), globalt redundant läsåtkomst (RA-GRS), zonredundant (ZRS). Lokalt redundant (LRS), globalt redundant (GRS), read-access global redundant (RA-GRS), zonredundant (ZRS). Mer information finns här

NoSQL-databasfunktioner

Funktion Azure Cosmos DB HBase på HDInsight
Primär databasmodell Dokumentarkiv, diagram, nyckel/värde-lager, bred kolumnarkiv Bred kolumnlager
Sekundära index Ja Inga
SQL språkstöd Yes Ja (med Phoenix JDBC-drivrutinen)
Konsekvens Stark, avgränsad föråldrighet, session, konsekvent prefix, eventuell Stark
Intern Azure Functions integrering Ja No
Automatisk global distribution Ja Ingen HBase-klusterreplikering kan konfigureras över regioner med slutlig konsekvens
Prismodell Elastiskt skalbara enheter för begäran (RU:er) debiteras per sekund efter behov, elastiskt skalbar lagring Prissättning per minut för HDInsight-kluster (horisontell skalning av noder), lagring

Funktioner för analysdatabaser

Funktion Öppna Azure-datautforskaren
Primär databasmodell Relationslager (kolumnarkiv), telemetri och tidsseriearkiv
SQL språkstöd Yes
Prismodell Elastiskt skalbara klusterinstanser
Autentisering Baserat på Azure Active Directory identiteter
Kryptering i vila Kund hanterade nycklar som stöds
Prestanda för analysarbetsbelastning Optimerad prestanda för parallella analysarbetsbelastningar
Storleksgränser Linjärt skalbar