Datawarehousing

Een datawarehouse is een centrale opslagplaats met geïntegreerde gegevens uit een of meer verschillende bronnen. In datawarehouses worden de huidige en historische gegevens opgeslagen. Datawarehouses worden gebruikt voor rapportage en analyse van de gegevens.

Datawarehousing in Azure

Als u gegevens wilt verplaatsen naar een datawarehouse, worden er periodiek gegevens geëxtraheerd uit verschillende bronnen die belangrijke bedrijfsinformatie bevatten. Wanneer de gegevens worden verplaatst, kunnen ze worden opgemaakt, opgeschoond, gevalideerd, samengevat en opnieuw worden ingedeeld. De gegevens kunnen ook worden opgeslagen op het laagste detailniveau, met geaggregeerde weergaven die voor rapportage in het magazijn zijn opgegeven. In beide gevallen wordt het datawarehouse een permanent gegevensopslag voor rapportage, analyse en business intelligence (BI).

Datawarehouse-architecturen

In de volgende referentiearchitecten worden end-to-end datawarehouse-architecturen in Azure gebruikt:

Wanneer gebruikt u deze oplossing?

Kies een datawarehouse wanneer u enorme hoeveelheden gegevens uit operationele systemen wilt veranderen in een indeling die gemakkelijk te begrijpen is. Datawarehouses hoeven niet dezelfde terse-gegevensstructuur te volgen die u mogelijk gebruikt in uw OLTP-databases. U kunt kolomnamen gebruiken die zinvol zijn voor zakelijke gebruikers en analisten, het schema herstructureren om relaties te vereenvoudigen en verschillende tabellen samenvoegen tot één tabel. Deze stappen helpen gebruikers die rapporten moeten maken en de gegevens in BI-systemen moeten analyseren, zonder de hulp van een databasebeheerder (DBA) of gegevensontwikkelaar.

Overweeg het gebruik van een datawarehouse wanneer u historische gegevens uit prestatieoverwegingen gescheiden wilt houden van de brontransactiesystemen. Met datawarehouses kunt u eenvoudig toegang krijgen tot historische gegevens vanaf meerdere locaties door een centrale locatie te bieden met behulp van algemene indelingen, sleutels en gegevensmodellen.

Omdat datawarehouses zijn geoptimaliseerd voor leestoegang, is het genereren van rapporten sneller dan het gebruik van het brontransactiesysteem voor rapportage.

Andere voordelen zijn:

  • Het datawarehouse kan historische gegevens uit meerdere bronnen opslaan, wat één bron van waarheid vertegenwoordigt.
  • U kunt de kwaliteit van gegevens verbeteren door gegevens op te ruimen wanneer deze in het datawarehouse worden geïmporteerd.
  • Rapportagehulpprogramma's concurreren niet met de transactionele systemen voor queryverwerkingscycli. Met een datawarehouse kan het transactionele systeem zich richten op het verwerken van schrijf- en schrijfaanvragen, terwijl het datawarehouse voldoet aan het merendeel van de leesaanvragen.
  • Een datawarehouse kan gegevens uit verschillende software consolideren.
  • Hulpprogramma's voor gegevensmining kunnen verborgen patronen in de gegevens vinden met behulp van automatische methodologieën.
  • Datawarehouses maken het gemakkelijker om gemachtigde gebruikers beveiligde toegang te bieden, terwijl de toegang tot anderen wordt beperkt. Zakelijke gebruikers hebben geen toegang nodig tot de brongegevens, waardoor een mogelijke aanvalsvector wordt verwijderd.
  • Met datawarehouses kunt u eenvoudiger business intelligence maken, zoals OLAP-kubussen.

Uitdagingen

Het correct configureren van een datawarehouse om aan de behoeften van uw bedrijf te voldoen, kan een aantal van de volgende uitdagingen met zich mee brengen:

  • De tijd die nodig is om uw bedrijfsconcepten goed te modelleren. Datawarehouses zijn gegevensgestuurd. U moet zakelijke termen en algemene notaties standaardiseren, zoals valuta en datums. U moet het schema ook herstructureren op een manier die zinvol is voor zakelijke gebruikers, maar nog steeds de nauwkeurigheid van gegevensaggregaten en -relaties garandeert.

  • Uw gegevens orchestration plannen en instellen. Bedenk hoe u gegevens kopieert van het transactionele bronsysteem naar het datawarehouse en wanneer u historische gegevens uit operationele gegevensopslag naar het datawarehouse verplaatst.

  • Het onderhouden of verbeteren van de kwaliteit van gegevens door de gegevens op teschoonen wanneer deze in het magazijn worden geïmporteerd.

