여기에는 따로 정답이 없는문제라.. 어차피 폴더구조를 잘 잡아놔도 리스트에서 태그로 필터링 하는건 큰차이가 없어서요
일단 저의 경우에는 조직에 따라 많이 달라지긴했습니다.
배치 기간(일별, 주별, 월별) 로 나누어 두기도 하고, 데이터 소스별, 데이터 도메인별로 나누는 경우 다양했습니다.
조직에서 데이터 품질을 잘 관리 할수 있는 방법을 택하시면 좋을것 같습니다
airflow 서버에 더 많은 자원을 할당하셔야 하는 순간이 오신게 아닌가 생각해봅니다.
내부 사정이 어떠한지 명확히 알 수없습니다만 지금 생각할수 있는 방안으로는
단순하게 airflow 에 자원을 더 할당 한다 → 돈을 더쓰란 소리에 가까워서 음..
airflow 에서 외부의 컴퓨팅자원을 활용한다 → airflow 의 worker는 단순히 스케쥴링, 완료체크만 하게하고 연산은 모두 외부 컴퓨팅으로 돌립니다. 이렇게 했을때 worker 는 최소스펙으로 유지 할 수 있어서, 동시간대에 많은 스케쥴을 사용할 수 있습니다.
DAG 를 시간대별로 나열해두고 겹치지 않게 재분배.. → 사실 이건 큰 의미가 없다고 생각됩니다.
일단 올려 주신 글을 보면 NAS 보다는 다른 인프라 자원을 제대로 사용하셔야 할 것 같습니다.
Crawling 을 chromedriver 등을 활용해서 headless web crawler 로 구성하셨을텐데
headless 라고 하더라도 많이 뜨다 보니 Memory 와 CPU 모두 부족해지는 상황이 온 것 같습니다.
결국 On-Premise 든 Cloude 든 별도의 인스턴스를 가지고 제대로 관리하셔야 할 것 같네요.
아마도 비용 문제로 NAS 에서 하신 것이 아닌가 하는 생각이 드는데
Crawling 이라는 업무 자체가 손은 많이 가고 안되기라도 하면 욕먹는 작업이라 고생이 많으시겠습니다.
DAG 가 많아 지는 경우 관리가 쉽지 않다는 것은 동의합니다.
좋은 의견이라 생각되고 여기 모임에서 좋은 의견을 나누며 멋진 개선안이 나오리라 생각됩니다.
저희의 경우 스케쥴링 부분은 Trigger 정도로만 사용하고 있어서 부하가 크게 없습니다.
말씀대로 Airflow 에서 스케쥴에 따른 부하 모니터링은 못본 것 같네요.
하지만 좋은 idea 같습니다.
말씀하신 Work flow 가 물리적으로 어떤 식으로 나뉘어 있는지 모르지만
뭉쳐 있는 상태라면 업무별로 나눠야 할 것 같습니다.