Gegevens synchroniseren tussen Dataverse-omgevingen met behulp van Power Platform

Deze referentiearchitectuur laat zien hoe u hoofdgegevens synchroniseert tussen twee Dataverse-omgevingen met behulp van Power Automate en gegevensstromen in Power Platform. Het demonstreert een een-op-een-synchronisatiepatroon waarbij de ene omgeving fungeert als de gezaghebbende bron en een andere omgeving gegevens ontvangt.

Tip

Dit artikel bevat een voorbeeldscenario en een gegeneraliseerde voorbeeldarchitectuur om te laten zien hoe u hoofdgegevens in één Dataverse-omgeving onderhoudt en synchroniseert met een andere. Het architectuurvoorbeeld kan worden aangepast voor veel verschillende scenario's en branches.

Architectuurschema

Diagram van de synchronisatie van hoofdgegevens van een primaire naar een secundaire Dataverse-omgeving met behulp van Power Automate cloudstromen en Power Platform-gegevensstromen.

Werkproces

In de volgende stappen wordt de werkstroom beschreven die wordt weergegeven in het voorbeeldarchitectuurdiagram:

  1. Event-gestuurde synchronisatie via Power Automate

    • CRUD-bewerkingen (maken, lezen, bijwerken, verwijderen) in de primaire Dataverse-omgeving activeren Power Automate flows.

    • Gebeurtenisgestuurde synchronisatie maakt gebruik van een stroomketen in twee stappen:

      1. Een cloudstroom verzendt een HTTP POST naar een gepubliceerd eindpunt.
      2. Een cloudflow voor abonnees wordt geactiveerd door de webhook, verwerkt de payload en past de update bijna in realtime toe in de secundaire Dataverse-omgeving.
    • Eindpunten worden geparameteriseerd voor ALM (Application Lifecycle Management) en beveiligingsgroepen beheren de toegang.

  2. Bulksynchronisatie via gegevensstromen

    • De secundaire Dataverse-omgeving bevat de gegevensstromen.

    • Elke gegevensstroom maakt verbinding met de primaire Dataverse-omgeving als gegevensbron.

    • Gegevensstromen worden uitgevoerd volgens een vast schema (bijvoorbeeld 's nachts of nadat een andere gegevensstroom met succes is uitgevoerd) of op aanvraag (bijvoorbeeld voor de eerste opzet).

    • Upserts worden uitgevoerd met behulp van een alternatieve sleutel om duplicaten te voorkomen. Met deze methode worden bestaande gegevens bijgewerkt en worden nieuwe records ingevoegd wanneer er geen overeenkomst bestaat.

    • Statusvelden worden beheerd via een toegewezen kolom 'synchronisatiestatus'. Een Power Automate flow werkt het werkelijke statusveld dienovereenkomstig bij. Deze flow wordt uitgevoerd na de dataflow en is vereist omdat een dataflow geen rijstatussen kan wijzigen of records kan verwijderen die niet aanwezig zijn in de primaire Dataverse-omgeving.

  3. Foutafhandeling en afstemming

    • Nachtgegevensstromen in de secundaire omgeving corrigeren eventuele gemiste of mislukte updates op basis van gebeurtenissen.

    • Handmatige interventie is mogelijk vereist voor problemen met de gegevenskwaliteit (bijvoorbeeld ontbrekende sleutels).

Onderdeel

  • Microsoft Dataverse: ondersteunt de twee omgevingsvereisten.

  • Gegevensstromen voor Power Platform: ideaal voor bulkbewerkingen, zoals initiële gegevenspopulatie en synchronisatie. Gebruik ETL (Bulk Extract, Transform and Load) voor geplande synchronisatie, geconfigureerd in de secundaire omgeving.

  • Power Automate cloudstromen: snelle, recordspecifieke updates bieden en compensatie bieden voor beperkingen van gegevensstromen. Cloudstromen kunnen een gegevensstroom activeren wanneer een andere gegevensstroom is voltooid (bijvoorbeeld wanneer een tabel een opzoekveld naar een andere tabel bevat en die record waarnaar wordt verwezen, moet al bestaan in de secundaire Dataverse-omgeving), een foutbericht verzenden wanneer een gegevensstroom mislukt, recordstatussen bijwerkt en records verwijdert.

  • Beveiligingsgroepen en serviceaccounts: toegangsbeheer en eigendom bieden.

Details van het scenario

Deze architectuur is ontworpen voor een een-op-een-relatie: één MDM-omgeving (Master Data Management) die is gekoppeld aan een andere omgeving. Scenario's waarbij één hoofdomgeving moet worden gesynchroniseerd met meerdere andere omgevingen, is een meer schaalbare of gedistribueerde oplossing vereist.

Bedrijfsprobleem

Met deze oplossing wordt de uitdaging opgelost van het synchroniseren van meerdere tabellen tussen twee afzonderlijke Dataverse-omgevingen. De primaire omgeving fungeert als gezaghebbende bron, terwijl de secundaire omgeving bestaande tabellen bevat die u moet vullen en bijwerken met hoofdgegevens.

Het gebruik van virtuele tabellen is niet haalbaar wanneer de tabellen van het secundaire systeem al bestaan en beveiliging op rijniveau vereisen.

Voorbeeld van een toepassing

Een vrijetijds- en gastvrijheidsorganisatie beheert de belangrijkste hoofdgegevens, zoals hotels en kamerinventarisaties, in een toegewezen Dataverse-omgeving. De primaire omgeving bevat een modelgestuurde app die het hoofdgegevensbeheerteam uitsluitend gebruikt om nauwkeurige en up-tooperationele informatie te onderhouden.

Een afzonderlijke afdeling binnen dezelfde organisatie is verantwoordelijk voor verschillende financiële en afstemmingsprocessen. Om deze processen te stroomlijnen, wil de afdeling een eigen modelgestuurde app bouwen in een geïsoleerde Dataverse-omgeving. De toepassing vereist echter nog steeds toegang tot basishoofdgegevens, zoals hotel- en kamergegevens.

Het team heeft virtuele tabellen geweigerd omdat het financiële team records moest verrijken met afdelingsspecifieke kenmerken die onder strikte beveiliging op rijniveau vallen.

Het insluiten van de financiële app in de primaire MDM-omgeving is ook geen optie. Het toestaan van financiële makers of beheerders in de MDM-omgeving maakt connectors, oplossingen, API-machtigingen en gevoelige gegevens beschikbaar die beperkt moeten blijven tot het MDM-ontwikkelteam.

Deze vereisten hebben ertoe geleid dat de organisatie de synchronisatiearchitectuur in gebruik neemt die in dit artikel wordt beschreven.

Waarde gemaakt

Deze architectuur biedt een robuuste, onderhoudbare oplossing voor het synchroniseren van hoofdgegevens tussen twee Dataverse-omgevingen wanneer virtuele tabellen geen optie zijn. Het rechtstreeks vullen en bijwerken van bestaande tabellen in de secundaire omgeving zorgt voor gegevensconsistentie en operationele betrouwbaarheid.

De benadering maakt alleen gebruik van Power Platform-onderdelen, zoals gegevensstromen en Power Automate, wat resulteert in een oplossing die eenvoudig te implementeren, eenvoudig te beheren is en onnodige complexiteit voorkomt.

Omdat de architectuur is afgestemd op een een-op-een-omgevingsrelatie, wordt overhead geminimaliseerd en wordt transparantie gemaximaliseerd. Het is ideaal voor organisaties die eenvoudige, betrouwbare hoofdgegevenssynchronisatie nodig hebben zonder grootschalige beheer van meerdere omgevingen.

Considerations

Deze overwegingen implementeren de pijlers van Power Platform Well-Architected, een set richtlijnen die de kwaliteit van een workload verbeteren. Meer informatie vindt u in Microsoft Power Platform Well-Architected.

Reliability

  • Nachtgegevensstromen zorgen voor consistentie.

  • Gebeurtenisgestuurde stromen leveren snelle updates.

  • Handmatige bewaking detecteert problemen met de kwaliteit van gegevens.

Security

  • Serviceaccounts en beveiligingsgroepen voor toegangsbeheer. Wanneer u gegevensstromen gebruikt, kunt u geen service-principals toewijzen als eigenaren.

  • Geparameteriseerde HTTP-eindpunten voor ALM-compatibiliteit.

  • Gegevensstromen in geïsoleerde oplossingen om onnodig handmatig werk te voorkomen. Er is een specifieke reden voor het isoleren van gegevensstromen in een toegewezen oplossing: na elke implementatie moet u de gegevensstroomverbinding handmatig opnieuw tot stand brengen. Door gegevensstromen in een afzonderlijke oplossing te plaatsen die u alleen implementeert wanneer u de gegevensstromen wijzigt, voorkomt u onnodig handmatig werk bij het implementeren van andere onderdelen van de hoofdoplossing.

Operationele uitmuntendheid

  • Geautomatiseerde planning en indeling van gegevensstromen.

  • Bewaking en waarschuwingen voor mislukte synchronisaties.

Prestatie-efficiëntie

  • Gegevensstromen die zijn geoptimaliseerd voor bulkbewerkingen.

  • Gebeurtenisgestuurde Power Automate-flows verminderen de latentie voor kritieke updates op recordniveau. Bij het ontwerpen van gebeurtenisgestuurde stromen moet u ervoor zorgen dat het actievolume en de gelijktijdigheid binnen Power Automate servicelimieten blijven. CRUD-activiteit met een hoge frequentie kan drosseling activeren, met name in scenario's waarin flows tienduizenden acties per dag uitvoeren. Voor bedrijfskritieke of hoge doorvoerintegraties past u de juiste Power Automate-licentie toe om de doorvoerlimieten te verhogen en onverwachte vertraging te vermijden. Deze aanpak vermindert escalatierisico's en zorgt voor voorspelbare prestaties.

Optimalisatie van ervaring

  • Vereist minimale handmatige interventie.

  • Hiermee worden bulk- en gebeurtenisgestuurde synchronisaties duidelijk gescheiden.

Bijdragers

Microsoft onderhoudt dit artikel. De volgende inzenders hebben dit artikel geschreven.

Hoofdauteurs: