Zephyrnet-logotyp

Vad du ska tänka på när du migrerar datalager till Amazon Redshift

Datum:

Kunder migrerar datalager till Amazon RedShift eftersom det är snabbt, skalbart och kostnadseffektivt. Men migreringsprojekt för datalager kan vara komplexa och utmanande. I det här inlägget hjälper jag dig att förstå de vanliga drivkrafterna för migrering av datalager, migreringsstrategier och vilka verktyg och tjänster som finns tillgängliga för att hjälpa till med ditt migreringsprojekt.

Låt oss först diskutera big data-landskapet, innebörden av en modern dataarkitektur och vad du behöver tänka på för ditt datalagermigreringsprojekt när du bygger en modern dataarkitektur.

Affärsmöjligheter

Data förändrar hur vi arbetar, lever och spelar. Allt detta beteende förändras och förflyttningen till molnet har resulterat i en dataexplosion under de senaste 20 åren. Utbredningen av Internet of Things och smarta telefoner har accelererat mängden data som genereras varje dag. Affärsmodeller har förändrats, och det har också behoven hos de personer som driver dessa företag. Vi har gått från att prata om terabyte data för bara några år sedan till nu petabyte och exabyte data. Genom att använda data på ett effektivt sätt och bygga djupa affärsinsikter från insamlad data kan företag i olika branscher och av olika storlekar uppnå ett brett utbud av affärsresultat. Dessa kan brett kategoriseras i följande kärnverksamhetsresultat:

  • Förbättring av operativ effektivitet – Genom att förstå data som samlats in från olika operativa processer kan företag förbättra kundupplevelsen, öka produktionseffektiviteten och öka försäljnings- och marknadsföringsflexibiliteten
  • Ta mer välgrundade beslut – Genom att utveckla mer meningsfulla insikter genom att sammanföra en helhetsbild av data i en organisation, kan företag fatta mer välgrundade beslut
  • Accelererande innovation – Att kombinera interna och externa datakällor möjliggör en mängd olika användningsfall för AI och maskininlärning (ML) som hjälper företag att automatisera processer och låsa upp affärsmöjligheter som antingen var omöjliga att göra eller för svåra att göra tidigare

Affärsutmaningar

Exponentiell datatillväxt har också inneburit affärsutmaningar.

Först och främst måste företag få tillgång till all data i hela organisationen, och data kan distribueras i silos. Den kommer från en mängd olika källor, i ett brett spektrum av datatyper och i stor volym och hastighet. Vissa data kan lagras som strukturerade data i relationsdatabaser. Annan data kan lagras som semistrukturerad data i objektlager, såsom mediafiler och klickströmsdata som ständigt strömmar från mobila enheter.

För det andra, för att bygga insikter från data, måste företag dyka djupt in i data genom att utföra analyser. Dessa analysaktiviteter involverar i allmänhet dussintals och hundratals dataanalytiker som behöver åtkomst till systemet samtidigt. Att ha ett prestandasystem som är skalbart för att möta frågeefterfrågan är ofta en utmaning. Det blir mer komplext när företag behöver dela analyserad data med sina kunder.

Sist men inte minst behöver företag en kostnadseffektiv lösning för att hantera datasilos, prestanda, skalbarhet, säkerhet och efterlevnadsutmaningar. Att kunna visualisera och förutsäga kostnader är nödvändigt för att ett företag ska kunna mäta kostnadseffektiviteten för sin lösning.

För att lösa dessa utmaningar behöver företag en framtidssäker modern dataarkitektur och ett robust, effektivt analyssystem.

Modern dataarkitektur

En modern dataarkitektur gör det möjligt för organisationer att lagra vilken mängd data som helst i öppna format, bryta ner frånkopplade datasilos, ge användare möjlighet att köra analys eller ML med hjälp av deras föredragna verktyg eller teknik, och hantera vem som har tillgång till specifika datastycken med rätt säkerhet och datastyrningskontroller.

