Integration Services의 일반적 사용 범위

Integration Services는 다양한 기본 제공 태스크와 컨테이너, 변환 및 비즈니스 응용 프로그램 개발을 지원하는 데이터 어댑터를 제공합니다. 코드를 작성할 필요 없이 ETL과 비즈니스 인텔리전스를 사용하여 복잡한 비즈니스 문제를 해결하는 SSIS 솔루션을 만들고 SQL Server 데이터베이스를 관리하며 다른 SQL Server 인스턴스의 SQL Server 개체를 복사할 수 있습니다.

다음 시나리오에서는 SSIS 패키지의 일반적 사용 범위를 설명합니다.

다른 유형의 데이터 저장소 데이터 병합

데이터는 일반적으로 여러 데이터 저장 시스템에 저장되므로 모든 원본에서 데이터를 추출하여 하나의 일관성 있는 데이터 집합으로 병합하는 것은 결코 쉬운 일이 아닙니다. 이러한 상황은 여러 가지 이유로 발생할 수 있습니다. 예를 들면 다음과 같습니다.

  • 많은 조직이 레거시 데이터 저장 시스템에 저장된 정보를 보관합니다. 일상적인 작업에는 이 데이터가 중요하지 않을 수도 있지만 오랜 시간 동안 수집된 데이터가 필요한 추세 분석에 중요한 자료가 됩니다.

  • 한 조직의 여러 지점에서 서로 다른 데이터 저장 기술을 사용하여 운영 데이터를 저장할 수 있습니다. 패키지가 데이터를 병합하기 전에 스프레드시트와 관계형 데이터베이스에서 데이터를 추출해야 할 수도 있습니다.

  • 동일한 데이터에 서로 다른 스키마를 사용하는 데이터베이스에 데이터가 저장될 수 있습니다. 패키지가 데이터를 병합하기 전에 특정 열의 데이터 형식을 변경하거나 여러 열의 데이터를 하나의 열로 결합해야 할 수도 있습니다._

Integration Services는 단일 패키지의 여러 원본을 포함하여 다양한 데이터 원본에 연결할 수 있습니다. 패키지는 .NET 및 OLE DB 공급자를 사용하여 관계형 데이터베이스에 연결하고 ODBC 드라이버를 사용하여 많은 레거시 데이터베이스에 연결할 수 있습니다. 플랫 파일, Excel 파일 및 Analysis Services 프로젝트에 연결할 수도 있습니다.

Integration Services에는 플랫 파일, Excel 스프레드시트, XML 문서 및 패키지가 연결하는 데이터 원본의 관계형 데이터베이스에 있는 테이블과 뷰에서 데이터를 추출하는 원본 구성 요소가 포함되어 있습니다.

데이터는 일반적으로 Integration Services에 포함된 변환을 사용하여 변환됩니다. 데이터를 호환 가능한 형식으로 변환한 후 물리적으로 하나의 데이터 집합에 병합할 수 있습니다.

데이터를 성공적으로 병합하고 변환을 데이터에 적용한 후 데이터는 일반적으로 하나 이상의 대상에 로드됩니다. Integration Services에는 데이터를 플랫 파일, 원시 파일 및 관계형 데이터베이스에 로드하기 위한 대상이 포함되어 있습니다. 메모리 내 레코드 집합에 데이터를 로드하여 다른 패키지 요소에서 액세스할 수도 있습니다.

데이터 웨어하우스 및 데이터 마트 채우기

데이터 웨어하우스와 데이터 마트의 데이터는 일반적으로 자주 업데이트되며 데이터 로드가 매우 큽니다.

Integration Services에는 플랫 파일에서 SQL Server 테이블과 뷰로 직접 데이터를 일괄 로드하는 태스크와 데이터 변환 프로세스의 마지막 단계로 데이터를 SQL Server 데이터베이스에 일괄 로드하는 대상 구성 요소가 포함되어 있습니다.

SSIS 패키지를 다시 시작 가능하게 구성할 수 있습니다. 이것은 패키지의 태스크나 컨테이너인 미리 지정된 검사점에서 패키지를 다시 실행할 수 있음을 의미합니다. 패키지를 다시 시작하는 기능은 특히 패키지가 많은 원본의 데이터를 처리하는 경우 시간 절약에 도움이 됩니다.

SSIS 패키지를 사용하여 데이터베이스의 차원 및 팩트 테이블을 로드할 수 있습니다. 차원 테이블의 원본 데이터가 여러 데이터 원본에 저장되어 있을 경우 패키지는 각 데이터 원본에 별도의 프로세스를 사용하는 대신 데이터를 하나의 데이터 집합에 병합하고 단일 프로세스에서 차원 테이블을 로드할 수 있습니다.

