Synapse POC-playbook: Data lake-verkenning met serverloze SQL-pool in Azure Synapse Analytics
Dit artikel bevat een methodologie op hoog niveau voor het voorbereiden en uitvoeren van een effectief Azure Synapse Analytics-proof-of-conceptproject (POC) voor een serverloze SQL-pool.
Notitie
Dit artikel maakt deel uit van de Azure Synapse-proof of concept playbook-serie artikelen. Zie Azure Synapse proof of concept playbook voor een overzicht van de reeks.
Voorbereiden op de POC
Met een POC-project kunt u een weloverwogen zakelijke beslissing nemen over het implementeren van een big data- en geavanceerde analyseomgeving op een cloudplatform dat gebruikmaakt van een serverloze SQL-pool in Azure Synapse. Als u inzichten wilt verkennen of verkrijgen uit gegevens in de Data Lake of uw bestaande pijplijn voor gegevenstransformatie wilt optimaliseren, kunt u profiteren van het gebruik van de serverloze SQL-pool. Deze is geschikt voor de volgende scenario's:
- Basisdetectie en -verkenning: Snel redeneren over gegevens die zijn opgeslagen in verschillende indelingen (Parquet, CSV, JSON) in uw data lake, zodat u kunt plannen hoe u inzichten kunt ontgrendelen.
- Logisch datawarehouse: maak een relationele abstractie bovenop onbewerkte of ongelijksoortige gegevens zonder deze te verplaatsen of te transformeren, zodat u altijd een actuele weergave van uw gegevens krijgt.
- Gegevenstransformatie: voer eenvoudige, schaalbare en zeer presterende Data Lake-query's uit met behulp van T-SQL. U kunt queryresultaten invoeren in bi-hulpprogramma's (Business Intelligence) of deze laden in een relationele database. Doelsystemen kunnen toegewezen SQL-pools van Azure Synapse of Azure SQL Database bevatten.
Er zijn verschillende functies rollen die voordeel kunnen hebben van een serverloze SQL-pool:
- Data engineers kunnen de data lake verkennen, gegevens transformeren en voorbereiden met behulp van een serverloze SQL-pool en hun pijplijnen voor gegevenstransformatie vereenvoudigen.
- Gegevenswetenschappers kunnen snel redeneren over de inhoud en structuur van de gegevens die zijn opgeslagen in de data lake met behulp van de functie OPENROWSET T-SQL en de automatische schemadeductie.
- Gegevensanalisten kunnen T-SQL-query's schrijven in hun favoriete queryhulpprogramma's, die verbinding kunnen maken met een serverloze SQL-pool. Ze kunnen gegevens verkennen in externe Spark-tabellen die zijn gemaakt door gegevenswetenschappers of gegevenstechnici.
- BI-professionals kunnen snel Power BI-rapporten maken die verbinding maken met Data Lake- of Spark-tabellen.
Een POC-project voor een serverloze SQL-pool identificeert uw belangrijkste doelstellingen en zakelijke stuurprogramma's die door een serverloze SQL-pool worden ondersteund. Ook worden belangrijke functies getest en metrische gegevens verzameld om uw implementatiebeslissingen te ondersteunen. Een POC is niet ontworpen om te worden geïmplementeerd in een productieomgeving. In plaats daarvan is het een kortetermijnproject dat zich richt op belangrijke vragen en het resultaat ervan kan worden verwijderd.
Voordat u begint met het plannen van uw serverloze SQL Pool POC-project:
- Identificeer eventuele beperkingen of richtlijnen die uw organisatie heeft over het verplaatsen van gegevens naar de cloud.
- Identificeer leidinggevenden of bedrijfssponsors voor een big data- en advanced analytics-platformproject. Beveilig hun ondersteuning voor migratie naar de cloud.
- Identificeer de beschikbaarheid van technische experts en zakelijke gebruikers die u ondersteunen tijdens de POC-uitvoering.
Voordat u begint met het voorbereiden van het POC-project, raden we u aan eerst de documentatie voor de serverloze SQL-pool te lezen.
Fooi
Als u niet bekend bent met serverloze SQL-pools, raden we u aan om de oplossingen voor gegevensanalyse bouwen te doorlopen met behulp van het leertraject serverloze SQL-pools van Azure Synapse.
De doelen instellen
Voor een succesvol POC-project is planning vereist. Begin met het identificeren waarom u een POC uitvoert om de echte motivaties volledig te begrijpen. Motivaties kunnen betrekking hebben op modernisering, kostenbesparing, prestatieverbetering of geïntegreerde ervaring. Zorg ervoor dat u duidelijke doelstellingen documenteert voor uw POC en de criteria waarmee het succes wordt gedefinieerd. Stel uzelf de volgende vragen:
- Wat wilt u als uitvoer van uw POC?
- Wat gaat u doen met deze uitvoer?
- Wie gebruikt u de uitvoer?
- Wat definieert een succesvolle POC?
Houd er rekening mee dat een POC een korte en gerichte inspanning moet zijn om snel een beperkte set concepten en mogelijkheden te bewijzen. Deze concepten en mogelijkheden moeten representatief zijn voor de algehele workload. Als u een lange lijst met te bewijzen items hebt, wilt u mogelijk meer dan één POC plannen. In dat geval definieert u poorten tussen de POC's om te bepalen of u wilt doorgaan met de volgende. Gezien de verschillende professionele rollen die een serverloze SQL-pool kunnen gebruiken (en de verschillende scenario's die door een serverloze SQL-pool worden ondersteund), kunt u ervoor kiezen om meerdere POC's uit te voeren. Eén POC kan zich bijvoorbeeld richten op vereisten voor de rol van data scientist, zoals het detecteren en verkennen van gegevens in verschillende indelingen. Een andere kan zich richten op vereisten voor de rol data engineering, zoals gegevenstransformatie en het maken van een logisch datawarehouse.
Als u uw POC-doelen beschouwt, stelt u zich de volgende vragen om u te helpen de doelstellingen vorm te geven:
- Migreert u vanuit een bestaand big data- en advanced analytics-platform (on-premises of in de cloud)?
- Migreert u, maar wilt u zo weinig mogelijk wijzigingen aanbrengen in bestaande opname en gegevensverwerking?
- Migreert u, maar wilt u onderweg een aantal uitgebreide verbeteringen uitvoeren?
- Bouwt u een volledig nieuw big data- en advanced analytics-platform (greenfield-project)?
- Wat zijn uw huidige pijnpunten? Bijvoorbeeld schaalbaarheid, prestaties of flexibiliteit.
- Welke nieuwe zakelijke vereisten moet u ondersteunen?
- Wat zijn de SLA's waaraan u moet voldoen?
- Wat zijn de workloads? Gegevensverkenning via verschillende gegevensindelingen, basisverkenning, een logisch datawarehouse, gegevensvoorbereiding en/of transformatie, interactieve T-SQL-analyse, T-SQL-query's op Spark-tabellen of rapportagequery's over de data lake.
- Wat zijn de vaardigheden van de gebruikers die eigenaar zijn van het project (moet de POC worden geïmplementeerd)?
Hier volgen enkele voorbeelden van poc-doelinstelling:
- Waarom doen we een POC?
- We moeten weten of we alle onbewerkte bestandsindelingen kunnen verkennen die we opslaan met behulp van een serverloze SQL-pool.
- We moeten weten of onze data engineers snel nieuwe gegevensfeeds kunnen evalueren.
- We moeten weten of de prestaties van data lake-query's met behulp van een serverloze SQL-pool voldoen aan onze vereisten voor gegevensverkenning.
- We moeten weten of een serverloze SQL-pool een goede keuze is voor een aantal van onze visualisaties en rapportagevereisten.
- We moeten weten of een serverloze SQL-pool een goede keuze is voor een aantal van onze vereisten voor gegevensopname en verwerking.
- We moeten weten of onze overstap naar Azure Synapse voldoet aan ons budget.
- Tot slot van deze PoC:
- We hebben de gegevens om de gegevenstransformaties te identificeren die geschikt zijn voor een serverloze SQL-pool.
- We hebben de gegevens om te bepalen wanneer een serverloze SQL-pool het beste kan worden gebruikt tijdens gegevensvisualisatie.
- We hebben de gegevens om het gemak te kennen waarmee onze data engineers en gegevenswetenschappers het nieuwe platform kunnen gebruiken.
- We hebben inzicht gekregen om een betere schatting te maken van de inspanningen die nodig zijn om de implementatie of het migratieproject te voltooien.
- We hebben een lijst met items die mogelijk meer tests nodig hebben.
- Onze POC is succesvol als we de benodigde gegevens hebben en de tests hebben voltooid die zijn geïdentificeerd om te bepalen hoe een serverloze SQL-pool ondersteuning biedt voor ons cloudgebaseerde big data- en geavanceerde analyseplatform.
- We hebben vastgesteld of we naar de volgende fase kunnen gaan of of er meer POC-tests nodig zijn om onze beslissing te voltooien.
- We kunnen een goede zakelijke beslissing nemen die wordt ondersteund door specifieke gegevenspunten.
Het project plannen
Gebruik uw doelstellingen om specifieke tests te identificeren en de uitvoer te leveren die u hebt geïdentificeerd. Het is belangrijk om ervoor te zorgen dat u ten minste één test hebt om elk doel en de verwachte uitvoer te ondersteunen. Identificeer ook specifieke gegevensverkennings- en analysetaken, specifieke transformaties en specifieke bestaande verwerking die u wilt testen. Identificeer een specifieke gegevensset en codebasis die u kunt gebruiken.
Hier volgt een voorbeeld van het benodigde specificiteitsniveau in de planning:
- Doel: We moeten weten of data engineers binnen de vereiste SLA de equivalente verwerking kunnen bereiken van het bestaande ETL-proces met de naam 'Daily Batch Raw File Validation'.
- Uitvoer: We hebben de gegevens om te bepalen of we T-SQL-query's kunnen gebruiken om het ETL-proces 'Dagelijkse Batch Raw-bestandsvalidatie' uit te voeren binnen de vereiste SLA.
- Test: Validatiequery's A, B en C worden geïdentificeerd door data engineering en ze vertegenwoordigen de algemene behoeften voor gegevensverwerking. Vergelijk de prestaties van deze query's met de benchmark die is verkregen uit het bestaande systeem.
De POC-gegevensset evalueren
Selecteer een gegevensset om de tests te ondersteunen met behulp van de specifieke tests die u hebt geïdentificeerd. Neem de tijd om deze gegevensset te controleren. U moet controleren of de gegevensset uw toekomstige verwerking adequaat vertegenwoordigt in termen van inhoud, complexiteit en schaal. Gebruik geen gegevensset die te klein is, omdat deze geen representatieve prestaties levert. Gebruik daarentegen geen gegevensset die te groot is, omdat de POC geen volledige gegevensmigratie mag worden. Zorg ervoor dat u de juiste benchmarks ophaalt uit bestaande systemen, zodat u deze kunt gebruiken voor prestatievergelijkingen.
Belangrijk
Zorg ervoor dat u bij bedrijfseigenaren op eventuele obstakels controleert voordat u gegevens naar de cloud verplaatst. Identificeer eventuele beveiligings- of privacyproblemen of eventuele verborgen gegevens die moeten worden uitgevoerd voordat u gegevens naar de cloud verplaatst.
Een architectuur op hoog niveau maken
Op basis van de architectuur op hoog niveau van uw voorgestelde toekomstige statusarchitectuur identificeert u de onderdelen die deel uitmaken van uw POC. Uw toekomstige statusarchitectuur op hoog niveau bevat waarschijnlijk veel gegevensbronnen, talloze gegevensgebruikers, big data-onderdelen en mogelijk ai-gegevensgebruikers (machine learning en kunstmatige intelligentie). Uw POC-architectuur moet specifiek onderdelen identificeren die deel uitmaken van de POC. Belangrijk is dat alle onderdelen worden geïdentificeerd die geen deel uitmaken van de POC-test.
Als u Azure al gebruikt, identificeert u alle resources die u al hebt (Microsoft Entra ID, ExpressRoute en andere) die u tijdens de POC kunt gebruiken. Identificeer ook de Azure-regio's die uw organisatie gebruikt. Het is nu een goed moment om de doorvoer van uw ExpressRoute-verbinding te identificeren en om te controleren met andere zakelijke gebruikers dat uw POC een deel van die doorvoer kan verbruiken zonder nadelige gevolgen voor productiesystemen.
POC-resources identificeren
Identificeer met name de technische resources en tijdsverplichtingen die nodig zijn om uw POC te ondersteunen. Uw POC heeft het volgende nodig:
- Een bedrijfsvertegenwoordiger om toezicht te houden op vereisten en resultaten.
- Een expert op het gebied van toepassingsgegevens om de gegevens voor de POC te bronen en kennis te bieden van de bestaande processen en logica.
- Een serverloze SQL-poolexpert.
- Een deskundige adviseur, om de POC-tests te optimaliseren.
- Resources die nodig zijn voor specifieke onderdelen van uw POC-project, maar niet noodzakelijkerwijs vereist voor de duur van de POC. Deze resources kunnen netwerkbeheerders, Azure-beheerders, Active Directory-beheerders, Azure Portal-beheerders en andere resources omvatten.
- Zorg ervoor dat alle vereiste Azure-services-resources zijn ingericht en dat het vereiste toegangsniveau wordt verleend, inclusief toegang tot opslagaccounts.
- Zorg ervoor dat u een account hebt met vereiste machtigingen voor gegevenstoegang om gegevens op te halen uit alle gegevensbronnen in het POC-bereik.
Fooi
We raden u aan een deskundige adviseur in te schakelen om u te helpen met uw POC. De partnercommunity van Microsoft heeft wereldwijde beschikbaarheid van deskundige consultants die u kunnen helpen bij het beoordelen, evalueren of implementeren van Azure Synapse.
De tijdlijn instellen
Bekijk uw POC-planningsgegevens en bedrijfsbehoeften om een tijdsbestek voor uw POC te identificeren. Maak realistische schattingen van de tijd die nodig is om de POC-doelstellingen te voltooien. De tijd die nodig is om uw POC te voltooien, wordt beïnvloed door de grootte van uw POC-gegevensset, het aantal en de complexiteit van tests en het aantal interfaces dat moet worden getest. Als u een schatting maakt van de duur van uw POC langer dan vier weken, kunt u overwegen om het POC-bereik te verminderen om te focussen op de hoogste prioriteitsdoelen. Zorg ervoor dat u goedkeuring en toezegging krijgt van alle leadbronnen en sponsors voordat u doorgaat.
De POC in de praktijk brengen
U wordt aangeraden uw POC-project uit te voeren met de discipline en de nauwkeurigheid van elk productieproject. Voer het project uit volgens het plan en beheer van een wijzigingsaanvraagproces om onbeheerde groei van het bereik van de POC te voorkomen.
Hier volgen enkele voorbeelden van taken op hoog niveau:
- Maak een Synapse-werkruimte, opslagaccounts en de Azure-resources die zijn geïdentificeerd in het POC-plan.
- Stel netwerken en beveiliging in op basis van uw vereisten.
- Geef de juiste toegang tot POC-teamleden. Zie dit artikel over machtigingen voor het rechtstreeks openen van bestanden vanuit Azure Storage.
- Laad de POC-gegevensset.
- Implementeer en configureer de tests en/of migreer bestaande code naar scripts en weergaven van serverloze SQL-pools.
- Voer de tests uit:
- Veel tests kunnen parallel worden uitgevoerd.
- Noteer uw resultaten in een verbruiksbare en gemakkelijk begrijpelijke indeling.
- Bewaken voor probleemoplossing en prestaties.
- Evalueer uw resultaten en presenteer resultaten.
- Werk samen met technische belanghebbenden en het bedrijf om de volgende fase van het project te plannen. De volgende fase kan een vervolg-POC of een productie-implementatie zijn.
De POC-resultaten interpreteren
Wanneer u alle POC-tests hebt voltooid, evalueert u de resultaten. Begin met het evalueren of de POC-doelstellingen zijn gehaald en de gewenste uitvoer is verzameld. Bepaal of er meer tests nodig zijn of vragen die moeten worden aangepakt.