M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Czyste importy danych: moc kluczy alternatywnych w Dataverse

By ·

Witamy ponownie w podcaście i na towarzyszącym mu blogu! Jeśli kiedykolwiek patrzyłeś na środowisko Power Platform, które dusi się od tysięcy zduplikowanych rekordów, brakujących odwołań do rekordów nadrzędnych i irytujących błędów wyszukiwania tuż po rutynowej migracji danych, z pewnością nie jesteś sam. Zbyt wiele wdrożeń w dużych organizacjach zaczyna się od podejścia rodem z arkusza kalkulacyj

Automatically translated with AI from the original post. Read the English original

▶ BLOGClean Data Imports: ThePower of Alternate Keys…M365.FM
Titelbild: Clean Data Imports: The Power of Alternate Keys in Dataverse

Witamy ponownie w podcaście i na towarzyszącym mu blogu! Jeśli kiedykolwiek patrzyłeś na środowisko Power Platform, które dusi się od tysięcy zduplikowanych rekordów, brakujących odwołań do rekordów nadrzędnych i irytujących błędów wyszukiwania tuż po rutynowej migracji danych, z pewnością nie jesteś sam. Zbyt wiele wdrożeń w dużych organizacjach zaczyna się od podejścia rodem z arkusza kalkulacyjnego — traktowania Microsoft Dataverse jak wyposażonej tabeli bazy danych, w której wszystko jest dozwolone — by po chwili patrzeć, jak cała architektura się rozpada, gdy dane produkcyjne zaczynają rosnąć.

W tym wpisie rozwijamy wszystko, o czym rozmawialiśmy, i pokazujemy drogę od kruchego prototypu typu „u mnie w formularzu działa” do solidnej architektury klasy enterprise, która sprawnie działa nawet przy 100 tys. rekordów i więcej. Zagłębmy się w to, jak wykorzystać unikalne klucze alternatywne, inteligentne strategie upsert oraz logikę biznesową na pierwszym miejscu, by utrzymać środowisko Dataverse w nienagannym stanie.

Dlaczego proste rozwiązania się załamują

Przy tworzeniu nowej aplikacji biznesowej pokusa, by działać szybko i „łamać rzeczy”, jest zawsze silna. Niestety łamanie rzeczy często oznacza łamanie integralności danych. Podejście rodem z arkusza kalkulacyjnego prowadzi wprost do doraźnych pól, niezarządzanych formuł w aplikacjach canvas i rozproszonych przepływów Power Automate, które tworzą ukryte powiązania w całym systemie. Gdy logika biznesowa znajduje się poza głównym modelem danych, nieuchronnie napotykasz niespójne wyzwalacze i zagmatwane przypadki brzegowe, w których działania użytkowników całkowicie omijają reguły walidacji.

Co więcej, bez właściwego śledzenia pochodzenia danych pulpity z czasem przestaną odzwierciedlać rzeczywistość. Wskaźniki tracą wiarygodność, ponieważ nikt nie wie, który system źródłowy lub zautomatyzowany przepływ ostatnio zmodyfikował kluczową wartość. Najgorsze jest jednak to, że importy danych oparte wyłącznie na identyfikatorach GUID generowanych przez system, a nie na znaczących identyfikatorach biznesowych, to bomby z opóźnionym zapłonem. Bez naturalnych kluczy każde załadowanie danych grozi powstaniem duplikatów, osieroconych rekordów i zepsutych odwołań, które wymagają żmudnego ręcznego czyszczenia.

Architektura w skrócie

Budowa skalowalnych rozwiązań wymaga zdyscyplinowanych ram. Traktuj swoją architekturę jak potok składający się z pięciu odrębnych warstw:

  1. Model: Znormalizuj główne encje i zaplanuj jasne tabele relacji 1:N, N:N oraz hierarchii, zanim napiszesz choćby jedną linijkę kodu.
  2. Logika: Preferuj wykonywanie po stronie serwera — na przykład reguły biznesowe, synchroniczne wtyczki i przepływy działające w czasie rzeczywistym — w przypadku niezmiennych reguł, które nigdy nie mogą zostać pominięte. Przepływy w chmurze zostaw do orkiestracji i powiadomień.
  3. Automatyzacja: Wykorzystuj pola obliczeniowe i pola zagregowane tam, gdzie relacje są silne, dbając o to, by nigdy niepotrzebnie nie duplikować prawdziwego źródła danych.
  4. Integracja: Zawsze używaj kluczy alternatywnych (znaczących identyfikatorów biznesowych), aby bezpiecznie wykonywać upsert i wymuszać ścisłą unikalność na granicach systemów zewnętrznych.
  5. Obserwowalność: Rejestruj trafienia reguł, decyzje przepływów i odświeżenia pól zagregowanych. Twórz dedykowane pulpity użycia i poziomu SLA, aby proaktywnie monitorować kondycję systemu.