AWS datasjöarkitektur är en modern dataarkitektur som gör att du kan lagra data i en datasjö och använda en ring av specialbyggda datatjänster runt sjön, som visas i följande figur. Detta gör att du kan fatta beslut med snabbhet och smidighet, i stor skala och kostnadseffektivt. För mer information, se Modern dataarkitektur på AWS.

Modernt datalager

Amazon RedShift är ett fullt hanterat, skalbart, modernt datalager som påskyndar tiden till insikter med snabb, enkel och säker analys i stor skala. Med Amazon Redshift kan du analysera all din data och få prestanda i vilken skala som helst med låga och förutsägbara kostnader.

Amazon Redshift erbjuder följande fördelar:

  • Analysera all din data – Med Amazon Redshift kan du enkelt analysera all din data över ditt datalager och datasjö med konsekventa säkerhets- och styrningspolicyer. Vi kallar detta den moderna dataarkitekturen. Med Amazon Redshift Spectrum, kan du söka efter data i din datasjö utan behov av laddning eller annan dataförberedelse. Och med datasjöexport, kan du spara resultaten av en Amazon Redshift-förfrågan tillbaka i sjön. Det betyder att du kan dra nytta av realtidsanalys och ML/AI-användningsfall utan omarkitektur, eftersom Amazon Redshift är helt integrerat med din datasjö. Med nya möjligheter som datadeling, kan du enkelt dela data över Amazon Redshift-kluster både internt och externt, så att alla har en levande och konsekvent bild av datan. Amazon Redshift ML gör det enkelt att göra mer med din data – du kan skapa, träna och distribuera ML-modeller med bekanta SQL-kommandon direkt i Amazon Redshifts datalager.
  • Snabb prestanda i alla skala – Amazon Redshift är ett självjusterande och självlärande system som låter dig få bästa prestanda för dina arbetsbelastningar utan de odifferentierade tunga lyften av att trimma ditt datalager med uppgifter som att definiera sorteringsnycklar och distributionsnycklar, och nya funktioner som t.ex. materialiserade vyer, auto-refresh och auto-query omskrivning. Amazon Redshift skalar för att leverera konsekvent snabba resultat från gigabyte till petabyte data, och från några få användare till tusentals. När din användarbas skalas till tusentals samtidiga användare, samtidighetsskalning kapacitet distribuerar automatiskt de nödvändiga beräkningsresurserna för att hantera den extra belastningen. Amazon Redshift RA3-instanser med hanterad lagring separat beräkning och lagring, så att du kan skala var och en oberoende och bara betala för den lagring du behöver. AQUA (Advanced Query Accelerator) för Amazon Redshift är en ny distribuerad och hårdvaruaccelererad cache som automatiskt ökar vissa typer av frågor.
  • Enkel analys för alla – Amazon Redshift är ett helt hanterat datalager som tar bort bördan av detaljerad infrastrukturhantering eller prestandaoptimering. Du kan fokusera på att få insikter, snarare än att utföra underhållsuppgifter som att tillhandahålla infrastruktur, skapa säkerhetskopior, ställa in layouten för data och andra uppgifter. Du kan använda data i öppna format, använda välbekanta SQL-kommandon och dra fördel av frågevisualiseringar som är tillgängliga via den nya Frågeredigerare v2. Du kan också komma åt data från vilken applikation som helst genom ett säkert data-API utan att konfigurera drivrutiner för programvara, hantera databasanslutningar. Amazon Redshift är kompatibelt med Business Intelligence (BI)-verktyg, vilket öppnar upp kraften och integrationen av Amazon Redshift för företagsanvändare som arbetar inifrån BI-verktyget.

En modern dataarkitektur med en datasjöarkitektur och modernt datalager med Amazon Redshift hjälper företag i alla olika storlekar att ta itu med big data-utmaningar, förstå en stor mängd data och driva affärsresultat. Du kan börja resan med att bygga en modern dataarkitektur genom att migrera ditt datalager till Amazon Redshift.

Migrationsöverväganden

