fine-grained, Coarse-Grained
- grain : 곡식을 낱알로 만드는 작업으로 거칠고 세밀한 문구로 사용된다.
- fine-grained : 결이 곱고, 가늘게 곡물작업
- coarse-grained : 듬성듬성하고, 거칠게 곡물작업
1. fine-grained
- 하나의 작업을 작은 단위로 분리하여 수행
- 타행이체(메인 task)
- 잔액조회(서브 task)
- 이체 가능 금액 체크(서브 task)
- 상대 계좌 체크(서브 task)
- 이체(서브 task)
- 장점
- 변경사항 발생시 유연하게 대처 가능
- 유사한 서비스 구현시 재사용 가능
- EnterpriseApplicationDesign에서 선호
2. coarse-grained
- 하나의 큰 작업단위로 한곳에서 수행
- 타행이체(task)
- 장점
- Distributed 시스템에서 좀 더 유용
3. 참고
- 서비스 모듈(비지니스 모델)의 경우 비지니스 요구사항이 자주 변경되므로 fine-grained이,
- 빅데이터의 경우 병렬처리를 염두한다면 coarse-grained가 좀더 유리할 수 있다.
- 하지만 대부분의 경우가 그러하듯, 정답은 없고 상황에 따라 적용되어야 할 것이다.
4. 비교(머신러닝)
- Coarse-Grained classification, Fine-grained classification
- 사용예)
- 개를 구분하자(Coarse-Grained classification)
- 개의 품종을 구분하자(Fine-grained classification)