Wzorce projektowe relacji (gotowe do wykorzystania)

Prawidłowe zaprojektowanie modelu danych oznacza wybór właściwych wzorców relacji od pierwszego dnia. Oto sprawdzone w boju wzorce, które warto wdrożyć:

Zabezpieczenia: Zawsze unikaj cyklicznych zależności w obliczeniach pól zagregowanych. Utrzymuj wyszukiwania jednoznaczne, tak aby zawsze reprezentowały jedno jasne znaczenie biznesowe, i wymuszaj wymagane relacje wtedy, gdy reguły biznesowe nakazują, że rekord podrzędny nie może istnieć bez swojego rekordu nadrzędnego.

Logika biznesowa na pierwszym miejscu (tam, gdzie jej miejsce)

Miejsce, w którym umieścisz logikę biznesową, decyduje o tym, jak łatwo będzie utrzymywać aplikację. Jeśli musisz blokować nieprawidłowe dane przed zapisaniem w systemie, polegaj na synchronicznej logice po stronie serwera, na przykład na niestandardowych wtyczkach lub przepływach w czasie rzeczywistym. Jeśli proces może bezpiecznie wykonać się po zdarzeniu zapisu, przenieś go do asynchronicznej logiki po stronie serwera. Usługi Power Automate zarezerwuj wyłącznie do komunikacji między aplikacjami, powiadomień dla użytkowników i złożonych integracji zewnętrznych.

Unikaj częstego antywzorca, jakim jest powielanie tej samej reguły walidacji w czterech różnych aplikacjach canvas i trzech przepływach w chmurze. Zamiast tego prowadź scentralizowany katalog reguł, który dokumentuje każdą tabelę, warunek wyzwalacza, akcję i właściciela biznesowego.

Pola obliczeniowe i zbiorcze, którym można ufać

Pola obliczeniowe i zbiorcze są potężnym narzędziem do utrzymania czystego modelu danych, ale wymagają ostrożnego podejścia. Zawsze opieraj formuły na stabilnych relacjach, a nie na opcjonalnych powiązaniach, które mogą pozostać puste. Do podsumowywania rekordów podrzędnych preferuj natywne pola zbiorcze zamiast niestandardowych przepływów, a jeśli pracujesz z dużymi wolumenami danych, zaplanuj zadania ponownego obliczania poza godzinami szczytu.

Aby użytkownicy i administratorzy mogli ufać tym wartościom, zawsze dodawaj pola „Last Recalculated On” i „Rollup Status” do swoich rekordów głównych. Ten prosty dodatek eliminuje niejasności i daje zespołowi wsparcia natychmiastowy wgląd w aktualność danych.

Klucze alternatywne: czyste importy

To fundament solidnej integracji danych. Przy importowaniu danych z systemów legacy, systemów ERP lub zewnętrznych interfejsów API potrzebujesz niezawodnych identyfikatorów biznesowych, takich jak VendorCode, EmployeeID, SKU, ExternalCaseId czy Email, a nie wewnętrznych identyfikatorów GUID, które zmieniają się między środowiskami.

Tworząc unikatowe klucze alternatywne w tych kolumnach i wcześniej weryfikując jakość danych, odblokujesz prawdziwą moc interfejsu API Dataverse: operację Upsert. Upsert sprawdza klucz alternatywny; jeśli rekord istnieje, zostaje zaktualizowany, a jeśli nie, zostaje utworzony nowy. Dzięki temu całkowicie eliminujesz duplikaty rekordów podczas importów. W scenariuszach złożonych, na przykład przy dopasowywaniu pracownika w różnych spółkach zależnych, możesz zdefiniować klucze złożone z wielu kolumn, na przykład CompanyCode i EmployeeNumber. Zawsze utrzymuj te klucze niezmienne, a jeśli potrzeby biznesowe wymuszą zmianę, wprowadź zastępczy stabilny klucz powiązany z zakresami dat ValidFrom i ValidTo.