Datawarehousing in Azure

Mogelijk hebt u een of meer gegevensbronnen, van klanttransacties of zakelijke toepassingen. Deze gegevens worden traditioneel opgeslagen in een of meer OLTP-databases. De gegevens kunnen worden opgeslagen in andere opslagmediums, zoals netwerk shares, Azure Storage Blobs of een data lake. De gegevens kunnen ook worden opgeslagen door het datawarehouse zelf of in een relationele database zoals Azure SQL Database. Het doel van de laag analytische gegevensopslag is om te voldoen aan query's die zijn uitgegeven door analyse- en rapportagehulpprogramma's voor het datawarehouse. In Azure kan aan deze analytische opslag worden voldaan met Azure Synapse of met Azure HDInsight hive of Interactive Query. Daarnaast hebt u een bepaalde mate van orchestration nodig om gegevens van de gegevensopslag naar het datawarehouse te verplaatsen of te kopiëren. Dit kan worden gedaan met behulp van Azure Data Factory of Oozie op Azure HDInsight.

Er zijn verschillende opties voor het implementeren van een datawarehouse in Azure, afhankelijk van uw behoeften. De volgende lijsten zijn onderverdeeld in twee categorieën: SMP (symmetrisch multiprocessing) en MPP (Massively Parallel Processing).

Smp:

Mpp:

Over het algemeen zijn op SMP gebaseerde warehouses het meest geschikt voor kleine tot middelgrote gegevenssets (maximaal 4-100 TB), terwijl MPP vaak wordt gebruikt voor big data. De afbakening tussen klein/gemiddeld en big data heeft deels te maken met de definitie en ondersteunende infrastructuur van uw organisatie. (Zie Een OLTP-gegevensopslag kiezen.)

Naast gegevensgrootten is het type workloadpatroon waarschijnlijk een grotere bepalende factor. Complexe query's zijn bijvoorbeeld mogelijk te langzaam voor een SMP-oplossing en vereisen in plaats daarvan een MPP-oplossing. Systemen op basis van MPP hebben meestal een prestatiestraf met kleine gegevensgrootten, vanwege de manier waarop taken worden gedistribueerd en geconsolideerd over knooppunten. Als uw gegevensgrootte al groter is dan 1 TB en naar verwachting voortdurend zal groeien, kunt u overwegen een MPP-oplossing te selecteren. Als uw gegevensgrootten echter kleiner zijn, maar uw workloads de beschikbare resources van uw SMP-oplossing overschrijden, is MPP mogelijk ook de beste optie.

De gegevens die door uw datawarehouse worden gebruikt of opgeslagen, kunnen afkomstig zijn uit een aantal gegevensbronnen, waaronder een data lake, zoals Azure Data Lake Storage. Zie Azure Data Lake and Azure Data Warehouse: Applying Modern Practices to Your App (Azure Data Lakeen Azure Data Warehouse: Moderne procedures toepassen op uw app) voor een videosessie waarin de verschillende sterke punten van MPP-services worden vergeleken die Azure Data Lake kunnen gebruiken.

SMP-systemen worden gekenmerkt door één exemplaar van een relationeel databasebeheersysteem dat alle resources deelt (CPU/geheugen/schijf). U kunt een SMP-systeem omhoog schalen. Als SQL Server VM wilt uitvoeren, kunt u de VM-grootte omhoog schalen. Voor Azure SQL Database kunt u omhoog schalen door een andere servicelaag te selecteren.

MPP-systemen kunnen worden geschaald door meer rekenknooppunten toe te voegen (die hun eigen CPU, geheugen en I/O-subsystemen hebben). Er zijn fysieke beperkingen voor het omhoog schalen van een server. Op dat moment is uitschalen wenselijker, afhankelijk van de workload. De verschillen in query's, modellering en gegevenspartities betekenen echter dat MPP-oplossingen een andere vaardighedenset vereisen.

