DB2 저장 프로시저

저장 프로시저는 SQL 문이 있는 절차상의 구조를 포함합니다. 저장 프로시저는 DB2® 데이터베이스에 저장되며 DB2 서버에서 실행됩니다. 응용프로그램은 이름별로 저장 프로시저를 호출하며 저장 프로시저에 포함된 SQL 문을 실행합니다. 응용프로그램은 클라이언트에 있을 수 있지만, 저장 프로시저는 서버에서 로직을 실행합니다. 경우에 따라서 저장 프로시저와 사용자 정의 함수를 루틴이라고도 합니다.

저장 프로시저를 사용하는 응용프로그램은 다음과 같은 이점을 가집니다.

네트워크 트래픽 감소
저장 프로시저를 사용하면 네트워크 트래픽이 감소되고 전체적인 응용프로그램 성능이 향상됩니다. 왜냐하면 저장 프로시저는 불필요한 데이터를 네트워크 상에서 전송하지 않고 데이터베이스 서버에서 중간 처리를 수행할 수 있기 때문입니다. 저장 프로시저는 클라이언트 응용프로그램이 필요로 하는 레코드만 전송합니다.

응용프로그램이 한 번에 한 개씩 발행한 SQL 문은 일반적으로 네트워크를 두 번 지나갑니다. 저장 프로시저는 SQL 문을 그룹화하여 각 SQL 문 그룹이 네트워크를 한 번 지나가도록 할 수 있습니다. 저장 프로시저에서 더 많은 SQL 문을 그룹화할수록 네트워크 트래픽과 데이터베이스 잠금이 보류되는 시간을 더 많이 줄일 수 있습니다. 네트워크 트래픽과 데이터베이스 잠금 길이가 줄어들면 전체 네트워크 성능이 향상되고 잠금 경합 문제점이 줄어듭니다.

많은 양의 SQL 생성 데이터를 처리하지만 사용자에게 데이터 서브세트만을 보여주는 응용프로그램은 모든 데이터가 최종 처리 이전에 클라이언트로 리턴되기 때문에 과도한 네트워크 트래픽을 초래할 수 있습니다. 저장 프로시저는 서버에서 처리하고 필수 데이터만을 클라이언트에 전송할 수 있기 때문에 네트워크 사용량이 줄어듭니다.

하드웨어 및 소프트웨어 성능 확장
저장 프로시저를 사용하는 응용프로그램은 서버 시스템의 디스크 공간 및 증가된 메모리에 액세스할 수 있습니다. 이러한 응용프로그램은 데이터베이스 서버에만 설치된 소프트웨어에도 액세스할 수 있습니다. 충분한 메모리 및 프로세서를 가진 시스템에 실행 가능한 비즈니스 로직을 분배할 수 있습니다.
보안 개선
정적 SQL을 사용하는 저장 프로시저를 가진 데이터베이스 특권을 포함함으로써 데이터베이스 관리자(DBA)는 보안을 개선할 수 있습니다. 저장 프로시저를 작성하는 사용자는 저장 프로시저가 필요로 하는 데이터베이스 특권을 가져야 합니다. 저장 프로시저를 호출하는 클라이언트 응용프로그램의 사용자에는 이와 같은 특권이 필요하지 않으므로 특권이 필요한 사용자의 수를 줄일 수 있습니다.
개발 비용 감소 및 신뢰도 증가
데이터베이스 응용프로그램 환경에서는 많은 타스크가 반복됩니다. 반복 타스크에는 고정된 데이터 세트의 리턴, 또는 데이터베이스로의 동일한 다중 요청 세트의 수행이 포함될 수 있습니다. 저장 프로시저는 이러한 반복적인 타스크를 수행하는 매우 효율적인 방식입니다.
공통 루틴에 대한 보안, 관리 및 유지보수의 중앙 집중화
한 장소의 서버에서 공유 로직을 관리하면 보안, 관리 및 유지보수가 간단해 집니다. 클라이언트 응용프로그램은 추가적인 처리가 전혀 없거나 거의 없는 SQL 조회를 실행하는 저장 프로시저를 호출할 수 있습니다. 저장 프로시저에 대한 변경사항은 이를 사용하는 모든 클라이언트 응용프로그램에 대해 즉시 사용 가능합니다.
관련 참조
DB2 UDB 저장 프로시저 및 사용자 정의 함수에 대한 권한
사용 조건 | 피드백
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.