데이터 웨어하우스와 데이터 마트의 데이터를 업데이트하는 작업은 복잡할 수 있습니다. 일반적으로 두 데이터 저장소 유형에는 데이터 변환 프로세스를 통해 관리하기 어려울 수 있는 느린 변경 차원이 포함되어 있기 때문입니다. 느린 변경 차원 마법사는 레코드를 삽입 및 업데이트하고 관련 레코드를 업데이트하며 테이블에 새 열을 추가하는 SQL 문을 동적으로 만들어 느린 변경 차원을 자동으로 지원합니다.

또한 Integration Services 패키지의 태스크와 변환은 Analysis Services 큐브와 차원을 처리할 수 있습니다. 큐브가 만들어진 데이터베이스의 테이블을 패키지가 업데이트하면 Integration Services 태스크와 변환을 사용하여 큐브와 차원을 자동으로 처리할 수 있습니다. 큐브와 차원을 자동으로 처리하면 큐브와 차원의 정보에 액세스하는 사용자와 관계형 데이터베이스의 데이터에 액세스하는 사용자에 대해 데이터를 현재 상태로 유지하는 데 도움이 됩니다.

Integration Services는 데이터가 대상에 로드되기 전에 함수를 계산할 수도 있습니다. 데이터 웨어하우스와 데이터 마트가 집계 정보를 저장하면 SSIS 패키지는 SUM, AVERAGE 및 COUNT 함수를 계산할 수 있습니다. SSIS 변환은 관계형 데이터를 피벗하고 데이터 웨어하우스의 테이블 구조와 보다 잘 호환되는 덜 정규화된 형식으로 변환할 수도 있습니다.

데이터 정리 및 표준화

OLTP(온라인 트랜잭션 처리) 또는 OLAP(온라인 분석 처리) 데이터베이스, Excel 스프레드시트, 파일 중 어디에 데이터를 로드하든 관계없이 데이터가 로드되기 전에 정리하고 표준화해야 합니다. 다음 이유로 데이터를 업데이트해야 할 수도 있습니다.

  • 데이터는 각각 다른 규칙과 표준을 사용하는 조직의 여러 지점에서 제공됩니다. 데이터를 사용할 수 있으려면 먼저 다른 형식을 지정해야 할 수도 있습니다. 예를 들어 이름과 성을 하나의 열로 결합해야 할 수 있습니다.

  • 데이터는 임대하거나 구매합니다. 데이터를 사용할 수 있으려면 먼저 비즈니스 표준에 맞게 표준화하고 정리해야 할 수도 있습니다. 예를 들어 조직이 모든 레코드에 동일한 상태 약어 집합이나 동일한 제품 이름 집합을 사용할 수 있습니다.

  • 데이터는 로캘 특정입니다. 예를 들어 데이터는 다양한 날짜/시간 및 숫자 형식을 사용할 수 있습니다. 여러 로캘의 데이터를 병합하는 경우 데이터가 손상되지 않도록 데이터가 로드되기 전에 하나의 로캘로 변환해야 합니다.

Integration Services에는 데이터를 정리 및 표준화하거나 데이터의 대/소문자를 변경하거나 데이터를 다른 형식으로 변환하거나 식을 기준으로 새로운 열 값을 만들기 위해 패키지에 추가할 수 있는 기본 제공 변환이 포함되어 있습니다. 예를 들어 이 패키지는 이름 열과 성 열을 하나의 이름 열로 연결한 다음 문자를 대문자로 변경할 수 있습니다.

Integration Services 패키지는 정확히 조회 또는 유사 항목 조회를 사용하여 참조 테이블에서 값을 찾아 열의 값을 참조 테이블의 값으로 바꿈으로써 데이터를 정리할 수도 있습니다. 대체로 패키지는 정확히 조회를 먼저 적용하고 이 조회가 실패하면 유사 항목 조회를 적용합니다. 예를 들어 이 패키지는 먼저 제품의 기본 키 값을 사용하여 참조 테이블에서 제품 이름을 조회합니다. 이 검색에서 제품 이름이 반환되지 않으면 이번에는 제품 이름에 대한 유사 항목 조회를 사용하여 다시 검색합니다.

다른 변환은 유사한 데이터 집합의 값을 그룹화하여 데이터를 정리합니다. 이 기능은 중복 레코드일 수 있으므로 추가 평가 없이 데이터베이스에 삽입해서는 안 되는 레코드를 식별하는 데 유용합니다. 예를 들어 고객 레코드의 주소를 비교하여 많은 중복 고객을 식별할 수 있습니다.

비즈니스 인텔리전스를 데이터 변환 프로세스에 구축

데이터 변환 프로세스에서 액세스하고 처리하는 데이터에 동적으로 응답하려면 기본 제공 논리가 필요합니다.

데이터 값을 기준으로 데이터를 요약, 변환 및 배포해야 할 수 있습니다. 또한 열 값의 평가를 기준으로 프로세스에서 데이터를 거부해야 할 수도 있습니다.

