본문 바로가기

For DEVELOPER/ORACLE::DB

배치프로그램 APPLICATION vs PROCEDURE

728x90
반응형

한 주마다 정해진 요일에 자동으로 실행되는 배치 프로그램을 만들어야하는데

이걸

어플리케이션 단에서 구현할지

프로시저에서 구현하고 어플리케이션에서는 실행만 할지 고민이 되었다.

 

두 경우 의 장단점을 찾아보았다.

 

내가 생각하는 두 방식의 차이는
어플리케이션에서 구현하면 복잡성은 높아지지만 프로그램을 수정할때 어플리케이션을 재시작 해야한다.
프로시져에서 구현다는 건 그와 반대로 복잡성은 낮아지지만 프로그램을 수정할때 어플리케이션을 재시작 할필요가 없다 정도였다.

 

프로시저로 배치 파일 만드는 장단점

장점:
1. 데이터베이스 내에 배치 로직이 포함되므로 데이터베이스
    자원에 직접 접근하여 효율적으로 작업을 수행할 수 있습니다.
2. 데이터베이스의 트랜잭션 관리 기능을 활용하여 일관성과 안전성을 보장할 수 있습니다.
3. 데이터베이스에 내장된 스케줄러를 활용하여 자동 실행 및 예약 작업을 설정할 수 있습니다.

단점:
1. 배치 로직이 데이터베이스에 종속되므로, 데이터베이스 전환 시에 작업을 다시 구현해야 할 수 있습니다.
2. 복잡한 비즈니스 로직이 프로시저에 포함되어 가독성이 떨어질 수 있습니다.
3. 배치 프로세스에 대한 모니터링 및 로깅이 제한적일 수 있습니다.

 

어플리케이션 으로 배치 파일 만드는 장단점
장점:
1.어플리케이션에서 배치 로직을 작성하면 자바 또는 다른 프로그래밍 언어의
    다양한 기능과 라이브러리를 활용할 수 있습니다.
2. 배치 로직을 유연하게 설계하고 조정할 수 있으며, 확장성이 높습니다.
3. 다른 시스템과의 연동이 필요한 경우에도 다양한 통합 방식을 활용할 수 있습니다.

단점:
1.데이터베이스 자원에 접근하기 위해 추가적인 연결과 로직을 구현해야 합니다.
2.배치 프로세스의 트랜잭션 관리와 일관성을 보장하기 위한 추가적인 처리가 필요할 수 있습니다.
3.운영체제 또는 스케줄러를 활용하여 배치 프로세스의 예약 및 자동 실행을 구현해야 합니다.

 

 

각 방법은 프로세스의 특성과 요구사항에 따라 선택될 수 있습니다.

프로시저로 배치 파일을 만들면 데이터베이스 자원을 효율적으로 활용할 수 있고,

데이터베이스 스케줄러를 활용하여 자동 실행을 구현할 수 있습니다.

반면, 어플리케이션 단에서 배치 파일을 만들면 다양한 프로그래밍 기능과 통합 방식을 활용할 수 있고,

더욱 유연한 작업 제어와 확장성을 갖출 수 있습니다.

 

 


결정을 내리기 전에 프로세스의 복잡성, 실행 환경, 향후 유지보수 및 확장성 등을 고려하여 각 방법의 장단점을 고려해야 합니다.
반응형