Data warehouse-migrering utgör en utmaning när det gäller projektkomplexitet och utgör en risk när det gäller resurser, tid och kostnad. För att minska komplexiteten i datalagermigrering är det viktigt att välja rätt migreringsstrategi baserat på ditt befintliga datalagerlandskap och mängden transformation som krävs för att migrera till Amazon Redshift. Följande är nyckelfaktorerna som kan påverka ditt beslut om migreringsstrategi:

  • Storlek – Den totala storleken på det källdatalager som ska migreras bestäms av de objekt, tabeller och databaser som ingår i migreringen. En god förståelse för de datakällor och datadomäner som krävs för att flytta till Amazon Redshift leder till en optimal storlek på migreringsprojektet.
  • Dataöverföring – Datalagermigrering innebär dataöverföring mellan källdatalagerservrarna och AWS. Du kan antingen överföra data över en nätverksanslutning mellan källplatsen och AWS som t.ex AWS Direct Connect eller överföra data offline via verktyg eller tjänster som t.ex AWS Snow Family.
  • Dataförändringshastighet – Hur ofta sker datauppdateringar eller ändringar i ditt datalager? Ditt befintliga datavaruhusdataändringshastighet bestämmer uppdateringsintervallen som krävs för att hålla källdatalagret och målet Amazon Redshift synkroniserade. Ett källdatalager med en hög dataändringshastighet kräver att tjänsten byter från källan till Amazon Redshift för att slutföras inom ett uppdateringsintervall, vilket leder till ett kortare migreringsavbrottsfönster.
  • Datatransformation – Att flytta ditt befintliga datalager till Amazon Redshift är en heterogen migrering som involverar datatransformation som datakartläggning och schemaändring. Datatransformationens komplexitet avgör den behandlingstid som krävs för en iteration av migrering.
  • Migrerings- och ETL-verktyg – Valet av migrerings- och extrahera, transformera och ladda (ETL)-verktyg kan påverka migreringsprojektet. Till exempel kan de ansträngningar som krävs för implementering och installation av dessa verktyg variera. Vi tittar närmare på AWS-verktyg och tjänster inom kort.

När du har tagit med alla dessa överväganden kan du välja ett migreringsstrategialternativ för ditt Amazon Redshift-migreringsprojekt.

Migrationsstrategier

Du kan välja mellan tre migreringsstrategier: enstegsmigrering, tvåstegsmigrering eller vågbaserad migrering.

Enstegsmigrering är ett bra alternativ för databaser som inte kräver kontinuerlig drift, såsom kontinuerlig replikering, för att hålla pågående dataändringar synkroniserade mellan källan och destinationen. Du kan extrahera befintliga databaser som CSV-filer (comma separated value) eller kolumnformat som Parquet, och sedan använda AWS Snow Family-tjänster som t.ex. AWS snöboll att leverera datamängder till Amazon enkel lagringstjänst (Amazon S3) för laddning i Amazon Redshift. Du testar sedan destinations Amazon Redshift-databasen för datakonsistens med källan. Efter att alla valideringar har passerat växlas databasen över till AWS.

Tvåstegsmigrering används vanligtvis för databaser av alla storlekar som kräver kontinuerlig drift, till exempel kontinuerlig replikering. Under migreringen har källdatabaserna pågående dataändringar, och kontinuerlig replikering håller dataändringar synkroniserade mellan källan och Amazon Redshift. Uppdelningen av tvåstegsmigreringsstrategin är som följer:

  • Initial datamigrering – Data extraheras från källdatabasen, helst under icke-toppsanvändning för att minimera påverkan. Data migreras sedan till Amazon Redshift genom att följa enstegsmigreringsmetoden som beskrivits tidigare.
  • Ändrad datamigrering – Data som ändrades i källdatabasen efter den initiala datamigreringen förs vidare till destinationen före övergången. Detta steg synkroniserar käll- och måldatabaserna. Efter att alla ändrade data har migrerats kan du validera data i måldatabasen och utföra nödvändiga tester. Om alla tester är godkända byter du sedan över till Amazon Redshifts datalager.

