Computer >> 컴퓨터 >  >> 시스템 >> Mac

Microsoft SSIS 설명:SQL Server 통합 서비스에 대한 종합 가이드

Microsoft SQL Server Integration Services(SSIS)는 데이터 통합 및 데이터 변환을 설정하기 위한 엔터프라이즈 플랫폼입니다.

Microsoft의 SQL Server 관계형 데이터베이스 관리 시스템(RDBMS)에 내장된 SSIS를 사용하여 SQL Server 개체 및 데이터를 관리할 수 있습니다. 또한 데이터 정리 및 마이닝, 다양한 소스에서 ELT(추출, 로드, 변환) 프로세스 실행, 파일 복사 또는 다운로드, 데이터 웨어하우스 로드 등 다양한 데이터 관련 작업을 실행 및 관리하는 데 유용합니다.

SSIS는 여러 관계형 데이터베이스뿐만 아니라 XML 데이터 파일 및 플랫 파일과 같은 소스에서 데이터를 추출, 변환 및 통합한 다음 처리된 정보를 엔터프라이즈 데이터 웨어하우스 또는 기타 대상 시스템에 로드할 수 있습니다. 여기에는 SQL Server Data Tools라고 하는 통합 프로그램을 개발하고 테스트하기 위한 도구 세트와 프로그램 배포 및 실행을 위한 서버 구성 요소가 포함되어 있습니다. 또한 통합 루틴을 관리하고 모니터링하기 위해 Microsoft의 SQL Server Management Studio 소프트웨어가 SSIS에 통합되었습니다.

Microsoft SSIS 설명:SQL Server 통합 서비스에 대한 종합 가이드 플랫 파일과 관계형 데이터베이스의 장점과 단점.

SSIS 아키텍처

SSIS 아키텍처의 주요 요소는 두 가지 엔진입니다. 이러한 엔진은 SSIS 서비스의 데이터 이동 및 변환과 패키지 제어 흐름 및 관리를 분리하는 데 도움이 됩니다.

데이터 흐름 엔진은 데이터 흐름 관련 작업을 처리하는 SSIS 아키텍처의 특수한 고성능 요소입니다. 즉, 서로 다른 소스에서 데이터를 추출, 변환 및 로드하는 역할을 담당합니다.

SSIS의 모든 데이터 흐름 작업에는 데이터 흐름 구성 요소가 포함되어 있습니다. 이는 데이터 흐름 엔진 내에서 데이터가 이동하고 변환되는 방식을 정의하는 소스, 변환 및/또는 대상입니다. 추가 개체인 이러한 구성 요소는 데이터 흐름 엔진을 프로그래밍하여 자동으로 생성 및 구성될 수 있습니다. 개발자는 엔진을 프로그래밍하여 사용자 정의 개체를 만들 수도 있습니다.

SSIS 런타임 엔진은 패키지 관리 및 실행 방법을 제어합니다. SSIS가 실행 순서, 로깅, 변수 및 이벤트 처리를 처리하는 데 필요한 제어 흐름 및 패키지 관리 인프라를 구현합니다. 또한 이 인프라를 통해 개발자는 엔진을 프로그래밍하여 패키지를 자동으로 생성, 구성 및 실행하고 실행 흐름을 제어할 수 있습니다. 또한 로깅, 이벤트 핸들러 및 변수에 대한 옵션을 설정할 수도 있습니다.

데이터 흐름 엔진과 런타임 엔진 외에도 SSIS 아키텍처의 주요 요소는 다음과 같습니다.

  • SSIS 디자이너.
  • SSIS 마법사.
  • 맞춤형 애플리케이션.
  • 명령줄 유틸리티.

로그 공급자, 데이터 원본, 이벤트 처리기, 열거자, 작업/사용자 지정 작업 및 데이터 흐름 구성 요소/사용자 지정 데이터 흐름 구성 요소도 SSIS 아키텍처의 일부입니다.

SSIS의 주요 기능

Microsoft SQL Server 통합 서비스에는 기업의 데이터 통합 및 변환을 단순화하는 다양한 기능이 포함되어 있습니다. 여기에는 내장된 데이터 원본 커넥터가 포함됩니다. 사용자는 SQL Server 가져오기 및 내보내기 마법사를 사용하여 일반적으로 사용되는 데이터 원본(SQL Server, MySQL, PostgreSQL, Azure Blob Storage, Oracle, Excel 등)에 연결할 수도 있습니다. SSIS는 또한 다양한 기본 제공 작업과 변환을 제공합니다. 개발자는 필요에 따라 사용자 정의 작업을 작성할 수도 있습니다.

SSIS의 다른 유용한 기능은 다음과 같습니다:

  • Hadoop/HDFS 커넥터 및 작업
  • 개방형 데이터베이스 연결(ODBC) 소스 및 대상
  • Azure 데이터 원본 커넥터 및 작업.
  • 기본 데이터 프로파일링 도구.

이러한 기능은 SQL Server Standard 및 Enterprise 버전 모두에서 사용할 수 있습니다.

SQL Server Enterprise 버전은 다음과 같은 다양한 추가 기능도 제공합니다.

  • Oracle 및 Teradata 소스, Attunity 대상, SAP BW 소스 및 대상, 차원 처리 대상을 포함한 고급 소스 및 대상.
  • 데이터 마이닝 쿼리 변환, 퍼지 그룹화, 퍼지 조회 변환 등을 포함한 고급 작업 및 변환

SSIS 프로그래밍

SSIS 내의 두 엔진인 데이터 흐름 엔진과 런타임 엔진은 조직의 통합 요구 사항에 맞게 프로그래밍을 사용하여 자동화하고 확장할 수 있습니다. 실제로 SSIS를 프로그래밍할 때 프로그래밍되는 것은 이 두 엔진입니다. 엔진은 네이티브 코드로 작성되었지만 SSIS 개체 모델을 통해 사용할 수 있습니다.

SSIS를 프로그래밍할 때 개발자는 사용자 지정 데이터 흐름 구성 요소(소스, 변환, 대상)를 작성하여 패키지를 확장할 수 있습니다. 이러한 구성 요소는 SSIS 디자이너(그래픽 도구) 내에서 사용할 수 있으며 패키지에서 사용자 지정 기능을 제공합니다. 다른 옵션은 다른 애플리케이션에서 프로그래밍 방식으로 패키지를 생성, 구성 및 실행하는 것입니다.

개발자는 SSIS 및 기본 제공 구성 요소의 기능을 확장하기 위해 코드 확장을 자유롭게 사용할 수 있습니다. 연결 관리자, 작업, 열거자, 로그 공급자 및 데이터 흐름 구성 요소와 같은 사용자 지정 통합은 SSIS 개체 모델의 기본 클래스를 시작점으로 사용하여 여러 패키지에서 사용할 수 있도록 생성할 수 있습니다.

임시(재사용 불가능) 방식으로 단일 패키지에서 확장을 생성하고 사용하기 위해 개발자는 스크립트 작업에 코드를 작성한 다음 이를 소스, 변환 또는 대상으로 구성할 수 있습니다. 이 방법을 사용하면 SSIS는 사용자가 필요한 사용자 지정 기능을 개발하는 데 집중할 수 있도록 인프라 코드를 작성합니다.

SSIS를 사용하면 사용자는 패키지를 동적으로 생성하고 프로그래밍 방식으로 조작할 수 있습니다. 이렇게 하면 수정 없이 또는 일부 재구성을 통해 기존 패키지를 로드할 수 있습니다. 이러한 패키지는 템플릿으로 로드된 다음 재구성(예:다른 데이터 소스용) 및 실행될 수 있습니다. 사용자는 새 패키지를 생성하고 실행할 수도 있습니다. 이러한 패키지에는 개체별로, 속성별로 구성된 구성 요소가 포함될 수 있습니다.

개발자는 자신이 선택한 .NET 호환 언어(예:C#)로 SSIS를 프로그래밍할 수 있습니다. 이는 SSIS가 Microsoft .NET Framework를 완벽하게 지원하고 SSIS 개체 모델을 지원하기 때문입니다. 이 모델에는 개발자가 SSIS에서 패키지를 쉽고 유연하게 확장하고 프로그래밍할 수 있는 기능이 포함되어 있습니다.

.NET SDK(소프트웨어 개발 키트)에는 Visual Basic 및 C# 컴파일러와 관련 개발 도구가 포함되어 있습니다. 모든 코드 또는 텍스트 편집기를 사용하여 패키지, 사용자 지정 작업 및 구성 요소를 프로그래밍하고 Visual Studio를 포함한 SSIS 코드 프로젝트를 컴파일 및 빌드할 수 있습니다.

.NET 호환 언어로 SSIS를 프로그래밍할 때 개발자는 .NET Framework가 기본적으로 SQL Server와 함께 설치된다는 점을 명심해야 합니다. 그러나 .NET SDK는 그렇지 않으므로 Visual Studio에서 SQL Server 설명서를 활성화하려면 컴퓨터에 SDK를 설치해야 합니다. 또한 개발자는 SSIS 및 두 엔진을 프로그래밍할 때 SSIS API(응용 프로그래밍 인터페이스)가 VBScript 및 기타 COM 기반 스크립팅 언어와 호환되지 않는다는 점에 유의해야 합니다.

SSIS 개체 모델

SSIS 개체 모델은 완벽하게 관리되며 데이터 흐름 엔진과 런타임 엔진을 사용하고 프로그래밍할 수 있게 만듭니다. 이를 통해 사용자는 메타데이터 기반 패키지를 포함한 패키지를 프로그래밍 방식으로 한 줄씩 생성 및 구성한 다음 관리되는 프로그래밍 언어로 해당 패키지를 실행할 수 있습니다. 또한 개체 모델을 사용하여 사용자 지정 작업 및 기타 패키지 개체를 코딩할 수도 있습니다. 실제로 개체 모델을 사용하면 SSIS 패키지의 거의 모든 측면을 프로그래밍하고 확장할 수 있습니다.

개체 모델과 함께 개발자는 코드가 없는 그래픽 SSIS 도구(SSIS 디자이너)를 사용하여 코드를 작성하지 않고도 데이터 변환 및 통합 솔루션을 만들 수 있습니다. SSIS 개체 모델과 코드 없는 도구는 복잡한 비즈니스 과제를 해결하기 위해 데이터를 추출하고 변환하는 강력한 조합을 제공합니다.

SSIS의 핵심 요소

Microsoft SQL Server 통합 서비스는 Azure Data Factory의 SQL Server 및 SSIS 통합 런타임을 위한 완전한 데이터 통합 및 데이터 변환 플랫폼입니다.

여기에는 다음 요소가 포함됩니다:

  • 내장된 작업.
  • 내장된 변환.
  • SSIS 디자이너 그래픽 도구.
  • SSIS 데이터베이스 카탈로그.

작업은 SSIS 패키지 내의 제어 흐름 요소입니다. 패키지에는 제어 흐름에 연결되고 순서가 지정되는 여러 작업이 있을 수 있습니다. 각 SSIS 작업은 패키지 제어 흐름에서 수행되는 작업 단위를 정의합니다. SSIS는 데이터 흐름 작업, 데이터 준비 작업, 워크플로 작업 및 SQL Server 작업을 포함한 다양한 작업 유형을 지원합니다. 개발자는 .NET 프로그래밍 언어 또는 COM 지원 프로그래밍 언어로 사용자 정의 작업을 작성할 수 있습니다.

SSIS에서 변환은 데이터를 집계, 병합, 배포 및 수정하는 패키지의 구성 요소입니다. SSIS는 다양한 기능을 수행하는 다양한 종류의 변환을 제공합니다. 예를 들어 BI(비즈니스 인텔리전스) 변환은 데이터 정리 또는 마이닝과 같은 BI 작업을 수행하는 반면 행 변환은 열 값을 업데이트하고 새 열을 만듭니다. 작업과 마찬가지로 개발자는 비즈니스 요구 사항에 맞게 사용자 지정 변환을 작성할 수 있습니다. 이러한 변환에는 동기식 또는 비동기식 출력이 있을 수 있습니다.

SSIS 디자이너는 사용자 친화적인 탭, 대화 상자 및 창을 갖춘 그래픽 도구입니다. 이를 통해 개발자는 코드를 작성하지 않고도 패키지에서 제어 또는 데이터 흐름 구성, 패키지에 이벤트 핸들러 추가, 변경 사항 실행 취소/다시 실행, 런타임 시 패키지 실행 진행 상황 보기 등 광범위한 데이터 관련 작업을 쉽게 수행하고 관리할 수 있습니다. SSIS 디자이너에서 패키지를 생성하거나 수정하기 위해 SSIS 서비스를 실행할 필요는 없습니다.

SSISDB 카탈로그는 프로젝트, 패키지, 매개 변수, 환경 및 작업 기록과 같은 개체를 저장합니다. SSIS 내에 프로젝트를 배포하는 데 필요합니다. SSISDB 카탈로그를 사용하여 사용자는 다음을 수행할 수 있습니다.

  • SSISDB의 뷰를 쿼리하여 SSISDB 카탈로그에 저장된 개체를 검사합니다.
  • SSISDB에서 저장 프로시저를 호출하여 개체를 관리합니다.

SSIDB 카탈로그는 온프레미스에서 실행할 수 있습니다. 조직은 온-프레미스 SSIS 워크로드를 Azure로 이동할 수도 있습니다. 이를 통해 운영 비용을 절감하고 가용성과 확장성을 높일 수 있습니다. SSMS(SQL Server Management Studio)와 같은 친숙한 도구를 사용하여 Azure SQL Database의 SSISDB 카탈로그에서 SSIS 프로젝트 및 패키지를 배포, 실행 및 관리할 수 있습니다.

SQL Server 2025 Integration Services의 최신 기능

2025년 7월 현재 SQL Server Integration Services의 최신 버전은 v17.x(미리 보기)입니다. 이 버전에는 새로운 기능, 주요 변경 사항, 더 이상 사용되지 않거나 제거된 일부 변경 사항이 포함되어 있습니다.

SQL Server 2025(17.x) 미리 보기 통합 서비스의 새로운 기능은 ADO.NET 연결 관리자가 이제 Microsoft SqlClient 데이터 공급자를 지원한다는 것입니다. 이 연결 관리자를 사용하면 패키지가 .NET 공급자를 사용하여 SQL Server와 같은 데이터 원본에 액세스할 수 있습니다. SSIS는 연결 관리자를 만들고 해당 속성을 설정합니다. 이 작업은 프로그래밍 방식으로 수행하거나 SSIS 디자이너를 사용하여 수행할 수 있습니다.

SSIS 17.x의 주요 변경 사항은 SSIS 2025로 업그레이드하고 .NET API Microsoft.SqlServer.Dts.Runtime 네임스페이스를 사용하는 조직에 영향을 미칩니다. 네임스페이스를 계속 사용하려면 패키지에 SQL 실행 작업이 포함되거나 SMO(SQL Server 관리 개체)를 사용하는 특정 SSIS 작업이 있는 경우 프로젝트에서 참조를 업데이트하고 다시 빌드해야 합니다.

다음 기능은 SQL Server 2025(17.x) 미리 보기 통합 서비스에서 더 이상 사용되지 않습니다.

  • SQL Server Management Studio 레거시 SSIS 서비스.
  • 통합 서비스 32비트 모드(도구는 현재 및 향후 버전에서 64비트만 지원함).
  • SqlClient Data Provider(SDS) 연결 유형(Microsoft에서는 사용자가 ADO.NET 연결 유형으로 마이그레이션할 것을 권장함).

SQL Server 2025 Preview Integration Services에서는 일부 기능이 제거되었습니다. 여기에는 다음이 포함됩니다:

  • Attunity의 CDC(변경 데이터 캡처) 구성 요소 및 Oracle용 CDC 서비스
  • Oracle용 Microsoft 커넥터.
  • Hadoop Hive 작업, Hadoop Pig 작업 및 Hadoop 파일 시스템 작업 구성요소

SSIS 이전 버전의 개선 사항

SQL 서버 2016

SQL Server 2016에는 SSISDB 업그레이드 마법사가 도입되었습니다. 이 도구를 사용하면 IT 전문가는 현재 버전의 SQL Server보다 오래된 카탈로그 데이터베이스를 업그레이드할 수 있습니다. 또한 백업에서 복원해야 하는 일부 재해 복구 상황에서도 사용할 수 있습니다. SSISDB 마법사는 사용 중인 SQL Server 버전과 일치하도록 카탈로그 데이터베이스를 업그레이드합니다.

SQL Server 2016 Integration Services를 사용하면 관리자는 SSIS 카탈로그 데이터베이스를 AlwaysOn 가용성 그룹에 추가할 수 있습니다. 또한 관리자가 Integration Services를 통해 컨테이너 또는 제어 흐름 작업을 재사용 가능한 템플릿으로 저장할 수 있는 향상된 패키지 관리 기능도 포함되어 있습니다. SQL Server 2016에는 Azure용 SSIS 기능 팩도 포함되어 있습니다. 이를 통해 관리자는 Azure 데이터 원본에 연결하고 Azure 클라우드와 온프레미스에 있는 데이터 원본 간에 데이터를 전송할 수 있습니다.

Microsoft는 2016년에 SQL Server 2016용 SAP Business Warehouse용 커넥터, Oracle 및 Teradata용 커넥터 버전 4.0, Analytics Platform System Appliance 업데이트 5용 커넥터를 포함한 SSIS용 커넥터를 출시했습니다.

Microsoft SSIS 설명:SQL Server 통합 서비스에 대한 종합 가이드 SQL Server 2016에는 SSISDB 업그레이드가 도입되었습니다.

SQL 서버 2017

SQL Server 2017에는 SSIS용 Scale Out과 같은 새로운 SSIS 기능이 도입되어 여러 컴퓨터에서 SSIS를 더 쉽게 실행할 수 있습니다. 관리자는 전체 Scale Out 배포에 대해 단일 실패 지점을 방지할 수 있습니다. 또한 Scale Out 작업자의 실행 로그에 대한 장애 조치 처리가 개선되었습니다. Scale Out 작업자가 갑자기 중지되면 실행 로그가 로컬 디스크에 유지됩니다.

SSIS 카탈로그에는 SSIS 패키지를 실행하기 위한 기본 모드를 지정하는 새로운 전역 속성도 포함되어 있습니다. 이는 IT 전문가가 runinscaleout 매개변수를 null로 설정하여 저장 프로시저를 호출할 때 적용됩니다.

SSIS 기록

Microsoft SSIS는 DTS(데이터 변환 서비스)라는 이전 통합 도구를 대체하기 위해 SQL Server 2005에 도입되었습니다. 1998년 SQL Server 7.0과 함께 DTS가 출시되기 전에 데이터베이스 관리자는 사용자 지정 데이터 변환 도구를 작성하거나 타사 도구를 사용하여 데이터를 전송했습니다.

Microsoft는 사용자가 패키지를 빌드하고 디버그할 수 있는 그래픽 도구 및 마법사를 포함하여 수년에 걸쳐 SSIS에 다양한 기능을 추가했습니다. 파일 전송 프로토콜 작업과 같은 작업 흐름 기능; SQL 문을 실행하는 능력; 메시지를 이메일로 보내는 기능; ETL용 데이터 소스 및 대상 데이터 수집, 정리, 병합 및 복사를 위한 변환; 관리 서비스; 패키지 실행 및 저장을 관리하는 능력; 및 SSIS 개체 모델용 API. 가장 인기 있는 기능 중에는 데이터 가져오기/내보내기 마법사와 패키지 데이터 소스 커넥터가 있습니다.

SSIS 지원

SSIS는 버전별로 다르므로 사용자는 SQL Server 버전과 일치하는 SSIS 버전을 가지고 있어야 합니다. 또한 SSIS는 SQL Express 또는 Workgroup 버전에서 지원되지 않습니다. 사용자는 SSIS 디자이너와 런타임 구성 요소는 물론 기본 데이터 프로파일링 도구와 사전 구축된 변환을 얻으려면 Standard, Business Intelligence 또는 Enterprise 버전을 구입해야 합니다. 고급 어댑터 및 고급 변환은 Enterprise 버전에서만 사용할 수 있습니다.

AWS, Microsoft, Google 및 Oracle 클라우드 데이터베이스를 비교하고 SQL Server용 샘플 데이터베이스와 이를 찾는 방법을 살펴보세요.