Dela via


Framgångsmetod för Synapse-implementering: Utvärdera miljön

Kommentar

Den här artikeln är en del av azure Synapse-implementeringen genom att designa artiklar. En översikt över serien finns i Azure Synapse-implementeringen lyckades avsiktligt.

Det första steget när du implementerar Azure Synapse Analytics är att göra en utvärdering av din miljö. En utvärdering ger dig möjlighet att samla in all tillgänglig information om din befintliga miljö, miljökrav, projektkrav, begränsningar, tidslinjer och smärtpunkter. Den här informationen utgör grunden för senare utvärderingar och kontrollpunktsaktiviteter. Det kommer att visa sig vara ovärderligt när det är dags att validera och jämföra med projektlösningen eftersom den är planerad, utformad och utvecklad. Vi rekommenderar att du ägnar mycket tid åt att samla in all information och se till att ha nödvändiga diskussioner med relevanta grupper. Relevanta grupper kan omfatta projektintressenter, företagsanvändare, lösningsdesigners och ämnesexperter (SMF) för den befintliga lösningen och miljön.

Utvärderingen blir en guide som hjälper dig att utvärdera lösningsdesignen och ge välgrundade tekniska rekommendationer för att implementera Azure Synapse.

Utvärdering av arbetsbelastning

Arbetsbelastningsutvärderingen handlar om miljö, analytiska arbetsbelastningsroller, ETL/ELT, nätverk och säkerhet, Azure-miljön och dataförbrukning.

Miljö

Utvärdera följande punkter för miljön.

  • Beskriv din befintliga analytiska arbetsbelastning:
    • Vilka är arbetsbelastningarna (till exempel informationslager eller stordata)?
    • Hur hjälper den här arbetsbelastningen verksamheten? Vilka är användningsfallsscenarier?
    • Vad är affärsdrivare för den här analysplattformen och för potentiell migrering?
    • Samla in information om de befintliga alternativen för arkitektur, design och implementering.
    • Samla in information om alla befintliga överordnade och underordnade beroende komponenter och konsumenter.
  • Migrerar du ett befintligt informationslager (till exempel Microsoft SQL Server, Microsoft Analytics Platform System (APS), Netezza, Snowflake eller Teradata)?
  • Migrerar du en stordataplattform (som Cloudera eller Hortonworks)?
  • Samla in arkitektur- och dataflödesdiagram för den aktuella analysmiljön.
  • Var finns datakällorna för dina planerade analytiska arbetsbelastningar (Azure, andra molnleverantörer eller lokalt)?
  • Vilken är den totala storleken på befintliga datamängder (historiska och inkrementella)? Vilken är den aktuella tillväxttakten för dina datauppsättningar? Vilken är den beräknade tillväxttakten för dina datauppsättningar under de kommande 2–5 åren?
  • Har du en befintlig datasjö? Samla in så mycket information som möjligt om filtyper (till exempel Parquet eller CSV), filstorlekar och säkerhetskonfiguration.
  • Har du halvstrukturerade eller ostrukturerade data att bearbeta och analysera?
  • Beskriv typen av databehandling (batch- eller realtidsbearbetning).
  • Behöver du interaktiv datautforskning från relationsdata, datasjö eller andra källor?
  • Behöver du dataanalys och utforskning i realtid från driftdatakällor?
  • Vilka är smärtpunkterna och begränsningarna i den aktuella miljön?
  • Vilka källkontroll- och DevOps-verktyg använder du idag?
  • Har du ett användningsfall för att skapa en hybridanalyslösning (moln och lokalt), endast molnet eller flera moln?
  • Samla in information om den befintliga molnmiljön. Är det en enskild molnleverantör eller en leverantör för flera moln?
  • Samla in planer om den framtida molnmiljön. Kommer det att vara en enskild molnleverantör eller en leverantör för flera moln?
  • Vilka är kraven för RPO/RTO/HA/SLA i den befintliga miljön?
  • Vilka är kraven för RPO/RTO/HA/SLA i den planerade miljön?

Analytiska arbetsbelastningsroller

