Przetłumaczone przez AI. Jeszcze niesprawdzone przez społeczność. Czytaj po angielsku

Blog · 8 września 2023 · Steve Simpson · Architektura danych

Modelowanie danych ze Steve’em: strategie kontroli wersji

Wprowadzenie:

W tym wpisie przyjrzymy się dwóm różnym podejściom do wersjonowania rekordów w modelowaniu danych i podzielimy się spostrzeżeniami i strategiami sprawnego zarządzania wieloma wersjami rekordów i powiązanymi z nimi rekordami podrzędnymi.

Te strategie są niezbędne dla projektantów pracujących nad modelami obiektów, w których kontrola wersji jest kluczowa.

Podejścia do wersjonowania rekordów

Są dwa główne podejścia do wersjonowania rekordów:

  1. Podejście rekordów równorzędnych
  2. Podejście wersji podrzędnych

Przyjrzyjmy się bliżej każdemu z nich, żeby zrozumieć ich implementację, zalety i wady.

Podejście rekordów równorzędnych

W podejściu rekordów równorzędnych każda wersja rekordu jest tworzona jako osobny, równorzędny rekord pod obiektem najwyższego poziomu. Ta metoda jest prosta, a jej przykładem jest to, jak Salesforce implementuje oferty (quotes) pod szansami sprzedaży.

Opcja 1, rekordy równorzędne: każda wersja to osobna oferta (Quote) pod szansą sprzedaży. Zaleta: prosty model. Wady: każda wersja widnieje w widokach list i raportach, rekordy nie są wyraźnie powiązane, a naraz może być aktywna albo roboczych więcej niż jedna

Implementacja:

Każda wersja to osobny rekord pod obiektem najwyższego poziomu.

Jeden z rekordów możesz oznaczyć jako główny, ale wszystkie wersje są widoczne w widokach list, listach powiązanych rekordów i raportach.

Zalety:

Wady:

Bez odpowiedniego egzekwowania może pojawić się kilka rekordów głównych albo w toku.

Podejście wersji podrzędnych

Podejście wersji podrzędnych polega na utworzeniu dwóch poziomów obiektów: obiektu nadrzędnego najwyższego poziomu i obiektu podrzędnego dla każdej wersji. To podejście pozwala na czyste wersjonowanie i dziennik zmian.

Opcja 2, wersje podrzędne: jeden rekord nadrzędny Configuration z rekordami podrzędnymi Configuration Version i ich własnymi obiektami podrzędnymi. Zalety: wyraźne wersjonowanie i historia zmian, tylko jedna aktywna wersja, zarchiwizowanych wersji nie da się zmienić. Wady: bardziej złożony model, a reguły statusów trzeba egzekwować

Implementacja:

  1. Obiekt najwyższego poziomu odwzorowuje konfigurację, a obiekty podrzędne odwzorowują poszczególne wersje.
  2. Każda wersja podrzędna ma automatycznie zwiększany numer i status (np. zarchiwizowana, aktywna, oczekująca).
  3. Wersja aktywna jest zablokowana i używana na produkcji, a wersję roboczą można edytować.
  4. Po aktywacji wersja robocza staje się aktywna, a poprzednia aktywna wersja zostaje zarchiwizowana.

Zalety:

Wady:

Przykład implementacji w Salesforce

Zrzut ekranu: strona szczegółów Flow w Salesforce z listą wersji Flow, z których jedna jest aktywna

Salesforce stosuje podobne podejście w Flow. W Salesforce jest obiekt Flow najwyższego poziomu z podrzędnymi wersjami Flow. Każda wersja ma automatycznie zwiększany numer, co daje szczegółowy zapis historyczny każdego Flow, z datami utworzenia i aktywacji.

Ta implementacja zapewnia, że naraz aktywny jest tylko jeden Flow, i daje niezawodny i sprawny mechanizm kontroli wersji.

Część 5: podsumowanie

Zrozumienie i wybór właściwego podejścia do wersjonowania rekordów jest kluczowe w modelowaniu danych. Podejście rekordów równorzędnych jest proste, a podejście wersji podrzędnych daje większą kontrolę i sprawną ścieżkę audytu. Studiując implementację Salesforce i biorąc pod uwagę własne wyzwania w modelowaniu danych, możesz wybrać podejście, które najlepiej pasuje do twoich potrzeb.

Bądźmy w kontakcie!

Więcej spostrzeżeń i wskazówek znajdziesz tutaj, na www.SteveTechArc.com, i na kanale YouTube @SteveTechArc (opens in a new tab). Zasubskrybuj i rozwijaj z nami swój talent do modelowania danych!

Pomagam zmieniać świat, dzieląc się ciekawymi przemyśleniami z innymi architektami i z tymi, którzy są na drodze do architektury!

Transkrypcję wspomagała AI

STA 2.1