이 요구 사항을 처리하기 위해 SSIS 패키지의 논리에서 다음 유형의 태스크를 수행해야 할 수 있습니다.

  • 여러 데이터 원본의 데이터 병합

  • 데이터 평가 및 데이터 변환 적용

  • 데이터 값을 기준으로 하나의 데이터 집합을 여러 데이터 집합으로 분할

  • 데이터 집합의 각 하위 집합에 다른 집계 적용

  • 데이터의 하위 집합을 여러 대상에 로드

Integration Services는 SSIS 패키지에 비즈니스 인텔리전스를 구축하기 위한 변환, 컨테이너 및 태스크를 제공합니다.

컨테이너는 전체 파일이나 개체를 열거하고 식을 평가하여 워크플로의 반복을 지원합니다. 패키지는 결과를 기준으로 데이터를 평가하고 워크플로를 반복할 수 있습니다. 예를 들어 이 패키지는 현재 달의 날짜이면 특정 태스크 집합을 수행하고 현재 달의 날짜가 아니면 다른 태스크 집합을 수행합니다.

입력 매개 변수를 사용하는 태스크에서 비즈니스 인텔리전스를 패키지에 구축할 수도 있습니다. 예를 들어 입력 매개 변수 값은 태스크에서 검색한 데이터를 필터링할 수 있습니다.

변환은 식을 평가한 후 평가 결과를 기준으로 데이터 집합의 행을 여러 대상으로 보낼 수 있습니다. 데이터를 나눈 후 이 패키지는 데이터 집합의 각 하위 집합에 서로 다른 변환을 적용할 수 있습니다. 예를 들어 식은 날짜 열을 평가하고 해당 기간의 판매 데이터를 추가한 후 요약 정보만 저장할 수 있습니다.

데이터 집합을 여러 대상으로 보낸 후 동일한 데이터에 서로 다른 변환 집합을 적용할 수도 있습니다. 예를 들어 한 개 변환 집합에서 참조 테이블의 값을 조회하고 다른 원본의 데이터를 추가하여 데이터를 확장하는 동안 다른 변환 집합에서 데이터를 요약할 수 있습니다.

관리 기능 및 데이터 로드 자동화

데이터베이스 백업 및 복원, SQL Server 데이터베이스와 포함된 개체 복사, SQL Server 개체 복사, 데이터 로드 등의 관리 기능을 자동화하려는 관리자는 Integration Services 패키지를 사용하여 이러한 기능을 수행할 수 있습니다.

Integration Services에는 테이블, 뷰 및 저장 프로시저와 같은 SQL Server 데이터베이스 개체를 복사하고 데이터베이스, 로그인 및 통계와 같은 SQL Server 개체를 복사하며 Transact-SQL 문을 사용하여 SQL Server 개체를 삭제하기 위한 태스크가 포함되어 있습니다.

OLTP 또는 OLAP 데이터베이스 환경 관리에는 데이터 로드가 포함되는 경우가 많습니다. Integration Services에는 대량 데이터 로드를 지원하는 여러 가지 태스크가 있습니다. 태스크를 사용하여 텍스트 파일의 데이터를 SQL Server 테이블과 뷰에 직접 로드하거나 대상 구성 요소를 사용하여 열 데이터에 변환을 적용한 후 SQL Server 테이블과 뷰에 데이터를 로드할 수 있습니다.

Integration Services 패키지는 다른 패키지를 실행할 수 있습니다. 많은 관리 기능이 포함된 데이터 변환 솔루션을 여러 패키지로 분리하면 훨씬 편리하게 패키지를 관리하고 다시 사용할 수 있습니다.

여러 서버에서 동일한 관리 기능을 수행해야 하는 경우 패키지를 사용할 수 있습니다. 패키지는 루핑을 사용하여 전체 서버를 열거하고 여러 컴퓨터에서 동일한 기능을 수행할 수 있습니다. SQL Server 관리를 지원하기 위해 Integration Services는 전체 SMO(SQL Server Management Objects) 개체를 반복하는 열거자를 제공합니다. 예를 들어 패키지는 SMO 열거자를 사용하여 SQL Server 설치의 Jobs 컬렉션에 있는 모든 작업에 동일한 관리 기능을 수행할 수 있습니다.

SQL Server 에이전트 작업을 사용하여 SSIS 패키지를 예약할 수도 있습니다.

Integration Services 아이콘(작은 아이콘) Integration Services 관련 최신 정보 얻기

Microsoft의 최신 다운로드, 아티클, 예제 및 비디오와 커뮤니티의 정선된 솔루션을 보려면 MSDN 또는 TechNet의 Integration Services 페이지를 방문하십시오.

이러한 업데이트에 대한 자동 알림을 받으려면 해당 페이지에서 제공하는 RSS 피드를 구독하십시오.