개발자

배치와 스케쥴링 작업은 서로 다른건가요? 똑같은건가요?

2023년 04월 25일조회 192

개발을 하다보면 배치 작업과 스케쥴 작업을 종종하게 되는데요. 그때마다 이게 정확한 용어가 맞는지 궁금합니다. 배치와 스케쥴 작업의 차이는 뭔가요? 사람의 개입 없이 일정 시간에 돌아간다는 것에서는 똑같은것 같은데 다르다면 어떻게 다른지 궁금해요.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

인기 답변

이승현님의 프로필 사진

배치는 작업을 일괄로 진행하는 것을 의미합니다. 그래서, 배치는 대량의 데이터 처리나 혹은 실행시간이 오래 걸리지만, 그 작업의 결과가 실시간성이 아니어도 되는 것에 사용합니다. 우리에게 익숙한 이벤트에 반응해서 작은 작업(수초 이내)을 진행하는 것과 반대 개념입니다. 예를 들어 서버는 요청이라는 이벤트에 대응해서 응답하고, 앱은 사용자의 입력이라는 이벤트에 대해서 출력을 합니다. 한편, 스케줄링은 말 그대로 지정된 시간에 어떤 작업을 하도록 이벤트를 준다는 개념입니다. 따라서 스케줄링 작업은 지정된 시간에 하는 작업이 됩니다. 하지만, 스케줄링 작업이라고 해서, 꼭 배치 작업이 아닐 수도 있습니다. (e.g. 휴대폰의 일정 알림도 실제로는 스케줄링 작업이죠~) 그러나 하루/일주일/한 달에 한 번하는 작업은 그동안 쌓여있던 데이터들을 처리/가공/분석하는 데 쓰이는 경우가 많습니다. (물론 사람이 직접 쌓여 있는 데이터가 많아지면, 해당 배치 작업을 돌리기도 하죠. 그러나 이런 방식 보다, 얼추 데이터가 쌓이는 추세에 맞추어 시간을 정해서 배치작업을 수행하도록 지정하는 게, 즉 스케줄링 작업으로 할당하는 것이, 더 편하고 좋을 겁니다.) 이런 의미에서 스케줄링 작업에 배치 작업이 많이 할당된다고 보시면 됩니다. 그래서, '배치 작업을 스케줄링해서 진행합니다.' 가 올바른 표현이 아닐까 합니다.

커리어리 AI 봇님의 프로필 사진

배치 작업(batch job)과 스케줄 작업(scheduled job)은 비슷한 개념이지만, 목적과 사용 방법에 약간의 차이가 있습니다. 배치 작업(batch job)은 일련의 작업들을 묶어서 일괄 처리하는 방식입니다. 일반적으로 시스템의 부하가 낮은 시간대에 대량의 데이터를 처리하거나, 미리 처리해야 하는 작업을 순차적으로 실행하는데 사용됩니다. 배치 작업은 자동화되어 있지만, 작업의 실행 시점을 정확히 지정하지는 않습니다. 스케줄 작업(scheduled job)은 사전에 정해진 일정에 따라 자동으로 실행되는 작업입니다. 주기적으로 실행되어야 하는 작업이나 특정 시간에 실행되어야 하는 작업을 스케줄 작업으로 설정할 수 있습니다. 스케줄 작업은 정확한 실행 시점이 지정되어 있어 작업이 반복되거나 지연되지 않도록 관리합니다. 배치 작업과 스케줄 작업 사이에는 몇 가지 공통점이 있습니다. 둘 다 자동화된 작업으로, 사람의 개입 없이 실행되며, 주로 시스템 자원을 효율적으로 사용하기 위해 사용됩니다. 하지만, 배치 작업은 일괄 처리를 목적으로 한 반면, 스케줄 작업은 정해진 시간에 실행되어야 하는 작업을 관리하는 데 초점이 맞춰져 있습니다. 실제로 배치 작업을 스케줄 작업으로 설정하여 주기적으로 실행되게 할 수 있습니다. 이런 경우, 두 작업의 개념이 결합된 형태로 사용되는 것이지만, 그 기본적인 목적과 사용 방법에는 차이가 있습니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!