2012-08-16 3 views
1

나는 거대한 기존의 SSIS 배치를 가지고 있습니다. 이제 ssis 패키지가 다른 단계에서 여러 번 (4-5) 액세스하는 Sybase 데이터베이스의 특정 테이블이 있습니다. 모든 액세스에서 다른 조인 또는 일부 필터 조건이 있습니다. 이제 내가 깨닫는 것은 테이블에 액세스 할 때마다 일어나는 일입니다. (테이블의 데이터 페이지를 읽어야하고 SSIS 서버의 데이터를 네트워크를 통해 가져와야합니다.) 이제 테이블 전체를 가져올 수 있는지 궁금합니다. SSIS Server에 대한 데이터 (모든 레코드) 및 이후 모든 테이블 액세스는 SSIS Server에서 수행됩니다. 이제 문제는이 테이블 데이터를 SSIS 서버에 저장할 수있는 곳입니다. RAM의 메모리에 테이블 데이터를 캐시 할 수 없거나 하드 디스크에있을 수 있습니다. 나는 SSIS를 SSIS로 효율적으로 사용하지 못하므로 도움을 찾고 있습니다. "SSIS에서 이것을 구현할 방법이 있습니까?"SSIS에서는 (메모리의 데이터를 유지하는 방법) 테이블을 캐시 할 수 있습니까?

답변

3

당신이 데이터를 캐시해야하는 경우에, 당신은 할 수 있습니다 RDBMS.Your 데이터베이스에서 액세스보다 빠를 항상있을 것이다 플랫 파일에서 SSIS .Accessing 데이터에서 만든 flat file 또는 raw file 또는 temporary table의에 저장할 수 있습니다 여러 번 액세스하는 경우 자원에 상당히 무거움.

원시 파일은 데이터를 읽거나 쓰는 동안 플랫 파일에 비해 매우 빠릅니다. This 문서는 둘 사이의 성능을 설명합니다.

임시 데이터가 SSIS 이외의 다른 도구에서 사용되지 않는 경우 raw files과 함께 할 수 있습니다.

article 당신은 당신이 사용하는 SSIS의 버전을 지정하지 않은 여러 데이터 흐름 작업 동일한 연결을 가진 (RetainSameConnection 속성 = 참)

4

전반에 걸쳐 사용할 수있는 SSIS에서 임시 테이블의 사용을 설명하지만, Praveen의 원시 파일 제안 (+1) 외에도 2008 년 최신판을 사용하는 경우 Cache Connection Manager을 볼 수 있습니다. CCM은 메모리 내 저장 공간을 제공하거나 파일에 내용을 쓰도록 지정하여 메모리 부족을 방지합니다.

원시 파일 대 캐시 연결 관리자의 균형을 조정할 때 사용법을 이해해야합니다. 원시 파일 또는 플랫 파일은 데이터 흐름 소스가 될 수 있으며 CCM은이를 수행 할 수 없습니다. 반대로 CCM은 파일 연결이 불가능할 때 조회 변환의 원천이 될 수 있습니다.

파일 저장 메커니즘을 사용함에있어 염두에 두어야 할 한 가지는 색인을 잃어 버리는 것입니다. 쿼리를 고객별로 상태별로 분류한다고 가정합니다. 데이터베이스는 "Andhra Pradesh의 모든 활동중인 고객"을 검색 할 때 해당 기준과 일치하는 레코드를 찾는 전체 파일을 읽는 것보다 훨씬 효율적입니다. 오리사에서 고객에 대한 요청이 변경되면 동일한 색인을 사용할 수 있지만 파일 저장소는 조건을 충족시키기 위해 레코드를 찾기 위해 처음부터 끝까지 다시 처리해야합니다. 증가 된 인덱스 효율은 네트워크를 극복하고 소스 시스템에서 데이터를 유지하는 비용을 읽는 데 충분할 수 있습니다.

항상 그렇듯이 테스트를 통해 자신에게 가장 적합한 것을 찾으십시오.

관련 문제