Utvärdera följande punkter för de analytiska arbetsbelastningsrollerna.

  • Beskriv de olika rollerna (dataexpert, datatekniker, dataanalytiker och andra).
  • Beskriv åtkomstkontrollkravet för analysplattformen för dessa roller.
  • Identifiera plattformsägaren som ansvarar för att etablera beräkningsresurser och bevilja åtkomst.
  • Beskriv hur olika dataroller för närvarande samarbetar.
  • Samarbetar flera team på samma analysplattform? I så fall, vad är kraven på åtkomstkontroll och isolering för vart och ett av dessa team?
  • Vilka klientverktyg använder slutanvändarna för att interagera med analysplattformen?

ETL/ELT, transformering och orkestrering

Utvärdera följande punkter för ETL/ELT, transformering och orkestrering.

  • Vilka verktyg använder du idag för datainmatning (ETL eller ELT)?
  • Var finns dessa verktyg i den befintliga miljön (lokalt eller i molnet)?
  • Vilka är dina aktuella krav för datainläsning och uppdatering (realtid, mikrobatch, varje timme, varje dag, varje vecka eller varje månad)?
  • Beskriv omvandlingskraven för varje lager (stordata, datasjö, informationslager).
  • Vilken är den aktuella programmeringsmetoden för att transformera data (ingen kod, låg kod, programmering som SQL, Python, Scala, C#eller annat)?
  • Vilken är den föredragna planerade programmeringsmetoden för att transformera data (ingen kod, låg kod, programmering som SQL, Python, Scala, C#eller annat)?
  • Vilka verktyg används för närvarande för dataorkestrering för att automatisera den datadrivna processen?
  • Var finns datakällorna för din befintliga ETL (Azure, annan molnleverantör eller lokal)?
  • Vilka är de befintliga verktygen för dataförbrukning (rapportering, BI-verktyg och verktyg med öppen källkod) som kräver integrering med analysplattformen?
  • Vilka är de planerade verktygen för dataförbrukning (rapportering, BI-verktyg och verktyg med öppen källkod) som kräver integrering med analysplattformen?

Nätverk och säkerhet

Utvärdera följande punkter för nätverk och säkerhet.

  • Vilka regelkrav har du för dina data?
  • Om dina data innehåller kundinnehåll, betalkortsindustrin (PCI) eller HIPAA-data (Health Insurance Portability and Accountability Act of 1996) har din säkerhetsgrupp certifierat Azure för dessa data? I så fall, för vilka Azure-tjänster?
  • Beskriv kraven för användarauktorisering och autentisering.
  • Finns det säkerhetsproblem som kan begränsa åtkomsten till data under implementeringen?
  • Finns det tillgängliga testdata att använda under utveckling och testning?
  • Beskriv organisationens nätverkssäkerhetskrav för analysberäkning och lagring (privat nätverk, offentligt nätverk eller brandväggsbegränsningar).
  • Beskriv nätverkssäkerhetskraven för klientverktyg för åtkomst till analysberäkning och lagring (peer-kopplat nätverk, privat slutpunkt eller annat).
  • Beskriv den aktuella nätverkskonfigurationen mellan lokalt och Azure (Azure ExpressRoute, plats-till-plats eller annat).

Använd följande checklistor med möjliga krav för att vägleda din utvärdering.

  • Dataskydd:
    • Kryptering under överföring
    • Vilande kryptering (standardnycklar eller kundhanterade nycklar)
    • Identifiering och klassificering av data
  • Åtkomstkontroll:
    • Säkerhet på objektnivå
    • Säkerhet på radnivå
    • Säkerhet på kolumnnivå
    • Dynamisk datamaskning
  • Autentisering:
    • SQL-inloggning
    • Microsoft Entra ID
    • Multi-factor authentication (MFA)
  • Nätverkssäkerhet:
    • Virtuella nätverk
    • Brandvägg
    • Azure ExpressRoute
  • Skydd mot hot:
    • Hotidentifiering
    • Granskning
    • Sårbarhetsbedömning

Mer information finns i säkerhetsdokumentet för Azure Synapse Analytics.

Azure-miljö

Utvärdera följande punkter för Azure-miljön.

  • Använder du Azure för närvarande? Används den för produktionsarbetsbelastningar?
  • Vilka tjänster använder du om du använder Azure? Vilka regioner använder du?
  • Använder du Azure ExpressRoute? Vad är bandbredden?
  • Har du budgetgodkännande för att etablera nödvändiga Azure-tjänster?
  • Hur etablerar och hanterar du för närvarande resurser (Azure Resource Manager (ARM) eller Terraform)?
  • Är ditt nyckelteam bekant med Synapse Analytics? Krävs det någon utbildning?

Dataförbrukning

Utvärdera följande punkter för dataförbrukning.

  • Beskriv hur och vilka verktyg du använder för närvarande för att utföra aktiviteter som att mata in, utforska, förbereda och datavisualisering.
  • Identifiera vilka verktyg du planerar att använda för att utföra aktiviteter som att mata in, utforska, förbereda och datavisualisering.
  • Vilka program planeras att interagera med analysplattformen (Microsoft Power BI, Microsoft Excel, Microsoft SQL Server Reporting Services, Tableau eller andra)?
  • Identifiera alla datakonsumenter.
  • Identifiera krav för dataexport och datadelning.

Utvärdering av Azure Synapse-tjänster

Azure Synapse-tjänstutvärderingen handlar om tjänsterna i Azure Synapse. Azure Synapse har följande komponenter för beräkning och dataflytt:

  • Synapse SQL: Ett distribuerat frågesystem för Transact-SQL (T-SQL) som möjliggör datalagerhantering och datavirtualiseringsscenarier. Den utökar även T-SQL för att hantera strömnings- och maskininlärningsscenarier (ML). Synapse SQL erbjuder både serverlösa och dedikerade resursmodeller.
  • Serverlös SQL-pool: Ett distribuerat databearbetningssystem som skapats för storskaliga data- och beräkningsfunktioner. Det finns ingen infrastruktur att konfigurera eller kluster att underhålla. Den här tjänsten passar för oplanerade arbetsbelastningar eller burst-arbetsbelastningar. Rekommenderade scenarier är snabb datautforskning av filer direkt på datasjön, logiskt informationslager och datatransformering av rådata.
  • Dedikerad SQL-pool: Representerar en samling analysresurser som etableras när du använder Synapse SQL. Storleken på en dedikerad SQL-pool (tidigare SQL DW) bestäms av Datalagring Units (DWU). Den här tjänsten passar för ett informationslager med förutsägbara kontinuerliga arbetsbelastningar med höga prestanda jämfört med data som lagras i SQL-tabeller. 
  • Apache Spark-pool: Integrerar Apache Spark djupt och sömlöst, vilket är den mest populära öppen källkod stordatamotor som används för dataförberedelse, datateknik, ETL och ML.
  • Dataintegreringspipelines: Azure Synapse innehåller samma dataintegreringsmotor och funktioner som Azure Data Factory (ADF). De gör att du kan skapa omfattande ETL-pipelines i stor skala utan att lämna Azure Synapse.

Utvärdera följande punkter för att fastställa den bästa SQL-pooltypen (dedikerad eller serverlös).

  • Vill du skapa ett traditionellt informationslager för relationer genom att reservera bearbetningskraft för data som lagras i SQL-tabeller?
  • Kräver dina användningsfall förutsägbara prestanda?
  • Vill du skapa ett logiskt informationslager ovanpå en datasjö?
  • Vill du köra frågor mot data direkt från en datasjö?
  • Vill du utforska data från en datasjö?

I följande tabell jämförs de två Typerna av Synapse SQL-pooler.

Jämförelse Dedikerad SQL-pool Serverlös SQL-pool
Värdefördelningar Fullständigt hanterade funktioner i ett informationslager. Förutsägbara och höga prestanda för kontinuerliga arbetsbelastningar. Optimerad för hanterade (inlästa) data. Lätt att komma igång och utforska datasjödata. Bättre total ägandekostnad (TCO) för ad hoc-arbetsbelastningar och tillfälliga arbetsbelastningar. Optimerad för att fråga efter data i en datasjö.
Arbetsbelastningar Perfekt för kontinuerliga arbetsbelastningar. Inläsningen ökar prestandan med mer komplexitet. Debitering per DWU (när storleken är väl) kommer att vara kostnadsfördelaktiga. Perfekt för ad hoc- eller tillfälliga arbetsbelastningar. Det finns ingen anledning att läsa in data, så det är enklare att starta och köra. Debitering per användning kommer att vara kostnadseffektivt.
Frågeprestanda Ger hög samtidighet och låg svarstid. Stöder omfattande cachelagringsalternativ, inklusive materialiserade vyer. Det finns möjlighet att välja kompromisser med arbetsbelastningshantering (WLM). Passar inte för instrumentpanelsfrågor. Svarstider för millisekunder förväntas inte. Det fungerar bara på externa data.

Dedikerad SQL-poolutvärdering

Utvärdera följande plattformspunkter för den dedikerade SQL-poolutvärderingen.

  • Vilken är den aktuella informationslagerplattformen (Microsoft SQL Server, Netezza, Teradata, Greenplum eller annat)?
  • För en migreringsarbetsbelastning ska du fastställa enhetens märke och modell för varje miljö. Inkludera information om processorer, GPU:er och minne.
  • När köptes maskinvaran för en installationsmigrering? Har apparaten avskrivts helt? Om inte, när upphör avskrivningen? Och hur mycket kapitalutgifter återstår?
  • Finns det några maskinvaru- och nätverksarkitekturdiagram?
  • Var finns datakällorna för ditt planerade informationslager (Azure, annan molnleverantör eller lokal)?
  • Vilka är datavärdplattformarna för datakällorna för ditt informationslager (Microsoft SQL Server, Azure SQL Database, DB2, Oracle, Azure Blob Storage, AWS, Hadoop eller annat)?
  • Är något av datakällornas informationslager? I så fall, vilka?
  • Identifiera alla scenarier för ETL, ELT och datainläsning (batchfönster, direktuppspelning, nära realtid). Identifiera befintliga serviceavtal för varje scenario och dokumentera förväntade serviceavtal i den nya miljön.
  • Vilken är den aktuella datalagerstorleken?
  • Vilken datamängdstillväxt riktas in på den dedikerade SQL-poolen?
  • Beskriv de miljöer som du använder idag (utveckling, test eller produktion).
  • Vilka verktyg finns för närvarande för dataflytt (ADF, Microsoft SQL Server Integration Services (SSIS), robocopy, Informatica, SFTP eller andra)?
  • Planerar du att läsa in realtidsdata eller nästan realtidsdata?

Utvärdera följande databaspunkter.

  • Vad är antalet objekt i varje informationslager (scheman, tabeller, vyer, lagrade procedurer, funktioner)?
  • Är det ett stjärnschema, snowflake-schema eller annan design?
  • Vilka är de största tabellerna när det gäller storlek och antal poster?
  • Vilka är de bredaste tabellerna när det gäller antalet kolumner?
  • Finns det redan en datamodell som är utformad för ditt informationslager? Är det en Kimball-, Inmon- eller star-schemadesign?
  • Används långsamt föränderliga dimensioner (SCD)? I så fall, vilka typer?
  • Kommer ett semantiskt lager att implementeras med hjälp av relationsdata marts eller Analysis Services (tabell- eller flerdimensionella) eller en annan produkt?
  • Vilka är kraven för HA/RPO/RTO/dataarkivering?
  • Vilka är kraven för regionreplikering?

Utvärdera följande arbetsbelastningsegenskaper.

  • Vilket är det uppskattade antalet samtidiga användare eller jobb som kommer åt informationslagret under rusningstid?
  • Vilket är det uppskattade antalet samtidiga användare eller jobb som kommer åt informationslagret under låg belastning?
  • Finns det en tidsperiod då det inte kommer att finnas några användare eller jobb?
  • Vad förväntar du dig för prestanda för frågekörning för interaktiva frågor?
  • Vad förväntar du dig för databelastningsprestanda för datainläsningar eller uppdateringar varje dag/vecka/månad?
  • Vilka är dina förväntningar på frågekörning för rapporterings- och analysfrågor?
  • Hur komplexa blir de vanligaste frågorna?
  • Vilken procentandel av din totala datamängdsstorlek är din aktiva datamängd?
  • Ungefär vilken procentandel av arbetsbelastningen förväntas för inläsning eller uppdatering, batchbearbetning eller rapportering, interaktiv fråga och analysbearbetning?
  • Identifiera mönster och plattformar för dataförbrukning:
    • Aktuell och planerad rapporteringsmetod och verktyg.
    • Vilket program eller analysverktyg får åtkomst till informationslagret?
    • Antal samtidiga frågor?
    • Genomsnittligt antal aktiva frågor vid en viss tidpunkt?
    • Vad är typen av dataåtkomst (interaktiv, ad hoc, export eller andra)?
    • Dataroller och fullständig beskrivning av deras datakrav.
    • Maximalt antal samtidiga anslutningar.
  • SLA-mönster för frågeprestanda genom att:
    • Instrumentpanelsanvändare.
    • Batchrapportering.
    • ML-användare.
    • ETL-process.
  • Vilka är säkerhetskrav för den befintliga miljön och för den nya miljön (säkerhet på radnivå, säkerhet på kolumnnivå, åtkomstkontroll, kryptering och andra)?
  • Har du krav på att integrera ML-modellbedömning med T-SQL?

Utvärdering av serverlös SQL-pool

Synapse Serverless SQL-pool stöder tre större användningsfall.

  • Grundläggande identifiering och utforskning: Snabbt resonera om data i olika format (Parquet, CSV, JSON) i din datasjö, så att du kan planera hur du extraherar insikter från den.
  • Logiskt informationslager: Ange en relationsabstraktion ovanpå rådata eller olika data utan att flytta och transformera data, vilket ger en alltid aktuell vy över dina data.
  • Datatransformering: Enkelt, skalbart och högpresterande sätt att transformera data i sjön med hjälp av T-SQL, så att de kan matas till BI och andra verktyg eller läsas in i ett relationsdatalager (Synapse SQL-databaser, Azure SQL Database eller andra).

Olika dataroller kan dra nytta av en serverlös SQL-pool:

  • Datatekniker kan utforska datasjön, transformera och förbereda data med hjälp av den här tjänsten och förenkla sina pipelines för datatransformering.
  • Dataexperter kan snabbt resonera om innehållet och strukturen för data i datasjön, tack vare funktioner som OPENROWSET och automatisk schemainferens.
  • Dataanalytiker kan utforska data och externa Spark-tabeller som skapats av dataforskare eller datatekniker med hjälp av välbekanta T-SQL-instruktioner eller deras favoritfrågeverktyg.
  • BI-proffs kan snabbt skapa Power BI-rapporter ovanpå data i datasjön och Spark-tabellerna.

Kommentar

T-SQL-språket används i både den dedikerade SQL-poolen och den serverlösa SQL-poolen, men det finns vissa skillnader i uppsättningen funktioner som stöds. Mer information om T-SQL-funktioner som stöds i Synapse SQL (dedikerade och serverlösa) finns i Transact-SQL-funktioner som stöds i Azure Synapse SQL.

Utvärdera följande punkter för den serverlösa SQL-poolutvärderingen.

  • Har du användningsfall för att identifiera och utforska data från en datasjö med hjälp av relationsfrågor (T-SQL)?
  • Har du användningsfall för att skapa ett logiskt informationslager ovanpå en datasjö?
  • Identifiera om det finns användningsfall för att transformera data i datasjön utan att först flytta data från datasjön.
  • Finns dina data redan i Azure Data Lake Storage (ADLS) eller Azure Blob Storage?
  • Har du en bra partitionsstrategi i datasjön om dina data redan finns i ADLS?
  • Har du driftdata i Azure Cosmos DB? Har du användningsfall för realtidsanalys på Azure Cosmos DB utan att påverka transaktioner?
  • Identifiera filtyperna i datasjön.
  • Identifiera serviceavtalet för frågeprestanda. Kräver ditt användningsfall förutsägbar prestanda och kostnad?
  • Har du oplanerade eller spruckna SQL-analytiska arbetsbelastningar?
  • Identifiera mönstret och plattformarna för dataförbrukning:
    • Aktuell och planerad rapporteringsmetod och verktyg.
    • Vilket program eller analysverktyg kommer åt den serverlösa SQL-poolen?
    • Genomsnittligt antal aktiva frågor när som helst.
    • Vad är typen av dataåtkomst (interaktiv, ad hoc, export eller andra)?
    • Dataroller och fullständig beskrivning av deras datakrav.
    • Maximalt antal samtidiga anslutningar.
    • Frågekomplexitet?
  • Vilka är säkerhetskrav (åtkomstkontroll, kryptering och andra)?
  • Vilka är de T-SQL-funktioner som krävs (lagrade procedurer eller funktioner)?
  • Identifiera antalet frågor som ska skickas till den serverlösa SQL-poolen och resultatuppsättningens storlek för varje fråga.

Dricks

Om du inte har använt serverlösa SQL-pooler tidigare rekommenderar vi att du går igenom utbildningsvägen Skapa dataanalyslösningar med azure Synapse-serverlösa SQL-pooler .

Utvärdering av Spark-pool

Spark-pooler i Azure Synapse aktiverar följande viktiga scenarier.

  • Datateknik/Dataförberedelse: Apache Spark innehåller många språkfunktioner som stöd för förberedelse och bearbetning av stora mängder data. Förberedelse och bearbetning kan göra data mer värdefulla och göra det möjligt att använda dem av andra Azure Synapse-tjänster. Det aktiveras via flera språk (C#, Scala, PySpark, Spark SQL) och med hjälp av de bibliotek som tillhandahålls för bearbetning och anslutning.
  • Maskininlärning: Apache Spark levereras med MLlib, som är ett ML-bibliotek som bygger på Spark som du kan använda från en Spark-pool. Spark-pooler innehåller också Anaconda, som är en Python-distribution som består av olika paket för datavetenskap, inklusive ML. Dessutom tillhandahåller Apache Spark på Synapse förinstallerade bibliotek för Microsoft Machine Learning, som är ett feltolerant, elastiskt och RESTful ML-ramverk. I kombination med inbyggt stöd för notebook-filer har du en omfattande miljö för att skapa ML-program.

Kommentar

Mer information finns i Apache Spark i Azure Synapse Analytics.

Dessutom är Azure Synapse kompatibelt med Linux Foundation Delta Lake. Delta Lake är ett lagringslager med öppen källkod som ger ACID-transaktioner (atomicitet, konsekvens, isolering och hållbarhet) till Apache Spark- och stordataarbetsbelastningar. Mer information finns i Vad är Delta Lake.

Utvärdera följande punkter för Spark-poolutvärderingen.

  • Identifiera de arbetsbelastningar som kräver datateknik eller dataförberedelse.
  • Definiera tydligt typerna av transformeringar.
  • Identifiera om du har ostrukturerade data att bearbeta.
  • När du migrerar från en befintlig Spark/Hadoop-arbetsbelastning:
    • Vilken är den befintliga stordataplattformen (Cloudera, Hortonworks, molntjänster eller annat)?
    • Om det är en migrering från en lokal plats, har maskinvaran avskrivs eller har licenser upphört att gälla? Om inte, när sker avskrivningen eller förfallodatum?
    • Vilken är den befintliga klustertypen?
    • Vilka är de bibliotek och Spark-versioner som krävs?
    • Är det en Hadoop-migrering till Spark?
    • Vilka är de aktuella eller föredragna programmeringsspråken?
    • Vilken typ av arbetsbelastning (stordata, ML eller annat)?
    • Vilka är de befintliga och planerade klientverktygen och rapporteringsplattformarna?
    • Vilka är säkerhetskrav?
    • Finns det några aktuella smärtpunkter och begränsningar?
  • Planerar du att använda, eller använder du för närvarande, Delta Lake?
  • Hur hanterar du paket idag?
  • Identifiera de beräkningsklustertyper som krävs.
  • Identifiera om klusteranpassning krävs.

Dricks

Om du inte har använt Spark-pooler tidigare rekommenderar vi att du går igenom utbildningsvägen Utför datateknik med Azure Synapse Apache Spark-pooler .

Nästa steg

I nästa artikel i Azure Synapse lyckades med designserien får du lära dig hur du utvärderar Synapse-arbetsytedesignen och verifierar att den uppfyller riktlinjer och krav.