Automatiseret - Dataintegritet
Få mere at vide om veludformet enkelt → automatiseret → dataintegritet → datahåndtering
| Hvor skal du se? Produktområde | Placering | Hvordan ser godt ud? Mønster |
|---|---|
| Data 360 | Dataordbog | ✅ Der findes data på feltniveau og prioriteringslogik for alle datakilder og data lake-objekter |
| Data 360 | Organisation | ✅ Sammensatte nøgler bruges til at konstruere en entydig primær nøgle, hvis der ikke findes en. Brug et formelfelt til at forbinde flere felter fra dit datasæt, når der ikke er et enkelt felt i datasættet, der er entydigt |
| Data 360 | Organisation | ✅ Datastreams, der bruger CRM-forbindelsen, udnytter den to-ugentlige fulde opdatering Når du bruger CRM-forbindelsen til trinvise indlæsninger, startes der en fuld opdatering hver anden uge. Selvom dette kan øge dataoverførslen, beskytter det dataintegritet for metadata (som formelfelter), som ikke udløser en DML-transaktion og som resultat ikke er inkluderet i trinvise indlæsninger |
| Data 360 | Organisation | ✅ Enkeltperson-id bruges til at tilknytte Data 360-data til andre systemer Tilknyt enkeltpersoner i Data 360 til andre systemer ved brug af Enkeltperson-id'et. Marketing Cloud-engagementabonnentnøglen skal f.eks. knyttes til Enkeltperson-id'et fra Data 360 |
| Data 360 | Organisation | ✅ Fuldt kvalificerede nøgler bruges til nøjagtigt at fortolke data Alle DLO'er, der indeholder en nøgleværdi, har et nøglekvalificeringsfelt, og Fuldt kvalificerede nøgler er aktiveret i organisationen for at sikre, at der undgås konflikter, der kan forekomme, når flere datastreams harmoniseres i et enkelt DMO (datamodelobjekt) |
| Data 360 | Organisation | ✅ Normaliserede matchmetoder bruges i matchregler, når de er tilgængelige Eksakt normaliseret match transformerer kildedata for at løse almindelige matchningsproblemer som efterstillede mellemrum, inkonsekvent formatering og specialtegn. Anvend denne metode på felter, hvor den er tilgængelig i stedet for at bruge fuzzy-matchning, medmindre du har konfigureret flere regelsæt til test og bekræftet, at konsolideringsfrekvensen ikke opfylder forretningsbehov |
| Einstein | Dokumentation | ✅ Dataanvendelighed dokumenteres som en del af AI-projektdesign Dit firmas definition af dataanvendelighed er dokumenteret og operationaliseret for at forbedre AI-svar |
| Platform | Apex | ✅ Future Apex bruges sparsomt til udkald eller systemobjekt-DML |
| Platform | Apex | ✅ Async Apex bruger DML, der kan sættes i kø til kompleks "kæde" på tværs af transaktioner |
| Platform | Apex | ✅ Batch Apex bruges udelukkende til store datamængder Batch Apex er bedst til behandling af store datamængder. Asynkron Apex har højere grænser end synkron Apex, så der kan gøres mere arbejde. Undgå meget små batchstørrelser, hvor det er muligt, for at undgå konsekvenser af forløbskontrol (køfløb), overhead og udtømning af den daglige Asynkrone Apex grænse |
| Platform | Apex | ✅ Alle synkrone DML-erklæringer eller Database-klassemetoder udføres i før udløserkørselskontekster |
| Platform | Apex | ✅ Bulk API bruges kun, når store mængder af data skal behandles Bulk API bruges, når store mængder af data skal behandles. Indbyggede SOAP- og REST-API'er bruges til mindre databehandling |
| Platform | Dataordbog | ✅ Felttilknytning fra data lake-objekt til datamodelobjekt findes |
| Platform | Forløb | ✅ Alle forløb, der startes i brugerkontekst, abstraherer alle systemkonteksttransaktioner til underforløb, som placeres ensartet efter et pauseelement for at oprette en ny transaktion |
| Platform | Forløb | ✅ Alle registreringsudløste forløb har udløserrækkefølgeværdier udfyldt |
| Platform | Forløb | ✅ Forløb, der involverer eksterne systemudkald eller længe kørende processer, bruger asynkrone stier |
| Platform | Forløb | ✅ Komplekse sekvenser af relaterede datahandlinger oprettes med Orkestrator (i stedet for at kalde flere underforløb i et monolitisk forløb) |
| Platform | Organisation | ✅ Afstemningsregler for Id-løsning følger prioriteringslogikken i din ordbog |
Få mere at vide om veludformet enkelt → automatiseret → dataintegritet → fejlhåndtering
| Hvor skal du se? Produktområde | Placering | Hvordan ser godt ud? Mønster |
|---|---|
| Einstein | Organisation | ✅ Meddelelser angiver det forventede output Inkluder direkte instruktioner for LLM for kun at generere den forventede type indhold. |
| Platform | Apex | ✅ Tilpassede undtagelser bruges til at oprette avancerede fejlmeddelelser og logik |
| Platform | Apex | ✅ Kode omslutter alle DML, SOQL, udkald og andre vigtige procestrin i try-catch blokke |
| Platform | Apex | ✅ Database-klassemetoder kan bruges udelukkende til alle datahandlinger (i stedet for DML) |
| Platform | Apex | ✅ I asynkrone og massekontekster bruges Database-klassemetoder i stedet for DML |
| Platform | Aura | ✅ JavaScript omslutter alle datahandlinger og vigtige procestrin i try-catch blokke |
| Platform | Aura | ✅ Inden for try-catch bruges indbygget JavaScript Error i udtalelser (ingen brug af $A.error()) |
| Platform | Aura | ✅ Alle gendannelige fejllogik vises i catch erklæringer, og giver tydelige brugermeddelelser |
| Platform | Forløb | ✅ Forløb med datahandlinger, udkald og anden vigtig behandlingslogik har fejlstier for alle nøglehandlinger |
| Platform | Forløb | ✅ Skærmforløb bruger ensartede fejlforbindelser til at vise fejl for brugere |
| Platform | Forløb | ✅ Tilpassede fejlmeddelelser konfigureres for fejl, der vises på skærmen |
| Platform | Lightning Web Components (LWC) | ✅ JavaScript omslutter alle datahandlinger og vigtige procestrin i if ()/else if () blokke |
| Platform | Lightning Web Components (LWC) | ✅ Alle @wire funktioner bruger data og error egenskaber, der leveres af API |
| Platform | Lightning Web Components (LWC) | ✅ Alle if (error)/else if (error) erklæringer indeholder logik til at behandle fejl og give informative beskeder |
Få mere at vide om veludformet enkelt → automatiseret → dataintegritet → datahåndtering
| Hvor skal du se? Produktområde | Placering | Hvad skal undgås? Anti-mønster |
|---|---|
| Data 360 | Organisation | ⚡️ Felter med understøttede normaliserede matchmetoder bruger fuzzy-matchning Fuzzy-match anvendes på felter, der tilbyder nøjagtige normaliserede matchmetoder |
| Data 360 | Organisation | ⚡️ Forenet person-id antages at være uforanderligt Det forenede person-id bruges som et overordnet id eller et globalt id, der skal bruges af resten af organisationen |
| Data 360 | Organisation | ⚡️ Begivenhedsdato tilknyttes til en variabel DateTime-værdi Begivenhedsdato tilknyttes til et variabel DateTime-felt, f.eks. LastUpdated eller LastExtracted |
| Data 360 | Organisation | ⚡️ Primær nøgle tilknyttes til et felt, der ikke er entydigt Vælg et felt som en primær nøgle for din datastream, hvis der ikke findes en i dit datasæt uden først at validere, at det valgte felt er entydigt |
| Data 360 | Organisation | ⚡️ Indlæsning af data i batches og derefter forsøge på at aktivere dem i realtid. En almindelig, men defekt tilgang kan f.eks. involvere indlæsning af data pr. time fra en Amazon S3-inddeling og derefter aktivering gennem datahandlinger |
| Platform | Apex | DML-erklæringer vises regelmæssigt i kode, der vil blive kaldt i efter udløserkontekster |
| Platform | Apex | Batchjob Apex har en meget lille omfangsstørrelse Meget små batchstørrelser (f.eks. omfangsstørrelse = 1) anvendes |
| Platform | Apex | Batch Apex bruges til eksterne udkald Store mængder af Salesforce-data overføres fra Salesforce til et eksternt system ved brug af batch Apex |
| Platform | Apex | ⚡️ Udgiv øjeblikkeligt platformsbegivenheder bruges ad hoc Udgiv øjeblikkeligt (i realtid) begivenheder bruges i stedet for Udgiv efter bekræftelse (ikke i realtid), uanset krav til udgivelsesbestilling eller registreringslåsningsrisici. |
| Platform | Apex | ⚡️ Asynkrone Apex bruges vilkårligt Fremtidige metoder og Apex, der kan sættes i kø, bruges inkonsekvent eller udskifteligt |
| Platform | Apex | ⚡️ Async Apex funktioner bruges vilkårligt; det er ikke klart udviklere ved, hvornår de skal bruge future vs købare Apex, hvornår at aflevere DML til batchjob |
| Platform | Apex | Async Apex bruges sjældent |
| Platform | Apex | ⚡️ Asynkrone Apex bruges vilkårligt Databasehandlinger har ikke tydelig, ensartet logik til overførsel af kørsel til Apex, når der er behov for det |
| Platform | Dataordbog | ⚡️ Felttilknytning fra data lake-objekter til datamodelobjekter er ikke inkluderet |
| Platform | Dataordbog | Data på feltniveau og prioriteringslogik for datakilder og data lake-objekter er ikke inkluderet |
| Platform | Forløb | Udførelse af DML ved brug af en samling, der er et output fra en skærmkomponent Udnyttelse af indstillingen "Brug id'er og alle feltværdier fra en registrerings- eller registreringssamling" på et oprette-, opdatere- eller sletteelement, når denne samling er et output fra en skærmkomponent |
| Platform | Forløb | ⚡️ Registreringsudløste forløb bruger slet ikke udløserrækkefølgeattributter eller bruger ikke udløserrækkefølgeværdier ensartet |
| Platform | Forløb | ⚡️ Asynkrone stier bruges ikke ensartet eller slet ikke |
| Platform | Forløb | ⚡️ Store, monolitiske forløb forsøger at koordinere komplekse sekvenser af relaterede datahandlinger (med eller uden underforløb) |
| Platform | Organisation | ⚡️ Afstemningsregler for Id-løsning følger ikke prioriteringslogik i datarådbogen |
Få mere at vide om veludformet enkelt → automatiseret → dataintegritet → fejlhåndtering
| Hvor skal du se? Produktområde | Placering | Hvad skal undgås? Anti-mønster |
|---|---|
| Platform | Apex | DML, SOQL, udkald eller andre vigtige procestrin pakkes ikke ensartet i prøve-registreringsblokke |
| Platform | Apex | ⚡️ Der bruges ingen databaseklassemetoder |
| Platform | Apex | ⚡️ Datahandlinger udføres udelukkende med DML |
| Platform | Apex | System.debug vises i produktionskode (og kommenteres ikke) |
| Platform | Aura | JavaScript omfatter ikke konsekvent datahandlinger og vigtige procestrin i try-catch |
| Platform | Aura | ⚡️ Komponenter bruger $A.error() |
| Platform | Aura | Fejllogik, der kan gendannes, vises ikke konsekvent i catch, og fejlmeddelelser til brugere er ikke tydelige |
| Platform | Forløb | ⚡️ Forløb bruger ikke fejlstier ensartet eller slet ikke |
| Platform | Forløb | ⚡️ Tilpassede fejlmeddelelser bruges ikke, så brugere ser standardmeddelelsen "Der er forekommet en ikke-håndteret fejl i dette forløb" |
| Platform | Lightning Web Components (LWC) | @wire bruger ikke data og error egenskaber, der leveres af API (eller bruger dem ikke ensartet) |
| Platform | Lightning Web Components (LWC) | Hvis det overhovedet bruges, indeholder if (error)/else if (error)-erklæringer faktisk ikke logik til at behandle fejl og give nyttige fejlmeddelelser |
| Platform | Lightning Web Components (LWC) | JavaScript bruger ikke konsekvent if ()/else if () blokke med datahandlinger eller kritiske procestrin |