Vågbaserad migrering är lämplig för storskaliga datalagermigreringsprojekt. Principen för vågbaserad migration är att vidta försiktighetsåtgärder för att dela upp ett komplext migrationsprojekt i flera logiska och systematiska vågor. Denna strategi kan avsevärt minska komplexiteten och risken. Du utgår från en arbetsbelastning som täcker ett stort antal datakällor och ämnesområden med medelhög komplexitet, för att sedan lägga till fler datakällor och ämnesområden i varje efterföljande våg. Med denna strategi kör du både källdatalagret och Amazon Redshift produktionsmiljöer parallellt under en viss tid innan du helt kan avveckla källdatalagret. Ser Utveckla en applikationsmigreringsmetod för att modernisera ditt datalager med Amazon Redshift för detaljer om hur man identifierar och grupperar datakällor och analysapplikationer för att migrera från källdatalagret till Amazon Redshift med den vågbaserade migreringsmetoden.

För att vägleda ditt beslut om migreringsstrategi, se följande tabell för att kartlägga övervägande faktorer med en föredragen migreringsstrategi.

. Enstegsmigrering Tvåstegsmigrering Vågbaserad migrering
Antalet ämnesområden i migrationsomfång Små Medium till stor Medium till stor
Dataöverföringsvolym Liten till stor Liten till stor Liten till stor
Dataförändringshastighet under migrering Ingen Minimal till Frekvent Minimal till Frekvent
Datatransformations komplexitet Vilken som helst Vilken som helst Vilken som helst
Migreringsändringsfönster för att byta från källa till mål timmar Sekunder Sekunder
Migrationsprojektets varaktighet veckor Veckor till månader Månader

Migrationsprocess

I det här avsnittet går vi igenom de tre högnivåstegen i migreringsprocessen. Migrationsstrategin i två steg och den vågbaserade migreringsstrategin omfattar alla tre migreringsstegen. Den vågbaserade migreringsstrategin inkluderar dock ett antal iterationer. Eftersom endast databaser som inte kräver kontinuerlig drift passar bra för migrering i ett steg, krävs endast steg 1 och 2 i migreringsprocessen.

Steg 1: Konvertera schema och ämnesområde

I det här steget gör du källdatalagerschemat kompatibelt med Amazon Redshift-schemat genom att konvertera källdatalagerschemat med hjälp av schemakonverteringsverktyg som t.ex. AWS Schema Conversion Tool (AWS SCT) och de andra verktygen från AWS-partners. I vissa situationer kan du också behöva använda anpassad kod för att utföra komplexa schemakonverteringar. Vi dyker djupare in i AWS SCT och bästa metoder för migration i ett senare avsnitt.

Steg 2: Initial dataextraktion och laddning

I det här steget slutför du den första dataextraktionen och laddar källdata till Amazon Redshift för första gången. Du kan använda AWS SCT dataextraktorer att extrahera data från källdatalagret och ladda data till Amazon S3 om din datastorlek och dataöverföringskrav tillåter dig att överföra data över det sammankopplade nätverket. Alternativt, om det finns begränsningar som nätverkskapacitetsbegränsning, kan du ladda data till Snowball och därifrån laddas data till Amazon S3. När data i källdatalagret är tillgänglig på Amazon S3, laddas den till Amazon Redshift. I situationer när de inbyggda verktygen i källdatalagerhuset gör ett bättre jobb för dataavlastning och inläsning än AWS SCT-dataextraktorer, kan du välja att använda de inbyggda verktygen för att slutföra detta steg.

Steg 3: Delta och inkrementell belastning

I det här steget använder du AWS SCT och ibland källdatalagerbaserade verktyg för att fånga och ladda delta eller inkrementella ändringar från källor till Amazon Redshift. Detta hänvisas ofta till Change Data Capture (CDC). CDC är en process som fångar upp ändringar som görs i en databas och säkerställer att dessa ändringar replikeras till en destination som ett datalager.