Lista kontrolna wydajności (szybkie usprawnienia)

Wraz ze wzrostem adopcji użytkowników wydajność staje się Twoją główną miarą sukcesu. Aby środowisko działało szybko, zastosuj te szybkie usprawnienia:

Zarządzanie i odporność

Aplikacja korporacyjna jest tylko tak dobra, jak jej model zarządzania. Utrzymuj ścisły potok wdrożeń przebiegający od środowiska programistycznego przez testowe do produkcyjnego, z użyciem rozwiązań zarządzanych. Kontroluj wersje artefaktów rozwiązań za pomocą Power Platform CLI (PAC CLI) i wymagaj recenzji koleżeńskich dla wszystkich niestandardowych wtyczek i przepływów w chmurze.

Utwórz scentralizowaną tabelę telemetrii, która będzie rejestrować trafienia reguł, dzienniki wyjątków, opóźnienia zbiorczych obliczeń oraz błędy przepływów. Uzupełnij ją zautomatyzowanymi zabezpieczeniami, takimi jak alerty o konfliktach kluczy alternatywnych i zadania wykrywania osieroconych rekordów, aby dane pozostawały w dobrej kondycji przez długi czas.

Plan wdrożenia w 12 krokach (pilotaż w 1–2 dni)

Jeśli jesteś gotowy, by wdrożyć te zasady w praktyce, postępuj zgodnie z tym szybkim 12-etapowym planem wdrożenia dla swojego następnego projektu pilotażowego:

  1. Naszkicuj diagram relacji encji (ERD), obejmujący encje, klucze, relacje oraz modele własności.
  2. Zidentyfikuj podstawowe identyfikatory biznesowe i utwórz niezbędne klucze alternatywne.
  3. Zbuduj podstawowe tabele i ustanów wymagane relacje, wprowadzając początkowe dane referencyjne.
  4. Dodaj pola obliczeniowe i zbiorcze dla najważniejszych wskaźników KPI.
  5. Wdróż walidacje po stronie serwera dla krytycznych reguł biznesowych, które nie mogą zostać naruszone.
  6. Utwórz widoki oparte na modelu z delegowalnymi filtrami i zindeksuj najczęściej używane predykaty.
  7. Używaj Power Automate wyłącznie do orkiestracji i zadań powiadomień.
  8. Zaimportuj kontrolowany fragment danych, używając operacji upsert opartych na kluczach alternatywnych.
  9. Skonfiguruj tabelę logowania telemetrii i zbuduj prostą stronę monitorowania kondycji.
  10. Przeprowadź test skalowalności, obciążając środowisko 5–10-krotnie większym wolumenem, niż oczekujesz, i odpowiednio dostrój indeksy oraz częstotliwość agregacji.
  11. Spakuj swoją pracę do zarządzanego rozwiązania i przenieś je do środowiska testowego.
  12. Przygotuj obszerny podręcznik operacyjny obejmujący procedury importu, zasady rotacji kluczy oraz kroki odzyskiwania po awarii.

Typowe pułapki (i sposoby ich naprawy)

Nawet przy najlepszych planach zespoły czasem napotykają problemy. Oto sposób na naprawę najczęstszych z nich:

Budowanie złożonych aplikacji biznesowych w Dataverse nie musi być walką pod górę z brudnymi danymi i zerwanymi relacjami. Dzięki solidnemu modelowi danych, kluczom alternatywnym zapewniającym czyste importy oraz scentralizowanej logice biznesowej możesz tworzyć skalowalne rozwiązania, które wytrzymają próbę czasu.

Aby usłyszeć jeszcze więcej eksperckich wskazówek, omówień architektury i szczegółowych analiz budowania solidnych rozwiązań w Microsoft Cloud, koniecznie posłuchaj powiązanego odcinka podcastu: Customize Dataverse for Complex Business Apps. Do zobaczenia w kolejnym odcinku!

Dataverse Power Platform Canvas app Power Automate

Related articles

RSS