Du kommer att lära dig

Den här guiden går igenom två rekommenderade Snowflake-optimeringar för Klaviyo händelsetabell. Dessa ändringar är avsedda att minska omfattande tabellskanningar och hjälpa Snowflake att fokusera på relevanta händelseposter och tidsintervall under synkronisering.

  • Aktivera sökoptimering för equality lookups på id. Detta kräver Snowflake Enterprise Edition eller högre.
  • Klustra händelsetabellen efter händelsedatum. Det här fungerar i alla Snowflake-utgåvor och bör göras oavsett om du även kan slutföra steget för sökoptimering.

Innan du börjar

Bekräfta följande med ditt team för dataplattformen:

  • Oavsett om ditt Snowflake-konto använder Enterprise Edition eller högre, om du planerar att slutföra steg 3 (sökoptimering). Klustering i steg 4 fungerar i alla Snowflake-utgåvor och bör göras oavsett.
  • Du har behörighet att ändra händelsetabellen och aktivera optimeringsfunktioner på tabellnivå.
  • Du känner till det fullständiga namnet för Klaviyo händelsetabell i din miljö.
  • Händelsetabellen innehåller en id-kolumn och kolumnen för händelsetidsstämpel heter DATETIME eller har ett motsvarande namn.
  • Du har ett planerat testfönster, särskilt om en historisk synkronisering körs just nu.

Tabellnamnen i den här guiden är exempel. Ersätt <EVENTS_TABLE> med det exakta databas-, schema- och tabellnamnet i ditt Konto.

Steg 1: identifiera och validera händelsetabellen

  1. Öppna ett Snowflake-kalkylblad med en roll som har de behörigheter som krävs.
  2. Bekräfta den exakta tabellidentifieraren som används av din Klaviyo-integration.
  3. Verifiera att tabellen innehåller de förväntade uppslags- och tidsstämpelkolumnerna.

Till exempel:

text
DESCRIBE TABLE <EVENTS_TABLE>;

Bekräfta att:

  • id är händelseidentifieraren som används för uppslag av likhet.
  • DATETIME är händelsens tidsstämpel, eller identifiera den motsvarande tidsstämpelkolumnen som ska användas i klustringsuttrycket.

Steg 2: Fastställ en baslinje (valfritt)

Innan du tillämpar ändringarna ska du dokumentera tillräckligt med information för att kunna jämföra resultaten efteråt:

  • Aktuell synkroniseringsstatus och varaktighet.
  • Om synkroniseringen är historisk eller inkrementell.
  • Snowflake-data warehouse som används av integrationen.
  • Ungefärliga krediter eller beräkning som använts av nylig synkaktivitet.
  • Alla relevanta fråge-ID:n, felmeddelanden eller tidsstämplar från Snowflake Query History.

Om en historisk synkronisering körs under ovanligt lång tid ska du samordna med Klaviyo innan du pausar eller startar om den.

Steg 3: aktivera sökoptimering för händelse-ID:t (valfritt)

Sökoptimering kräver Snowflake Enterprise Edition eller senare. Om ditt Konto är på Standard Edition hoppar du över det här steget och går till steg 4 – klustring har inget editionskrav och bör göras oavsett.

Kör följande sats efter att du har ersatt platshållaren med ditt faktiska tabellnamn:

text
ALTER TABLE <EVENTS_TABLE>
ADD SEARCH OPTIMIZATION ON EQUALITY(id);

Till exempel, om tabellen heter klaviyo_events:

text
ALTER TABLE klaviyo_events
ADD SEARCH OPTIMIZATION ON EQUALITY(id);

Detta skapar en optimerad åtkomstsökväg för likhetspredikat på id, vilket är avsett att minska mängden i händelsetabellen som Snowflake måste skanna för riktade uppslagningar.

Om sökoptimering redan är aktiverat för id ska du inte skapa en dubblettkonfiguration. Bekräfta den befintliga konfigurationen med din Snowflake-administratör i stället.

Steg 4: Lägg till datum-baserad klustring i händelsetabellen

Tillämpa en klustringsnyckel baserad på datumsdelen av händelsetidsstämpeln:

text
ALTER TABLE <EVENTS_TABLE>
CLUSTER BY (TO_DATE(DATETIME));

Till exempel:

text
ALTER TABLE KLAVIYO_EVENT
CLUSTER BY (TO_DATE(DATETIME));

Använd tidsstämpelkolumnen som bekräftades i steg 1. Om din kolumn har ett annat namn ersätter du den kolumnen i uttrycket.

Datumklustring är avsedd att hjälpa Snowflake att gallra bort orelaterade tidsintervall i stället för att skanna hela händelsetabellen.

Steg 5: låt Snowflake-underhållet slutföras

