Zephyrnet-logotyp

Tillkännager datafiltrering för Amazon Aurora MySQL zero-ETL integration med Amazon Redshift | Amazon webbtjänster

Datum:

När din organisation blir mer datadriven och använder data som en källa till konkurrensfördelar, vill du köra analyser på dina data för att bättre förstå dina kärnverksamhetsdrivkrafter för att öka försäljningen, minska kostnaderna och optimera din verksamhet. För att köra analyser på dina operativa data kan du bygga en lösning som är en kombination av en databas, ett datalager och en pipeline för extrahering, transformation och laddning (ETL). ETL är den process som dataingenjörer använder för att kombinera data från olika källor.

För att minska arbetet med att bygga och underhålla ETL-pipelines mellan transaktionsdatabaser och datalager, meddelade AWS Amazon Aurora noll-ETL-integration med Amazon Redshift at AWS re: Uppfinna 2022 och är nu allmänt tillgänglig (GA) för Amazon Aurora MySQL-kompatibel utgåva 3.05.0.

AWS tillkännager nu datafiltrering på noll-ETL-integrationer, vilket gör att du kan ta in selektiv data från databasinstansen på noll-ETL-integrationer mellan Amazon Aurora MySQL och Amazon RedShift. Den här funktionen låter dig välja enskilda databaser och tabeller som ska replikeras till ditt Redshift-datalager för analytiska användningsfall.

I det här inlägget ger vi en översikt över användningsfall där du kan använda den här funktionen, och ger steg-för-steg-vägledning om hur du kommer igång med operationsanalyser i nästan realtid med den här funktionen.

Användningsfall för datafiltrering

Datafiltrering låter dig välja vilka databaser och tabeller som ska replikeras från Amazon Aurora MySQL till Amazon Redshift. Du kan använda flera filter på noll-ETL-integrationen, så att du kan skräddarsy replikeringen efter dina specifika behov. Datafiltrering gäller antingen en exclude or include filterregel och kan använda reguljära uttryck för att matcha flera databaser och tabeller.

I det här avsnittet diskuterar vi några vanliga användningsfall för datafiltrering.

Förbättra datasäkerheten genom att utesluta tabeller som innehåller PII-data från replikering

Operativa databaser innehåller ofta personligt identifierbar information (PII). Detta är information som är känslig till sin natur och kan inkludera information som postadresser, kundverifieringsdokumentation eller kreditkortsinformation.

På grund av strikta regler för säkerhetsefterlevnad kanske du inte vill använda PII för dina analytiska användningsfall. Datafiltrering låter dig filtrera bort databaser eller tabeller som innehåller PII-data, exkludera dem från replikering till Amazon Redshift. Detta förbättrar datasäkerheten och överensstämmelse med analysarbeten.

Spara på lagringskostnader och hantera analysarbeten genom att replikera tabeller som krävs för specifika användningsfall

Operativa databaser innehåller ofta många olika datauppsättningar som inte är användbara för analys. Detta inkluderar kompletterande data, specifika applikationsdata och flera kopior av samma datauppsättning för olika applikationer.

Dessutom är det vanligt att bygga olika användningsfall på olika Redshift-lager. Denna arkitektur kräver att olika datauppsättningar är tillgängliga i enskilda slutpunkter.

Datafiltrering låter dig bara replikera de datauppsättningar som krävs för dina användningsfall. Detta kan spara kostnader genom att eliminera behovet av att lagra data som inte används.

Du kan också modifiera befintliga noll-ETL-integrationer för att tillämpa mer restriktiv datareplikering där så önskas. Om du lägger till ett datafilter till en befintlig integration kommer Aurora att omvärdera den data som replikeras med det nya filtret. Detta kommer att ta bort de nyligen filtrerade data från målslutpunkten för rödförskjutning.

För mer information om kvoter för Aurora zero-ETL-integrationer med Amazon Redshift, se kvoter.

Börja med små datareplikering och lägg till tabeller stegvis efter behov

Eftersom fler analytiska användningsfall utvecklas på Amazon Redshift, kanske du vill lägga till fler tabeller till en individuell noll-ETL-replikering. Istället för att replikera alla tabeller till Amazon Redshift för att tillfredsställa chansen att de kan komma att användas i framtiden, låter datafiltrering dig börja i det små med en delmängd av tabeller från din Aurora-databas och stegvis lägga till fler tabeller till filtret när de behövs .

Efter att ett datafilter på en noll-ETL-integration har uppdaterats kommer Aurora att omvärdera hela filtret helt som om det tidigare filtret inte fanns, så arbetsbelastningar som använder tidigare replikerade tabeller påverkas inte vid tillägg av nya tabeller.