Du bör nu ha tillräckligt med information för att börja utveckla en migreringsplan för ditt datalager. I följande avsnitt dyker jag djupare in i AWS-tjänsterna som kan hjälpa dig att migrera ditt datalager till Amazon Redshift, och de bästa metoderna för att använda dessa tjänster för att påskynda en framgångsrik leverans av ditt datalagermigreringsprojekt.

Migreringstjänster för datalager

Data warehouse-migrering innefattar en uppsättning tjänster och verktyg för att stödja migreringsprocessen. Du börjar med att skapa en utvärderingsrapport för databasmigrering och sedan konvertera källdataschemat för att vara kompatibelt med Amazon Redshift genom att använda AWS SCT. För att flytta data kan du använda AWS SCT-dataextraktionsverktyget, som har integration med AWS datamigreringstjänst (AWS DMS) för att skapa och hantera AWS DMS-uppgifter och orkestrera datamigrering.

För att överföra källdata över det sammankopplade nätverket mellan källan och AWS kan du använda AWS Storage Gateway, Amazon Kinesis Data Firehose, Direktkoppling, AWS Transfer Family-tjänster, Amazon S3 Transfer Accelerationoch AWS DataSync. För datalagermigrering som involverar en stor mängd data, eller om det finns begränsningar med den sammankopplade nätverkskapaciteten, kan du överföra data med hjälp av AWS Snow Family of Services. Med detta tillvägagångssätt kan du kopiera data till enheten, skicka tillbaka den till AWS och få data kopierad till Amazon Redshift via Amazon S3.

AWS SCT är en viktig tjänst för att påskynda din datalagermigrering till Amazon Redshift. Låt oss dyka djupare in i det.

Migrera med AWS SCT

AWS SCT automatiserar mycket av processen att konvertera ditt datalagerschema till ett Amazon Redshift-databasschema. Eftersom käll- och måldatabasmotorerna kan ha många olika funktioner och möjligheter, försöker AWS SCT skapa ett likvärdigt schema i din måldatabas där det är möjligt. Om ingen direkt konvertering är möjlig skapar AWS SCT en utvärderingsrapport för databasmigrering som hjälper dig att konvertera ditt schema. Databasmigreringsutvärderingsrapporten ger viktig information om konverteringen av schemat från din källdatabas till din måldatabas. Rapporten sammanfattar alla schemakonverteringsuppgifter och beskriver åtgärdspunkterna för schemaobjekt som inte kan konverteras till DB-motorn i din måldatabas. Rapporten innehåller också uppskattningar av hur mycket ansträngning det kommer att ta för att skriva motsvarande kod i din måldatabas som inte kan konverteras automatiskt.

Lagringsoptimering är hjärtat i en datalagerkonvertering. När du använder din Amazon Redshift-databas som källa och en test-Amazon Redshift-databas som mål, rekommenderar AWS SCT sorteringsnycklar och distributionsnycklar för att optimera din databas.

Med AWS SCT kan du konvertera följande datalagerscheman till Amazon Redshift:

  • Amazon RedShift
  • Azure Synapse Analytics (version 10)
  • Greenplum Database (version 4.3 och senare)
  • Microsoft SQL Server (version 2008 och senare)
  • Netezza (version 7.0.3 och senare)
  • Oracle (version 10.2 och senare)
  • Snowflake (version 3)
  • Teradata (version 13 och senare)
  • Vertica (version 7.2 och senare)

At
AWS fortsätter vi att släppa nya funktioner och förbättringar för att förbättra vår produkt. För de senaste omvandlingarna som stöds, besök AWS SCT användarhandbok.

Migrera data med hjälp av AWS SCT dataextraktionsverktyg

Du kan använda ett AWS SCT-dataextraktionsverktyg för att extrahera data från ditt lokala datalager och migrera det till Amazon Redshift. Agenten extraherar dina data och laddar upp data till antingen Amazon S3 eller, för storskaliga migreringar, en AWS Snowball Family-tjänst. Du kan sedan använda AWS SCT för att kopiera data till Amazon Redshift. Amazon S3 är en lagrings- och hämtningstjänst. För att lagra ett objekt i Amazon S3 laddar du upp filen du vill lagra till en S3-hink. När du laddar upp en fil kan du ställa in behörigheter för objektet och även för eventuell metadata.

