Een big data-opslagtechnologie kiezen in Azure
In dit onderwerp worden de opties voor gegevensopslag voor big data-oplossingen vergeleken, met name gegevensopslag voor bulkgegevensingestie en batchverwerking, in tegenstelling tot analytische gegevensopslag of realtime — streaming-opname.
Wat zijn uw opties bij het kiezen van gegevensopslag in Azure?
Er zijn verschillende opties voor het opnemen van gegevens in Azure, afhankelijk van uw behoeften.
Bestandsopslag:
NoSQL-databases:
Analytische databases:
Azure Storage blobs
Azure Storage is een beheerde opslagservice die zeer beschikbaar, veilig, duurzaam, schaalbaar en redundant is. Microsoft zorgt voor het onderhoud en handelt kritieke problemen voor u af. Azure Storage is de meest alomtegenwoordige opslagoplossing die Azure biedt, vanwege het aantal services en hulpprogramma's dat erop kan worden gebruikt.
Er zijn verschillende Azure Storage die u kunt gebruiken om gegevens op te slaan. De meest flexibele optie voor het opslaan van blobs uit een aantal gegevensbronnen is Blob Storage. Blobs zijn in feite bestanden. Ze slaan afbeeldingen, documenten, HTML-bestanden, virtuele harde schijven (VHD's), big data zoals logboeken, databaseback-ups — vrijwel alles op. Blobs worden opgeslagen in containers, die vergelijkbaar zijn met mappen. Een container biedt een groepering van een set blobs. Een opslagaccount kan een onbeperkt aantal containers bevatten en een container kan een onbeperkt aantal blobs bevatten.
Azure Storage is een goede keuze voor big data en analyseoplossingen vanwege de flexibiliteit, hoge beschikbaarheid en lage kosten. Het biedt opslaglagen voor 'hot', 'cool' en 'archive' opslag voor verschillende gebruiksgevallen. Zie Azure Blob Storage: hot-, cool- en archive storage-lagen voor meer informatie.
Azure Blob Storage is toegankelijk vanuit Hadoop (beschikbaar via HDInsight). HDInsight kan een blobcontainer in Azure Storage gebruiken als het standaardbestandssysteem voor het cluster. Via een HDFS-interface (Hadoop Distributed File System) die wordt geleverd door een WASB-stuurprogramma, kan de volledige set onderdelen in HDInsight rechtstreeks worden gebruikt op gestructureerde of ongestructureerde gegevens die zijn opgeslagen als blobs. Azure Blob Storage is ook toegankelijk via Azure Synapse Analytics de PolyBase-functie.
Andere functies die ervoor Azure Storage goede keuze zijn:
- Strategieën voor meerdere gelijktijdigheid.
- Opties voor herstel na noodherstel en hoge beschikbaarheid.
- Versleuteling -at-rest.
- Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) om de toegang te Azure Active Directory gebruikers en groepen.
Azure Data Lake Store
Azure Data Lake Store is een bedrijfsbrede hyperscale-opslagplaats voor big data analytische workloads. Met Data Lake kunt u gegevens van elke grootte, elk type en elke opnamesnelheid vastleggen op één veilige locatie voor operationele en experimentele analyses.
Data Lake Store legt geen limieten op voor accountgrootten, bestandsgrootten of de hoeveelheid gegevens die kan worden opgeslagen in een data lake. Gegevens worden blijvend opgeslagen door meerdere kopieën te maken en er is geen limiet voor de tijdsduur dat de gegevens kunnen worden opgeslagen in de Data Lake. Naast het maken van meerdere kopieën van bestanden ter bescherming tegen onverwachte storingen verspreidt Data Lake delen van een bestand over een aantal afzonderlijke opslagservers. Hiermee verbetert u de doorvoer wanneer het bestand in parallel wordt gelezen voor het uitvoeren van gegevensanalyse.
Data Lake Store zijn toegankelijk vanuit Hadoop (beschikbaar via HDInsight) met behulp van de met WebHDFS compatibele REST API's. U kunt dit gebruiken als alternatief voor Azure Storage wanneer uw afzonderlijke of gecombineerde bestandsgrootten groter zijn dan de grootte die wordt ondersteund door Azure Storage. Er zijn echter richtlijnen voor het afstemmen van de prestaties die u moet volgen bij het gebruik van Data Lake Store als primaire opslag voor een HDInsight-cluster, met specifieke richtlijnen voor Spark, Hive, MapReduceen Storm. Controleer ook de regionale beschikbaarheid van Data Lake Store,omdat deze niet beschikbaar is in zoveel regio's als Azure Storage en het zich in dezelfde regio moet bevinden als uw HDInsight-cluster.
In combinatie met Azure Data Lake Analytics is Data Lake Store speciaal ontworpen om analyses van de opgeslagen gegevens mogelijk te maken en is het afgestemd op prestaties voor gegevensanalysescenario's. Data Lake Store zijn ook toegankelijk via Azure Synapse met behulp van de PolyBase-functie.
Azure Cosmos DB
Azure Cosmos DB is de wereldwijd gedistribueerde multimodeldatabase van Microsoft. Cosmos DB garandeert latentie van slechts enkele milliseconden in het 99e percentiel overal ter wereld, biedt meerdere goed gedefinieerde consistentiemodellen voor het afstemmen van prestaties en garandeert hoge beschikbaarheid met multi-homing-mogelijkheden.
Azure Cosmos DB is schemaagnostisch. Alle gegevens worden automatisch geïndexeerd zonder dat u te maken hebt met schema- en indexbeheer. Het is ook multimodel, waarin document-, sleutel-waarde-, grafiek- en kolomfamiliegegevensmodellen worden ondersteund.
Azure Cosmos DB functies:
- Geo-replicatie
- Elastisch schalen van doorvoer en opslag wereldwijd
- Vijf duidelijk gedefinieerde consistentieniveaus
HBase op HDInsight
Apache HBase is een opensource NoSQL-database die is gebouwd op Hadoop en is gemodelleerd naar Google BigTable. HBase biedt willekeurige toegang en sterke consistentie voor grote hoeveelheden ongestructureerde en semi-gestructureerde gegevens in een schemaloze database die is geordend op kolomfamilies.
De gegevens worden opgeslagen in de rijen van een tabel en de gegevens in een rij worden gegroepeerd op basis van de kolomfamilie. HBase is schemaloos in de zin dat noch de kolommen noch het type gegevens dat in de kolommen is opgeslagen, hoeven te worden gedefinieerd voordat u ze gebruikt. De open-source code wordt lineair geschaald om petabytes aan gegevens op duizenden knooppunten te verwerken. Hiervoor kan gebruik worden gemaakt van gegevensredundantie, batchverwerking en andere functies die worden geboden door gedistribueerde toepassingen in het Hadoop-ecosysteem.
De HDInsight-implementatie maakt gebruik van de uitschaalarchitectuur van HBase om automatische sharding van tabellen, sterke consistentie voor lees- en schrijfwerk en automatische failover te bieden. De prestaties zijn verbeterd dankzij in-memory caching voor leesbewerkingen en streamen met een hoge gegevensdoorvoer voor schrijfbewerkingen. In de meeste gevallen wilt u het HBase-cluster binnen een virtueel netwerk maken, zodat andere HDInsight-clusters en -toepassingen rechtstreeks toegang hebben tot de tabellen.
Azure Data Explorer
Azure Data Explorer is een snelle en zeer schaalbare service voor gegevensverkenning voor logboek- en telemetriegegevens. Het helpt u bij het verwerken van de vele gegevensstromen die door moderne software worden uitgezonden, zodat u gegevens kunt verzamelen, opslaan en analyseren. Azure Data Explorer is ideaal om grote hoeveelheden diverse gegevens van elke gegevensbron te analyseren, zoals websites, toepassingen, IoT-apparaten en meer. Deze gegevens worden gebruikt voor diagnose, bewaking, rapportage, machine learning en aanvullende analysemogelijkheden. Azure Data Explorer maakt het eenvoudig om deze gegevens op te nemen en kunt u binnen enkele seconden complexe ad-hocquery's uitvoeren op de gegevens.
Azure Data Explorer kunnen lineair worden geschaald voor het verhogen van de doorvoer van opname- en queryverwerking. Een Azure Data Explorer cluster kan worden geïmplementeerd op een Virtual Network voor het inschakelen van particuliere netwerken.
Selectiecriteria voor sleutels
Als u de keuzes wilt beperken, begint u met het beantwoorden van deze vragen:
Hebt u beheerde, snelle, cloudopslag nodig voor elk type tekst of binaire gegevens? Zo ja, selecteer dan een van de opties voor bestandsopslag of analyse.
Hebt u bestandsopslag nodig die is geoptimaliseerd voor parallelle analyseworkloads en hoge doorvoer/IOPS? Zo ja, kies dan een optie die is afgestemd op de prestaties van de analyseworkload.
Moet u ongestructureerde of semi-gestructureerde gegevens opslaan in een schemaloze database? Als dat het zo is, selecteert u een van de niet-relationele of analyseopties. Vergelijk opties voor indexering en databasemodellen. Afhankelijk van het type gegevens dat u wilt opslaan, kunnen de primaire databasemodellen de grootste factor zijn.
Kunt u de service in uw regio gebruiken? Controleer de regionale beschikbaarheid voor elke Azure-service. Zie Beschikbare producten per regio.
Mogelijkheidsmatrix
De volgende tabellen geven een overzicht van de belangrijkste verschillen in mogelijkheden.
Bestandsopslagmogelijkheden
| Mogelijkheid | Azure Data Lake Store | Azure Blob Storage containers |
|---|---|---|
| Doel | Geoptimaliseerde opslag voor big data analytics-workloads | Objectopslag voor algemeen gebruik voor een groot aantal opslagscenario's |
| Gebruiksvoorbeelden | Batch-, streaming-analyse- en machine learning zoals logboekbestanden, IoT-gegevens, klik op stromen, grote gegevenssets | Elk type tekst of binaire gegevens, zoals toepassingsback-end, back-upgegevens, mediaopslag voor streaming en algemene gegevens |
| Structuur | Hiërarchisch bestandssysteem | Objectopslag met platte naamruimte |
| Verificatie | Op basis Azure Active Directory identiteiten | Op basis van gedeelde geheimen accounttoegangssleutels en Shared Access Signature sleutelsen op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) |
| Verificatieprotocol | OAuth 2.0. Aanroepen moeten een geldig JWT-web token (JSON-web token) bevatten dat is uitgegeven door Azure Active Directory | Op hash gebaseerde berichtverificatiecode (HMAC). Aanroepen moeten een met Base64 gecodeerde SHA-256-hash bevatten voor een deel van de HTTP-aanvraag. |
| Autorisatie | POSIX-toegangsbeheerlijsten (ACL's). ACL's op Azure Active Directory identiteiten kunnen op bestands- en mapniveau worden ingesteld. | Gebruik accounttoegangssleutels voor autorisatie op accountniveau. Gebruik voor account-, container- of blob-autorisatie Shared Access Signature Sleutels. |
| Controleren | Beschikbaar. | Beschikbaar |
| Versleuteling 'at rest' | Transparant, serverzijde | Transparant, serverzijde; Versleuteling aan clientzijde |
| Ontwikkelaars-SDK's | .NET, Java, Python, Node.js | .NET, Java, Python, Node.js, C++, Ruby |
| Prestaties van analyseworkloads | Geoptimaliseerde prestaties voor parallelle analyseworkloads, hoge doorvoer en IOPS | Niet geoptimaliseerd voor analyseworkloads |
| Groottelimieten | Geen limieten voor accountgrootten, bestandsgrootten of het aantal bestanden | Specifieke limieten die hier worden beschreven |
| Geografische redundantie | Lokaal redundant (LRS), globaal redundant (GRS), globaal redundante leestoegang (RA-GRS), zone-redundant (ZRS). | Lokaal redundant (LRS), globaal redundant (GRS), globaal redundante leestoegang (RA-GRS), zone-redundant (ZRS). Kijk hier voor meer informatie. |
NoSQL-databasemogelijkheden
| Mogelijkheid | Azure Cosmos DB | HBase op HDInsight |
|---|---|---|
| Primair databasemodel | Documentopslag, grafiek, sleutel-waardeopslag, brede kolomopslag | Brede kolomopslag |
| Secundaire indexen | Ja | Nee |
| SQL taalondersteuning | Yes | Ja (met behulp van het Phoenix JDBC-stuurprogramma) |
| Consistentie | Sterk, gebonden-veroudering, sessie, consistent voorvoegsel, mogelijk | Sterk |
| Systeemeigen Azure Functions integratie | Ja | Nee |
| Automatische wereldwijde distributie | Ja | Er kan geen HBase-clusterreplicatie worden geconfigureerd in regio's met uiteindelijke consistentie |
| Prijsmodel | Elastisch schaalbare aanvraageenheden (AANVRAAGeenheden) die per seconde worden in rekening gebracht, indien nodig, elastisch schaalbare opslag | Prijzen per minuut voor HDInsight-cluster (horizontaal schalen van knooppunten), opslag |
Mogelijkheden van analytische database
| Mogelijkheid | Azure Data Explorer | |
|---|---|---|
| Primair databasemodel | Relationeel (kolomopslag), telemetrie en tijdreeksopslag | |
| SQL taalondersteuning | Yes | |
| Prijsmodel | Elastisch schaalbare cluster instances | |
| Verificatie | Op basis Azure Active Directory identiteiten | |
| Versleuteling 'at rest' | Ondersteunde, door de klant beheerde sleutels | |
| Prestaties van analyseworkloads | Geoptimaliseerde prestaties voor parallelle analyseworkloads | |
| Groottelimieten | Lineair schaalbaar |