ETL 예약 시스템이란 무엇입니까?
BI 개발을 해본 분들에게 ETL은 낯설지 않습니다. 데이터 소스로부터의 데이터 추출, 데이터 계산, 처리 개발까지 모두 포함하는 ETL은 추출이라는 세 단계로 구성됩니다. . 추출, 변환, 로딩.
다른 데이터 소스에서 데이터를 추출하고, 데이터를 처리하고, 특정 데이터 처리 규칙에 따라 TRASFORMATION 형식을 변환합니다. 최종 처리된 출력은 대상 데이터 테이블의 파일 등일 수도 있습니다. 로드 중입니다.
더 쉽게 말하면, ETL 과정은 모두가 매일 요리하는 것과 똑같습니다. 야채 시장의 여러 노점에서 야채를 사야 하고, 야채를 살 때 따서 씻어야 합니다. , 모든 것을 자르고 마지막으로 야채를 튀겨 저녁 식탁에 가져옵니다. 야채시장의 각 노점은 데이터 소스이고, 준비된 요리는 최종 결과물입니다. 야채 따기, 야채 씻기, 야채 자르기, 요리하기 등.
개발 중에는 대부분 KETTLE, PENTAHO, IBM DATASTAGE, INFORNAICA, SSIS in Microsoft SQL SERVER 등 일반적으로 사용되는 ETL 도구를 기본 SQL과 결합하여 구현하게 됩니다. . 전체 ETL 프로세스를 구현합니다.
어떤 사람들은 자신의 프로그램을 개발한 다음 일부 데이터 처리 스크립트를 제어하여 일괄 처리를 실행합니다. 기본적으로 프로그램과 SQL을 통해 구현됩니다.
어떤 방법이 더 나은지는 사용 시나리오와 개발자가 해당 방법을 사용하는 것이 더 편한지에 따라 다릅니다. 대부분의 소프트웨어 프로그램 개발자는 데이터 프로젝트에 있어서 일괄 실행을 위해 프로그램 제어를 사용하는 것을 선호한다고 생각합니다. 이는 프로그램 사고의 자연스러운 연속입니다. 대부분의 순수 BI 개발자는 개발을 위해 자연스럽게 성숙한 ETL 도구를 선택합니다. 물론 처음부터 프로그램 스크립트를 작성하는 사람들도 있습니다. 기본적으로 이러한 BI 개발자의 마스터는 프로그래머입니다.
프로그램을 사용하는 것의 장점은 적응성과 확장성이 뛰어나며 어떤 프로그램 처리 과정에도 통합되거나 분해될 수 있다는 점입니다. 때로는 프로그램을 사용하여 개발하는 것이 더 효율적입니다. 어려운 점은 유지 관리 인력에 대한 특정 기술 요구 사항이 있고 경험 전달 및 복제 가능성이 충분하지 않다는 것입니다.
ETL 도구를 사용하는 첫 번째 장점은 전체 ETL 개발 프로세스가 시각화된다는 것입니다. 특히 데이터 처리 프로세스의 계층적 설계에서 명확하게 관리할 수 있습니다. 두 번째는 다양한 데이터 소스에 연결할 때 다양한 데이터 소스와 데이터베이스의 링크 프로토콜이 이미 내장되어 있어 이를 구현하기 위한 프로그램을 작성하지 않고도 직접 구성할 수 있다는 점이다. 세 번째는 기본적으로 다양한 변환 제어를 드래그 앤 드롭 방식으로 사용할 수 있어 SQL 일부 개발이 단순화되고 이를 구현하기 위한 코드 작성이 필요하지 않다는 점이다. 네 번째는 다양한 ETL 스케줄링 규칙을 매우 유연하게 설계하고 고도로 구성할 수 있으며 이를 구현하기 위해 코드를 작성할 필요가 없다는 것입니다.
따라서 대부분의 일반 프로젝트에서는 프로젝트에 ETL 표준 구성 요소 개발을 사용하는 것이 더 일반적입니다.
ETL은 일반적으로 제어 흐름과 데이터 흐름의 두 가지 계층으로 나눌 수 있습니다. 이는 여러 ETL 도구의 설계 개념이기도 합니다.
제어 흐름은 각 데이터 흐름과 데이터 흐름 처리 순서를 제어하는 것입니다. 제어 흐름에는 여러 데이터 흐름이 포함될 수 있습니다. 예를 들어, 데이터 웨어하우스 개발 프로세스에서 처리의 첫 번째 레이어는 ODS 레이어 또는 Staging 레이어의 개발이고, 두 번째 레이어는 DIMENSION 차원 레이어의 개발이며, 다음 레이어는 DW 팩트 레이어의 개발입니다. 및 DM 데이터 마트 레이어. ETL의 스케줄링 관리를 통해 이러한 계층을 직렬로 연결하여 완전한 데이터 처리 프로세스를 구성할 수 있습니다.
데이터 흐름은 소스 데이터에서 대상 데이터 테이블로의 특정 데이터 변환 프로세스이므로 일부 ETL 도구는 데이터 흐름 변환이라고도 합니다. 데이터 흐름의 개발 및 설계 프로세스에는 주로 세 가지 링크가 있습니다. 대상 데이터 테이블에 대한 링크 이 두 가지는 ETL 제어를 통해 직접 구성할 수 있습니다.
중간 변환 프로세스에서는 현재 SQL 문 조정, 저장 프로시저 또는 ETL 컨트롤 사용과 같은 다양한 선택 사항이 있을 수 있습니다.
일부 프로젝트는 ETL 컨트롤을 사용하여 데이터 흐름에서 변환을 구현하는 데 익숙하며, 일부 프로젝트에서는 표준 변환 구성 요소를 사용하지 않고 이를 호출하기 위해 저장 프로시저를 사용해야 합니다. 때로는 데이터 웨어하우스 자체가 저장 프로시저를 지원하지 않고 표준 SQL을 통해서만 구현할 수 있기 때문인 경우도 있습니다.
우리가 일반적으로 이야기하는 BI 데이터 아키텍트는 실제로 ETL의 아키텍처 설계를 의미합니다. 이는 전체 BI 프로젝트에서 데이터 처리, 데이터 정리 및 모델링이 모두 ETL에 있는 기술 구현의 핵심 계층입니다. . 좋은 ETL 아키텍처 디자인은 동시에 수백 개의 패키지를 지원할 수 있으며, 이는 각 제어 흐름 아래에 수백 개의 데이터 흐름 처리 프로세스가 있을 수 있습니다. 이전에 기술 문서를 작성한 적이 있습니다. BIWORK ETL이라는 키워드를 검색하면 이 문서를 온라인에서 찾을 수 있습니다. 이러한 종류의 프레임워크 설계는 ETL 프레임워크 아키텍처의 설계일 뿐만 아니라 이후의 운영 및 유지 관리, BI 기반 BI 분석, ETL 성능 조정을 포함한 심층적인 ETL 프로젝트 관리 및 규범적인 컨트롤러 아이디어도 포함합니다. 이 프레임워크에는 모두 포함됩니다. 에 반영되었습니다. 대규모 BI 프로젝트에는 동시에 ETL을 개발하는 데 수십 명의 인력이 필요할 수 있으므로 프레임워크의 최상위 수준 설계가 매우 중요합니다.