I storskaliga migreringar som involverar datauppladdning till en AWS Snowball Family-tjänst kan du använda guidebaserade arbetsflöden i AWS SCT för att automatisera processen där dataextraktionsverktyget orkestrerar AWS DMS för att utföra den faktiska migreringen.

Överväganden för Amazon Redshift-migreringsverktyg

För att förbättra och påskynda migreringen av datalager till Amazon Redshift, överväg följande tips och bästa praxis. Den här listan är inte uttömmande. Se till att du har en god förståelse för din datalagerprofil och bestäm vilka bästa metoder du kan använda för ditt migreringsprojekt.

  • Använd AWS SCT för att skapa en migrationsbedömningsrapport och omfång migreringsansträngningar.
  • Automatisera migrering med AWS SCT där det är möjligt. Erfarenheterna från våra kunder visar att AWS SCT automatiskt kan skapa majoriteten av DDL- och SQL-skript.
  • När automatisk schemakonvertering inte är möjlig, använd anpassade skript för kodkonverteringen.
  • Installera AWS SCT-dataextraktionsagenter så nära datakällan som möjligt för att förbättra datamigreringsprestanda och tillförlitlighet.
  • För att förbättra datamigreringsprestanda, storleksanpassa din Amazon Elastic Compute Cloud (Amazon EC2)-instansen och dess motsvarande virtuella maskiner som dataextraktionsagenterna är installerade på.
  • Konfigurera flera dataextraktionsagenter för att köra flera uppgifter parallellt för att förbättra datamigreringsprestanda genom att maximera användningen av den allokerade nätverksbandbredden.
  • Justera AWS SCT-minneskonfiguration för att förbättra prestanda för schemakonvertering.
  • Använd Amazon S3 för att lagra stora objekt som bilder, PDF-filer och annan binär data från ditt befintliga datalager.
  • För att migrera stora tabeller, använd virtuell partitionering och skapa deluppgifter för att förbättra datamigreringsprestanda.
  • Förstå användningsfallen för AWS-tjänster som Direct Connect, AWS Transfer Family och AWS Snow Family. Välj rätt tjänst eller verktyg för att uppfylla dina datamigreringskrav.
  • Förstå AWS-tjänstkvoter och fatta välgrundade beslut om migreringsdesign.

Sammanfattning

Data växer i volym och komplexitet snabbare än någonsin. Men bara en bråkdel av denna ovärderliga tillgång är tillgänglig för analys. Traditionella lokala datalager har stela arkitekturer som inte skalas för moderna användningsfall för big data-analys. Dessa traditionella datalager är dyra att sätta upp och driva och kräver stora investeringar i både mjukvara och hårdvara.

I det här inlägget diskuterade vi Amazon Redshift som ett fullt hanterat, skalbart, modernt datalager som kan hjälpa dig att analysera all din data och uppnå prestanda i vilken skala som helst med låg och förutsägbar kostnad. För att migrera ditt datalager till Amazon Redshift måste du överväga en rad faktorer, såsom datalagrets totala storlek, dataförändringshastighet och datatransformationskomplexitet, innan du väljer en lämplig migreringsstrategi och process för att minska komplexiteten och kostnaden för ditt datalagermigreringsprojekt. Med AWS-tjänster som AWS SCT och AWS DMS, och genom att använda tipsen och de bästa metoderna för dessa tjänster, kan du automatisera migreringsuppgifter, skala migrering, påskynda leveransen av ditt datalagermigreringsprojekt och glädja dina kunder.


Om författaren

Lewis Tang är Senior Solutions Architect på Amazon Web Services baserad i Sydney, Australien. Lewis ger partners vägledning till ett brett utbud av AWS-tjänster och hjälper partners att påskynda tillväxten av AWS-övningar.

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?