Förbättra prestanda för individuell arbetsbelastning genom belastningsbalanserande replikeringsprocesser

För stora transaktionsdatabaser kan du behöva lastbalansera replikeringen och eventuell nedströmsbehandling till flera Redshift-kluster för att möjliggöra minskning av beräkningskraven för en enskild Redshift-slutpunkt och möjligheten att dela upp arbetsbelastningar på flera slutpunkter. Genom att belastningsbalansera arbetsbelastningar över flera Redshift-slutpunkter kan du effektivt skapa en datanätarkitektur, där ändpunkterna har rätt storlek för individuella arbetsbelastningar. Detta kan förbättra prestanda och sänka totalkostnaden.

Datafiltrering låter dig replikera olika databaser och tabeller för att separera Redshift-slutpunkter.

Följande figur visar hur du kan använda datafilter på noll-ETL-integrationer för att dela upp olika databaser i Aurora för att separera Redshift-slutpunkter.

Exempel på användningsfall

Överväga TICKIT databas. Exempeldatabasen TICKIT innehåller data från ett fiktivt företag där användare kan köpa och sälja biljetter till olika evenemang. Företagets affärsanalytiker vill använda den data som finns lagrad i deras Aurora MySQL-databas för att generera olika mätvärden, och skulle vilja utföra denna analys i nästan realtid. Av denna anledning har företaget identifierat noll-ETL som en potentiell lösning.

Under hela sin undersökning av de datauppsättningar som krävs, noterade företagets analytiker att användartabellen innehåller personlig information om deras kundanvändarinformation som inte är användbar för deras analyskrav. Därför vill de replikera all data utom användartabellen och kommer att använda noll-ETL:s datafiltrering för att göra det.

Inställning

Börja med att följa stegen i Komma igång-guide för operationsanalys i nästan realtid med Amazon Aurora noll-ETL-integration med Amazon Redshift för att skapa en ny Aurora MySQL-databas, Amazon Redshift Serverlös endpoint och noll-ETL-integration. Öppna sedan Redshift-frågeredigeraren v2 och kör följande fråga för att visa att data från användartabellen har replikerats framgångsrikt:

select * from aurora_zeroetl.demodb.users;

Datafilter

Datafilter tillämpas direkt på noll-ETL-integreringen på Amazon Relational Databas Service (Amazon RDS). Du kan definiera flera filter för en enda integration, och varje filter definieras som antingen ett Include or Exclude filtertyp. Datafilter tillämpar ett mönster på befintliga och framtida databastabeller för att avgöra vilket filter som ska användas.

Använd ett datafilter

För att applicera ett filter för att ta bort users tabell från noll-ETL-integrationen, slutför följande steg:

  1. Välj på Amazon RDS-konsolen Noll-ETL-integrationer i navigeringsfönstret.
  2. Välj noll-ETL-integrationen att lägga till ett filter till.

Standardfiltret är att inkludera alla databaser och tabeller som representeras av en include:*.* filtrera.

  1. Välja Ändra.
  2. Välja Lägg till filter i Källa sektion.
  3. För Välj filtertypväljer Uteslut.
  4. För Filteruttryck, ange uttrycket demodb.users.

Filteruttrycksordningen är viktig. Filter utvärderas från vänster till höger, uppifrån och ned, och efterföljande filter kommer att åsidosätta tidigare filter. I det här exemplet kommer Aurora att utvärdera att varje tabell ska inkluderas (filter 1) och sedan utvärdera att demodb.users tabell ska uteslutas (filter 2). Exkluderingsfiltret åsidosätter därför inkluderingen eftersom det är efter inkluderingsfiltret.

  1. Välja Fortsätta.
  2. Granska ändringarna, se till att ordningen på filtren är korrekt och välj Spara ändringar.

Integrationen kommer att läggas till och kommer att vara i en Ändra anges tills ändringarna har tillämpats. Detta kan ta upp till 30 minuter. För att kontrollera om ändringarna har börjat tillämpas, välj noll-ETL-integrationen och kontrollera dess status. När det visas som Aktiva, har ändringarna tillämpats.

Verifiera ändringen

För att verifiera att noll-ETL-integrationen har uppdaterats, utför följande steg:

  1. I Redshift-frågeredigeraren v2, anslut till ditt Redshift-kluster.
  2. Välj (högerklicka) på aurora-zeroetl databas du skapat och väljer refresh.
  3. Bygga ut demodb och Tables.