När båda satserna lyckas:

  1. Ge Snowflake tid att bygga upp eller underhålla sök- och klustringsstrukturerna.
  2. Undvik att bedöma resultatet från den första frågan direkt efter DDL-satserna.
  3. Fortsätt att övervaka lageranvändning och frågeprestanda medan tabellen underhålls.

Hur lång tid som krävs beror på tabellstorleken, den befintliga datalayouten och Snowflakes arbetsbelastning.

Steg 6: Meddela Klaviyo

Skicka följande uppgifter till Klaviyo:

  • Det fullständigt kvalificerade tabellnamnet för events.
  • Tidsstämpeln när varje statement tillämpades.
  • Bekräftelse på att sökoptimering aktiverades för id.
  • Bekräftelse på att datumklustring har tillämpats.
  • Snowflake-kontot/regionen och lagret som används för synkroniseringen.
  • Eventuellt relevant synk-ID, fråge-ID eller feluppgifter.

Klaviyo kommer att verifiera om någon konfiguration på exportsidan krävs för att dra full nytta av optimeringen av händelsetabellen.

Steg 7: kör en kontrollerad valideringssynkronisering (valfritt)

Om möjligt, validera med en inkrementell eller på annat sätt begränsad synk innan du startar om en stor historisk backfill.

Jämför den nya körningen med baslinjen från steg 2:

  • Dags att börja bearbeta.
  • Total synkroniseringstid.
  • Förloppsbeteende i Klaviyo-gränssnittet.
  • Snowflake-byte som skannats.
  • Lagerkrediter förbrukade.
  • Om synkroniseringen slutförs utan nya försök eller upprepat arbete.

Den starkaste signalen är en förbättring i både synkroniseringstid och Snowflake-beräkning, snarare än ett enskilt mättal isolerat.

Steg 8: övervaka de kommande synkroniseringarna

Spåra flera efterföljande synkroniseringar i stället för att förlita dig på en enda körning. Leta efter:

  • Stabil eller minskande beräkning när händelsetabellen växer.
  • Färre breda genomsökningar av historiska data.
  • Mer förutsägbar synkroniseringsvaraktighet.
  • Ingen ökning av misslyckade eller upprepade frågor.

Dela resultaten med Klaviyo, inklusive fråge-ID:n före och efter när det är möjligt.

Felsökning

Utsagan för sökoptimering misslyckas

Kontrollera att:

  • Snowflake-Kontot stöder funktionen.
  • Den exekverande rollen har behörighet att ändra tabellen.
  • Tabellnamnet och ID-kolumnen är korrekta.
  • Search Optimization är inte redan konfigurerat för den begärda kolumnen.

Klustringsuttrycket misslyckas

Kontrollera att:

  • Tabellnamnet är korrekt.
  • Tidsstämpelkolumnen finns och är en kompatibel tidsstämpel- eller datumtyp.
  • Den exekverande rollen kan ändra tabellen.
  • Klustringsuttrycket matchar det faktiska fältet för händelsetidsstämpel.

Synkningen är fortfarande långsam eller verkar ha fastnat

Skicka Klaviyo:

  • De exakta tabelldefinitionerna och de statements som användes.
  • Tiden då varje ändring tillämpades.
  • Synkroniseringens starttid och aktuell status.
  • Snowflake-fråge-ID:n och warehouse-användning.
  • Alla tecken på att statusen i användargränssnittet inte går framåt.

Ta inte bort optimeringarna enbart för att den första synkningen inte blir bättre. Bekräfta först att Snowflake har slutfört relevant underhåll och att Klaviyo har verifierat sin konfiguration på exportsidan.

Checklista för slutförande

  • Korrekt händelsetabell identifierad.
  • Kolumnerna id och händelsetidsstämpel bekräftade.
  • Grundläggande synk- och beräkningsmättal registrerade (valfritt).
  • Search Optimization aktiverat för likhetsuppslag på id (valfritt).
  • Händelsetabell klustrad efter händelsedatum.
  • Klaviyo har informerats om ändringarna.
  • Kontrollerad valideringssynk har slutförts.
  • Följ upp synkprestanda och granskat beräkningsresultat (valfritt).
Var den här artikeln till hjälp?
Använd endast detta formulär för feedback på artiklar. Lär dig hur du kontaktar support.

Utforska mer från Klaviyo

Community
Få kontakt med kollegor, partner och Klaviyo-experter för att hitta inspiration, dela insikter och få svar på alla dina frågor.
Partners
Anlita en Klaviyo-certifierad expert för att hjälpa dig med en specifik uppgift eller för löpande marknadsföringshantering.
Support

Få tillgång till support via ditt konto.

E-postsupport (gratis provperiod och betalkonton) Tillgänglig dygnet runt, alla dagar i veckan

Chatt/virtuell hjälp
Tillgängligheten varierar beroende på plats och abonnemangstyp