Zie A closer look at a closer look at Azure SQL Database and SQL Server on Azure VMs (Meer informatie over de SMP Azure SQL Database en SQL Server azure-VM's.

Azure Synapse (voorheen Azure SQL Data Warehouse) kan ook worden gebruikt voor kleine en middelgrote gegevenssets, waarbij de workload reken- en geheugenintensief is. Meer informatie over Azure Synapse en veelvoorkomende scenario's:

Selectiecriteria voor sleutels

Als u de keuzes wilt beperken, begint u met het beantwoorden van deze vragen:

  • Wilt u een beheerde service in plaats van uw eigen servers beheren?

  • Werkt u met extreem grote gegevenssets of zeer complexe, langlopende query's? Zo ja, overweeg dan een MPP-optie.

  • Is de gegevensbron voor een grote gegevensset gestructureerd of ongestructureerd? Ongestructureerde gegevens moeten mogelijk worden verwerkt in een big data-omgeving, zoals Spark in HDInsight, Azure Databricks, Hive LLAP in HDInsight of Azure Data Lake Analytics. Al deze kunnen fungeren als ELT-engines (Extraheren, Laden, Transformeren) en ETL-engines (extraheren, transformeren, laden). Ze kunnen de verwerkte gegevens als uitvoer gebruiken in gestructureerde gegevens, zodat ze gemakkelijker in Azure Synapse of een van de andere opties kunnen worden geladen. Voor gestructureerde gegevens heeft Azure Synapse een prestatielaag met de naam Geoptimaliseerd voor compute, voor rekenintensieve workloads die zeer hoge prestaties vereisen.

  • Wilt u uw historische gegevens scheiden van uw huidige, operationele gegevens? Als dit het juiste is, selecteert u een van de opties waarbij orchestration is vereist. Dit zijn zelfstandige warehouses die zijn geoptimaliseerd voor zware leestoegang en het meest geschikt zijn als afzonderlijk historisch gegevensopslag.

  • Moet u gegevens uit verschillende bronnen buiten uw OLTP-gegevensopslag integreren? Als dat het zo is, kunt u opties overwegen die eenvoudig meerdere gegevensbronnen integreren.

  • Hebt u een multitenancyvereiste? Als dat het Azure Synapse, is dit niet ideaal voor deze vereiste. Zie patronen en antipatronen Azure Synapse meer informatie.

  • Geeft u de voorkeur aan een relationele gegevensopslag? Als dat het zo is, kiest u een optie met een relationeel gegevensopslag, maar u kunt ook een hulpprogramma zoals PolyBase gebruiken om zo nodig query's uit te voeren op niet-relationele gegevensopslag. Als u echter besluit PolyBase te gebruiken, moet u prestatietests uitvoeren voor uw ongestructureerde gegevenssets voor uw workload.

  • Hebt u realtime rapportagevereisten? Als u snelle reactietijden voor query's nodig hebt bij grote aantallen singleton-invoegingen, kiest u een optie die realtime rapportage ondersteunt.

  • Moet u een groot aantal gelijktijdige gebruikers en verbindingen ondersteunen? De mogelijkheid om een aantal gelijktijdige gebruikers/verbindingen te ondersteunen, is afhankelijk van verschillende factoren.

    • Raadpleeg Azure SQL Database gedocumenteerde resourcelimieten op basis van uw servicelaag voor meer informatie.

    • SQL Server zijn maximaal 32.767 gebruikersverbindingen mogelijk. Bij uitvoering op een VM zijn de prestaties afhankelijk van de VM-grootte en andere factoren.

    • Azure Synapse heeft limieten voor gelijktijdige query's en gelijktijdige verbindingen. Zie Gelijktijdigheid en workloadbeheer in Azure Synapse. Overweeg het gebruik van aanvullende services, zoals Azure Analysis Services,om limieten in Azure Synapse.

  • Wat voor soort workload hebt u? Over het algemeen zijn op MPP gebaseerde warehouseoplossingen het meest geschikt voor analytische, batchgeoriënteerde workloads. Als uw workloads van nature transactioneel zijn, met veel kleine lees-/schrijfbewerkingen of meerdere rij-voor-rij-bewerkingen, kunt u overwegen een van de SMP-opties te gebruiken. Een uitzondering op deze richtlijn is het gebruik van stroomverwerking in een HDInsight-cluster, zoals Spark Streaming, en het opslaan van de gegevens in een Hive-tabel.

Mogelijkheidsmatrix

De volgende tabellen geven een overzicht van de belangrijkste verschillen in mogelijkheden.

Algemene mogelijkheden

Mogelijkheid Azure SQL Database SQL Server (VM) Azure Synapse Apache Hive in HDInsight Hive LLAP in HDInsight
Is beheerde service Ja Nee Ja Ja 1 Ja 1
Vereist gegevens orchestration (bevat kopie van gegevens/historische gegevens) Nee Nee Ja Ja Ja
Eenvoudig meerdere gegevensbronnen integreren Nee Nee Ja Ja Ja
Ondersteunt het onderbreken van rekenkracht Nee Nee Ja Nr. 2 Nr. 2
Relationele gegevensopslag Ja Ja Ja Nee Nee
Realtime rapportage Ja Ja Nee Nee Ja
Flexibele back-upherstelpunten Ja Ja Nr. 3 Ja 4 Ja 4
SMP/MPP Smp Smp Mpp Mpp Mpp

[1] Handmatige configuratie en schalen.

[2] HDInsight-clusters kunnen worden verwijderd wanneer ze niet nodig zijn en vervolgens opnieuw worden gemaakt. Koppel een extern gegevensopslag aan uw cluster, zodat uw gegevens behouden blijven wanneer u het cluster verwijdert. U kunt Azure Data Factory de levenscyclus van uw cluster automatiseren door een HDInsight-cluster op aanvraag te maken om uw workload te verwerken en het cluster vervolgens te verwijderen zodra de verwerking is voltooid.

[3] Met Azure Synapse kunt u een database herstellen naar elk beschikbaar herstelpunt in de afgelopen zeven dagen. Momentopnamen beginnen om de vier tot acht uur en zijn zeven dagen beschikbaar. Wanneer een momentopname ouder is dan zeven dagen, verloopt deze en is het herstelpunt niet meer beschikbaar.

[4] Overweeg het gebruik van een externe Hive-metastore die naar behoefte kan worden back-up en hersteld. Standaardopties voor back-up en herstel die van toepassing zijn op Blob Storage of Data Lake Storage kunnen worden gebruikt voor de gegevens, of hdinsight-back-up- en hersteloplossingen van derden, zoals Imanis Data, kunnen worden gebruikt voor meer flexibiliteit en gebruiksgemak.

Schaalbaarheidsmogelijkheden

Mogelijkheid Azure SQL Database SQL Server (VM) Azure Synapse Apache Hive in HDInsight Hive LLAP in HDInsight
Redundante regionale servers voor hoge beschikbaarheid Ja Ja Ja Nee Nee
Ondersteunt uitschalen van query's (gedistribueerde query's) Nee Nee Ja Ja Ja
Dynamische schaalbaarheid Ja Nee Ja 1 Nee Nee
Ondersteunt in-memory caching van gegevens Ja Ja Ja Ja Ja