Smakämnen users Tabellen är inte längre tillgänglig eftersom den har tagits bort från replikeringen. Alla andra bord är fortfarande tillgängliga.

  1. Om du kör samma SELECT-sats från tidigare kommer du att få ett felmeddelande om att objektet inte finns i databasen:
    select * from aurora_zeroetl.demodb.users;

Använd ett datafilter med AWS CLI

Företagets affärsanalytiker förstår nu att fler databaser läggs till i Aurora MySQL-databasen och de vill säkerställa att endast demodb databasen replikeras till deras Redshift-kluster. För detta ändamål vill de uppdatera filtren på noll-ETL-integreringen med AWS-kommandoradsgränssnitt (AWS CLI).

För att lägga till datafilter till en noll-ETL-integration med AWS CLI kan du anropa modifiera-integration kommando. Förutom integrationsidentifieraren, ange --data-filter parameter med en kommaseparerad lista på include och exclude filter.

Utför följande steg för att ändra filtret på noll-ETL-integrationen:

  1. Öppna en terminal med AWS CLI installerad.
  2. Ange följande kommando för att lista alla tillgängliga integrationer:
    aws rds describe-integrations

  3. Hitta den integration du vill uppdatera och kopiera integrationsidentifieraren.

Integreringsidentifieraren är en alfanumerisk sträng i slutet av integrations-ARN.

  1. Kör följande kommando, uppdatera med identifieraren kopierad från föregående steg:
    aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude: demodb.users'

När Aurora utvärderar det här filtret kommer det att utesluta allt som standard, och sedan bara inkludera demodb databas, men uteslut demodb.users tabell.

Datafilter kan implementera reguljära uttryck för databaserna och tabellen. Till exempel om du vill filtrera bort eventuella tabeller som börjar med user, kan du köra följande:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude *./^user/'

Som med det tidigare filterbytet kommer integrationen att läggas till och kommer att vara i en Ändra anges tills ändringarna har tillämpats. Detta kan ta upp till 30 minuter. När det visas som Aktiva, har ändringarna tillämpats.

Städa upp

Utför följande steg för att ta bort filtret som lagts till i noll-ETL-integrationen:

  1. Välj på Amazon RDS-konsolen Noll-ETL-integrationer i navigeringsfönstret.
  2. Välj din noll-ETL-integration.
  3. Välja Ändra.
  4. Välja AVLÄGSNA bredvid filtren du vill ta bort.
  5. Du kan också ändra Uteslut filtertyp till Omfatta.

Alternativt kan du använda AWS CLI för att köra följande:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'include: *.*'

  1. Välja Fortsätta.
  2. Välja Spara ändringar.

Det tar upp till 30 minuter för datafiltret att tillämpa ändringarna. När du har tagit bort datafilter utvärderar Aurora de återstående filtren som om det borttagna filtret aldrig hade funnits. All data som tidigare inte matchade filtreringskriterierna men nu gör det replikeras till målet Redshift-datalager.

Slutsats

I det här inlägget visade vi dig hur du ställer in datafiltrering på din Aurora zero-ETL-integration från Amazon Aurora MySQL till Amazon Redshift. Detta gör att du kan aktivera nästan realtidsanalys av transaktions- och operationsdata samtidigt som du bara replikerar den data som krävs.

Med datafiltrering kan du dela upp arbetsbelastningar i separata Redshift-slutpunkter, begränsa replikeringen av privata eller konfidentiella datauppsättningar och öka prestanda för arbetsbelastningar genom att endast replikera nödvändiga datauppsättningar.

För att lära dig mer om Aurora zero-ETL integration med Amazon Redshift, se Arbetar med Aurora zero-ETL-integrationer med Amazon Redshift och Arbeta med noll-ETL-integrationer.


Om författarna

Jyoti Aggarwal är produktledningsansvarig för AWS zero-ETL. Hon leder produkt- och affärsstrategin, inklusive att driva initiativ kring prestanda, kundupplevelse och säkerhet. Hon tar med sig en expertis inom molnberäkning, datapipelines, analys, artificiell intelligens (AI) och datatjänster inklusive databaser, datalager och datasjöar.


Sean Beath
är en Analytics Solutions Architect på Amazon Web Services. Han har erfarenhet av hela leveranslivscykeln för modernisering av dataplattformar med hjälp av AWS-tjänster och arbetar med kunder för att hjälpa till att driva analysvärde på AWS.

Gokul Soundararajan är huvudingenjör vid AWS och fick en doktorsexamen från University of Toronto och har arbetat inom områdena lagring, databaser och analys.

plats_img

Senaste intelligens

plats_img