Zasób zdefiniowany programowo (ang. Software-Defined Asset) został wprowadzony po raz pierwszy przez Dagster z następującą definicją:
Nowe, deklaratywne podejście do zarządzania danymi i ich orchestracji. Deklaratywne zarządzanie danymi polega na użyciu kodu do zdefiniowania zasobów danych, które mają istnieć. Te definicje zasobów, kontrolowane wersjonowaniem za pomocą gita i inspekcjonowalne za pomocą narzędzi, pozwalają każdemu w Twojej organizacji zrozumieć Twój kanoniczny zestaw zasobów danych, umożliwiają odtworzenie ich w dowolnym momencie i stanowią podstawę dla opartej na zasobach orchestracji.
Kluczem do zasobów zdefiniowanych programowo jest deklaracja zasobu danych/produktu przed uruchomieniem. Funkcja zdefiniowana programowo w Dagsterze jest podobna do mikrousługi lub kodu, który definiuje zasób w sposób funkcjonalny (który może działać niezależnie). Dzięki podejściu deklaratywnemu mamy więcej informacji zdefiniowanych jako kod, co pomaga orchestratorowi określić linię dziedziczenia, sposób uruchamiania, itp.
Najlepszą rzeczą jest to, że otrzymujemy rzeczywistą linię dziedziczenia naszych fizycznych zasobów danych, a nie arbitralną linię zadań (co jest interesujące dla inżynierów, ale nie dla konsumentów danych).
W przyszłości będzie pisanych więcej kodów z wykorzystaniem zasobów zdefiniowanych programowo, ponieważ redukuje to potrzebę pisania dużej ilości szablonów, ponieważ jest deklaratywność i opisuje, co zasób ma zrobić i zawierać, a nie jak to jest obsługiwane i uruchamiane przez Dagstera. Zobacz więcej na temat Trendów w Orkiestracji Danych, gdzie wyjaśniono trendy obejmujące ten przejście od imperatywnego potoku z operacjami, zadaniami, grafami itp. do Zasobów z zasobami zdefiniowanymi programowo.
Wiele ogłoszono podczas Dnia Społeczności Dagstera, gdzie Nick, założyciel Dagstera, powiedział: “Pomyśl o iPhone’ie: Wydaje się, że to jedno urządzenie, ale jest to wiele skomplikowanej i zróżnicowanej technologii. To samo dotyczy orkiestracji, która może być przyszłością w pakowaniu Stosu Danych Otwartych w jeden spójny stos danych. Alternatywą byłoby pionowe zintegrowanie z jednym z prominentnych dostawców.