[1] Azure Synapse u omhoog of omlaag schalen door het aantal DWE's (datawarehouse-eenheden) aan te passen. Zie Rekenkracht beheren in Azure Synapse.

Beveiligingsmogelijkheden

Mogelijkheid Azure SQL Database SQL Server in een virtuele machine Azure Synapse Apache Hive in HDInsight Hive LLAP in HDInsight
Verificatie SQL/Azure Active Directory (Azure AD) SQL / Azure AD / Active Directory SQL / Azure AD lokaal / Azure AD 1 lokaal / Azure AD 1
Autorisatie Ja Ja Ja Ja Ja 1
Controles Ja Ja Ja Ja Ja 1
Versleuteling van inactieve gegevens Ja 2 Ja 2 Ja 2 Ja 2 Ja 1
Beveiliging op rijniveau Ja Ja Ja Nee Ja 1
Ondersteunt firewalls Ja Ja Ja Ja Ja 3
Dynamische gegevensmaskering Ja Ja Ja Nee Ja 1

[1] Vereist het gebruik van een HDInsight-clusterdat is verbonden met een domein.

[2] Vereist het gebruik Transparent Data Encryption (TDE) voor het versleutelen en ontsleutelen van uw data-at-rest.

[3] Ondersteund bij gebruik binnen een Azure-Virtual Network.

Meer informatie over het beveiligen van uw datawarehouse: