dagster의 교육과정을 살펴보고 있다가 task-centric과 asset-centric이라는 단어를 보게되었다.

예를 든 초컬릿 칩 쿠키를 만드는 과정에서 task중심은 [재료모으기, 재료섞기, 초컬릿칩 추가하기, 굽기]로 Task를 기술하고, 재료나 중간가공품(쿠키 도우와 같은)은 별도로 표시(주석정도?)하는 방식이고, asset은 [주재표, 부재료, 중간가공품]과 같이 재품의 각 상태를 주요하게 기술하고, 각 상태를 전이시키는 task는 주석 정도로 표시하는 방식이다.

이 얼마나 명확한 방법인가 싶어, 이제까지 이런 생각을 못했다니 싶다.

참고로 Data engineering에는 asset중심이 더 유리하다 한다.

  • data lineage측면. (이걸 혈통이라고 번역하면 좀 이상하기는 한데. 적절하기도 하다.)에 대한 파악이 용이하다고 한다. 일리가 있다.
  • asset의 재활용 측면.
  • asset의 freshness측면. (이걸 선도라고 번역하면.) 데이터가 얼마나 신선한가? 의미있는 부분이다.
  • debugging측면.

dagster를 보다가 보니까 dbt를 자연스럽게 보게 된다.

Read Count