DBT wyzwania projektowe

Problem:

Ładowanie naszej hurtowni / lake house / data leake jest zrobione przy użyciu dbt. Ładowane są dane z wielu źródeł, które mają różne czasy odświeżania. W jaki sposób zaprojektować optymalne odświeżanie? Co jest naszym celem optymalizujemy czas przetwarzania? Czy chcemy, żeby nasze ładowanie było jak najbardziej niezawodne albo jak najbardziej spójne? I dlaczego według mnie te dwa światy są nie do pogodzenia w dbt i architekturze medalionu.

Rozwiązanie:

Skupiając się na optymalizacji czasu przetwarzania dojdziemy do momentu, że będziemy musieli powiedzieć, że niezawodności nie uda nam się osiągnąć w tej architekturze. Ładując dane z wielu źródeł i optymalizując jednocześnie czas i koszty znajdziemy się w miejscu, gdzie zadamy sobie pytanie, co jeżeli jedno ze źródeł się nie odświeżyło albo co jeżeli tylko jedna z tabel nie zawiera bieżących danych? Czy przerywać ładowanie? Ładować kolejne warstwy mimo błędów? Jeżeli nie usuwamy danych z tabel przed ładowanie, to jest optymalne rozwiązanie dla biznesu. Załadować wszystko co się da. Jeżeli coś się nie udało załadować, wtedy wziąć dane z poprzedniego dnia a brakujące dane załadować po poprawkach.

Zastosujemy wtedy strategię: Best as we could.

Więcej rozważeń i szersza perspektywa we wpisie poniżej.

Read More

How to audit staging area?

audit staging

Imagine that it is your first day in new company. Your manager is giving you an ambitious plan of restructuring the current Data Warehouse design.

He said that it is probably not a task for this week, but in 3 months he would like to have some proposal from you. He points some people that you might talk to.

You would like to make this process efficient. Imagine a set of questions that you could as to help you solve this puzzle.

How to create a DWH inventory? How to start? What to look for? What are the red flags?

Time is already ticking.

Let’s have a good checklist for Staging layer at the beginning.

Read More