AWS용 ETL 도구의 강력한 기능 활용

ETL은 추출, 변환 및 로드를 나타냅니다. ETL 도구는 다양한 소스에서 데이터를 추출하여 대상 시스템 또는 데이터 모델 요구 사항에 적합한 중간 형식으로 변환합니다. 마지막으로 대상 데이터베이스, 데이터 웨어하우스 또는 데이터 레이크에 데이터를 로드합니다.

15년에서 20년 전 ETL이라는 용어가 무엇인지 이해하는 사람이 거의 없었던 때를 기억합니다. 다양한 사용자 지정 배치 작업이 온프레미스 하드웨어에서 최고조에 달했을 때.

많은 프로젝트에서 어떤 형태로든 ETL을 수행했습니다. 모르더라도 이름을 ETL로 지정해야 합니다. 그 동안 ETL 프로세스와 관련된 설계를 설명하고 호출하여 그런 식으로 설명할 때마다 거의 다른 세계 기술처럼 보였습니다. 매우 드문 일이었습니다.

그러나 오늘날에는 상황이 다릅니다. 클라우드로의 마이그레이션이 최우선 과제입니다. 그리고 ETL 도구는 대부분의 프로젝트 아키텍처에서 매우 전략적인 부분입니다.

결국 클라우드로 마이그레이션한다는 것은 온프레미스의 데이터를 소스로 가져와서 클라우드 아키텍처와 최대한 호환되는 형태의 클라우드 데이터베이스로 변환하는 것을 의미합니다. 정확히 ETL 도구의 작업입니다.

ETL의 역사와 그것이 현재와 연결되는 방식

출처: aws.amazon.com

ETL의 주요 기능은 항상 동일했습니다.

ETL 도구는 다양한 소스(데이터베이스, 플랫 파일, 웹 서비스 또는 최근에는 클라우드 기반 애플리케이션)에서 데이터를 추출합니다.

일반적으로 Unix 파일 시스템의 파일을 입력 및 전처리, 처리 및 후처리로 사용하는 것을 의미했습니다.

다음과 같은 폴더 이름의 재사용 가능한 패턴을 볼 수 있습니다.

  • 입력
  • 산출
  • 오류
  • 보관소

그 폴더 아래에는 주로 날짜를 기반으로 하는 또 다른 하위 폴더 구조도 존재했습니다.

이것은 들어오는 데이터를 처리하고 일종의 데이터베이스에 로드할 수 있도록 준비하는 표준 방법일 뿐입니다.

오늘날에는 Unix 파일 시스템이 없습니다(이전과 같은 방식이 아님). 심지어 파일이 없을 수도 있습니다. 이제 API(애플리케이션 프로그래밍 인터페이스)가 있습니다. 가능하지만 입력 형식으로 파일을 가질 필요는 없습니다.

모두 캐시 메모리에 저장할 수 있습니다. 여전히 파일일 수 있습니다. 그것이 무엇이든 어떤 구조화된 형식을 따라야 합니다. 대부분의 경우 이는 JSON 또는 XML 형식을 의미합니다. 경우에 따라 이전의 CSV(쉼표로 구분된 값) 형식으로도 가능합니다.

입력 형식을 정의합니다. 프로세스에 입력 파일의 기록 생성도 포함되는지 여부는 전적으로 귀하에게 달려 있습니다. 더 이상 표준 단계가 아닙니다.

변환

ETL 도구는 추출된 데이터를 분석에 적합한 형식으로 변환합니다. 여기에는 데이터 정리, 데이터 유효성 검사, 데이터 보강 및 데이터 집계가 포함됩니다.

이전에는 데이터가 Pro-C 또는 PL/SQL 절차적 데이터 준비, 데이터 변환 및 데이터 대상 스키마 저장 단계의 복잡한 사용자 지정 논리를 거쳤습니다. 파일이 처리된 단계에 따라 들어오는 파일을 하위 폴더로 분리하는 것과 마찬가지로 유사한 필수 표준 프로세스였습니다.

동시에 근본적으로 잘못된 것이라면 왜 그렇게 자연 스럽습니까? 영구 저장 없이 들어오는 데이터를 직접 변환함으로써 원시 데이터의 가장 큰 장점인 불변성을 잃게 되었습니다. 프로젝트는 재건의 기회 없이 그냥 버렸습니다.

  iPhone X, iPhone XR, iPhone XS 또는 iPhone XS Max를 설정하고 사용하는 방법

글쎄요. 오늘날 실행하는 원시 데이터의 변형이 적을수록 좋습니다. 즉, 시스템에 첫 번째 데이터를 저장하는 것입니다. 다음 단계는 심각한 데이터 변경 및 데이터 모델 변환이 될 수 있습니다. 그러나 가능한 한 변경되지 않은 원자 구조로 원시 데이터를 저장하려고 합니다. 당신이 나에게 묻는다면 온 프레미스 시간에서 큰 변화.

ETL 도구는 변환된 데이터를 대상 데이터베이스 또는 데이터 웨어하우스로 로드합니다. 여기에는 테이블 생성, 관계 정의 및 적절한 필드에 데이터 로드가 포함됩니다.

로딩 단계는 아마도 오랫동안 동일한 패턴을 따르는 유일한 단계일 것입니다. 유일한 차이점은 대상 데이터베이스입니다. 이전에는 대부분 Oracle이었지만 이제는 AWS 클라우드에서 사용 가능한 모든 것이 될 수 있습니다.

오늘날 클라우드 환경의 ETL

온프레미스에서 (AWS) 클라우드로 데이터를 가져올 계획이라면 ETL 도구가 필요합니다. 그것 없이는 갈 수 없기 때문에 클라우드 아키텍처의 이 부분이 퍼즐의 가장 중요한 조각이 된 것입니다. 이 단계가 잘못되면 나중에 다른 모든 것이 따라와 모든 곳에서 동일한 냄새를 공유합니다.

많은 대회가 있지만 개인적으로 가장 많이 경험한 세 가지 대회에 집중하겠습니다.

  • 데이터 마이그레이션 서비스(DMS) – AWS의 기본 서비스입니다.
  • Informatica ETL – 아마도 ETL 세계의 주요 상용 업체로서 온프레미스에서 클라우드로 비즈니스를 성공적으로 전환합니다.
  • Matillion for AWS – 클라우드 환경에서 비교적 새로운 플레이어입니다. AWS 고유가 아니라 클라우드 고유입니다. Informatica와 견줄 만한 역사가 없습니다.

ETL로서의 AWS DMS

출처: aws.amazon.com

AWS Data Migration Services(DMS)는 다양한 소스의 데이터를 AWS로 마이그레이션할 수 있는 완전관리형 서비스입니다. 여러 마이그레이션 시나리오를 지원합니다.

  • 동종 마이그레이션(예: Oracle에서 Oracle용 Amazon RDS로).
  • 이기종 마이그레이션(예: Oracle에서 Amazon Aurora로).

DMS는 데이터베이스, 데이터 웨어하우스 및 SaaS 애플리케이션을 비롯한 다양한 소스에서 Amazon S3, Amazon Redshift 및 Amazon RDS를 비롯한 다양한 대상으로 데이터를 마이그레이션할 수 있습니다.

AWS는 DMS 서비스를 모든 데이터베이스 소스의 데이터를 클라우드 네이티브 대상으로 가져오기 위한 궁극적인 도구로 취급합니다. DMS의 주요 목표는 데이터를 클라우드로 복사하는 것이지만 그 과정에서 데이터를 변환하는 작업도 잘 수행합니다.

JSON 형식으로 DMS 작업을 정의하여 소스에서 대상으로 데이터를 복사하는 동안 다양한 변환 작업을 자동화할 수 있습니다.

  • 여러 원본 테이블 또는 열을 단일 값으로 병합합니다.
  • 소스 값을 여러 대상 필드로 분할합니다.
  • 소스 데이터를 다른 대상 값으로 바꿉니다.
  • 불필요한 데이터를 제거하거나 입력 컨텍스트를 기반으로 완전히 새로운 데이터를 만듭니다.

즉, 예, DMS를 프로젝트의 ETL 도구로 확실히 사용할 수 있습니다. 아래의 다른 옵션만큼 정교하지 않을 수도 있지만 목표를 명확하게 미리 정의하면 작업을 수행할 수 있습니다.

적합성 요인

DMS는 일부 ETL 기능을 제공하지만 주로 데이터 마이그레이션 시나리오에 관한 것입니다. 그러나 Informatica 또는 Matillion과 같은 ETL 도구 대신 DMS를 사용하는 것이 더 나을 수 있는 몇 가지 시나리오가 있습니다.

  • DMS는 원본 및 대상 데이터베이스가 동일한 동종 마이그레이션을 처리할 수 있습니다. 이는 Oracle에서 Oracle로 또는 MySQL에서 MySQL로와 같이 동일한 유형의 데이터베이스 간에 데이터를 마이그레이션하는 것이 목표인 경우 이점이 될 수 있습니다.
  • DMS는 몇 가지 기본적인 데이터 변환 및 사용자 정의 기능을 제공하지만 그 점에서 매우 성숙하지 않을 수 있습니다. 이는 데이터 변환 요구 사항이 제한적인 경우 여전히 이점이 될 수 있습니다.
  • 데이터 품질 및 거버넌스 요구 사항은 일반적으로 DMS에서 매우 제한적입니다. 그러나 이러한 영역은 프로젝트의 후반 단계에서 다른 도구를 사용하여 개선할 수 있으며 해당 목적을 위해 더 결정됩니다. 가능한 한 간단하게 ETL 부분을 수행해야 할 수도 있습니다. 그렇다면 DMS는 완벽한 선택입니다.
  • DMS는 예산이 제한된 조직에 보다 비용 효율적인 옵션이 될 수 있습니다. DMS는 Informatica 또는 Matillion과 같은 ETL 도구보다 가격 모델이 단순하여 조직에서 비용을 더 쉽게 예측하고 관리할 수 있습니다.
  •   이 앱이 계약 지정 오류를 지원하지 않는 문제 수정

    마틸리온 ETL

    출처: matillion.com

    클라우드 네이티브 솔루션이며 이를 사용하여 데이터베이스, SaaS 애플리케이션 및 파일 시스템을 비롯한 다양한 소스의 데이터를 통합할 수 있습니다. ETL 파이프라인 구축을 위한 시각적 인터페이스를 제공하고 Amazon S3, Amazon Redshift 및 Amazon RDS를 비롯한 다양한 AWS 서비스를 지원합니다.

    Matillion은 사용하기 쉽고 ETL 도구를 처음 사용하거나 덜 복잡한 데이터 통합 ​​요구 사항이 있는 조직에 적합한 선택이 될 수 있습니다.

    반면 Matillion은 일종의 백지 상태입니다. 미리 정의된 몇 가지 잠재적인 기능이 있지만 실제로 구현하려면 사용자 정의 코딩해야 합니다. 정의상 기능이 있더라도 Matillion이 즉시 작업을 수행할 것으로 기대할 수 없습니다.

    또한 Matillion은 스스로를 ETL 도구가 아닌 ELT라고 자주 설명했습니다. 즉, Matillion이 변환 전에 로드를 수행하는 것이 더 자연스럽습니다.

    적합성 요인

    즉, Matillion은 이전보다 이미 데이터베이스에 저장된 데이터를 변환하는 데 더 효과적입니다. 그 주된 이유는 이미 언급한 사용자 지정 스크립팅 의무 때문입니다. 모든 특수 기능을 먼저 코딩해야 하므로 효율성은 사용자 정의 코드의 효율성에 크게 좌우됩니다.

    이것이 대상 데이터베이스 시스템에서 더 잘 처리되고 Matillion에 간단한 1:1 로드 작업만 남겨두는 것은 자연스러운 일입니다. 여기에서 사용자 정의 코드로 이를 파괴할 기회가 훨씬 적습니다.

    Matillion은 데이터 통합을 위한 다양한 기능을 제공하지만 일부 다른 ETL 도구와 동일한 수준의 데이터 품질 및 거버넌스 기능을 제공하지 않을 수 있습니다.

    Matillion은 조직의 필요에 따라 확장 또는 축소할 수 있지만 매우 많은 양의 데이터를 처리하는 데에는 효과적이지 않을 수 있습니다. 병렬 처리는 매우 제한적입니다. 이와 관련하여 Informatica는 더 발전되고 동시에 기능이 풍부하기 때문에 확실히 더 나은 선택입니다.

    그러나 많은 조직에서 AWS용 Matillion은 요구 사항을 충족하는 충분한 확장성과 병렬 처리 기능을 제공할 수 있습니다.

    인포매티카 ETL

    출처: informatica.com

    Informatica for AWS는 AWS의 다양한 소스 및 대상에서 데이터를 통합하고 관리하도록 설계된 클라우드 기반 ETL 도구입니다. 데이터 프로파일링, 데이터 품질 및 데이터 거버넌스를 포함하여 데이터 통합을 위한 다양한 기능을 제공하는 완전 관리형 서비스입니다.

      iPhone에서 활성화 잠금을 제거하는 방법

    AWS용 Informatica의 주요 특징 중 일부는 다음과 같습니다.

  • Informatica는 실제 요구 사항에 따라 확장 또는 축소되도록 설계되었습니다. 대용량 데이터를 처리할 수 있으며 데이터베이스, 데이터 웨어하우스 및 SaaS 애플리케이션을 비롯한 다양한 소스의 데이터를 통합하는 데 사용할 수 있습니다.
  • Informatica는 암호화, 액세스 제어 및 감사 추적을 비롯한 다양한 보안 기능을 제공합니다. HIPAA, PCI DSS 및 SOC 2를 비롯한 다양한 산업 표준을 준수합니다.
  • Informatica는 ETL 파이프라인 구축을 위한 시각적 인터페이스를 제공하여 사용자가 데이터 통합 ​​워크플로우를 쉽게 생성하고 관리할 수 있도록 합니다. 또한 시스템을 연결하고 통합 프로세스를 활성화하는 데 사용할 수 있는 다양한 사전 구축 커넥터 및 템플릿을 제공합니다.
  • Informatica는 Amazon S3, Amazon Redshift 및 Amazon RDS를 비롯한 다양한 AWS 서비스와 통합됩니다. 따라서 다양한 AWS 서비스에서 데이터를 쉽게 통합할 수 있습니다.
  • 적합성 요인

    분명히 Informatica는 목록에서 가장 기능이 풍부한 ETL 도구입니다. 그러나 AWS에서 사용할 수 있는 다른 일부 ETL 도구보다 사용하기가 더 비싸고 복잡할 수 있습니다.

    Informatica는 특히 중소기업의 경우 비용이 많이 들 수 있습니다. 가격 책정 모델은 사용량을 기반으로 합니다. 즉, 조직은 사용량이 증가함에 따라 더 많은 비용을 지불해야 할 수 있습니다.

    또한 특히 ETL 도구를 처음 접하는 사용자에게는 설정 및 구성이 복잡할 수 있습니다. 이를 위해서는 시간과 자원에 상당한 투자가 필요할 수 있습니다.

    그것은 또한 “복잡한 학습 곡선”이라고 부를 수 있는 것으로 이어집니다. 이는 데이터를 신속하게 통합해야 하거나 교육 및 온보딩에 전념할 리소스가 제한된 사람들에게는 단점이 될 수 있습니다.

    또한 Informatica는 비 AWS 소스의 데이터를 통합하는 데 효과적이지 않을 수 있습니다. 이와 관련하여 DMS 또는 Matillion이 더 나은 선택이 될 수 있습니다.

    마지막으로 Informatica는 매우 폐쇄적인 시스템입니다. 프로젝트의 특정 요구 사항에 맞게 사용자 정의할 수 있는 기능이 제한되어 있습니다. 기본적으로 제공되는 설정으로 생활하면됩니다. 따라서 솔루션의 유연성이 어떻게든 제한됩니다.

    마지막 말

    다른 많은 경우와 마찬가지로 AWS의 ETL 도구와 같이 모든 솔루션에 맞는 하나의 크기는 없습니다.

    Informatica와 함께 가장 복잡하고 기능이 풍부하며 값비싼 솔루션을 선택할 수 있습니다. 그러나 다음과 같은 경우 가장 많이 하는 것이 좋습니다.

    • 프로젝트 규모가 다소 크며 미래의 전체 솔루션과 데이터 소스도 Informatica에 연결될 것이라고 확신합니다.
    • 숙련된 Informatica 개발자 및 구성자로 구성된 팀을 데려올 수 있습니다.
    • 든든한 지원팀의 지원을 받을 수 있고 비용을 잘 지불할 수 있습니다.

    위의 무언가가 꺼져 있으면 Matillion에게 기회를 줄 수 있습니다.

    • 프로젝트의 요구 사항이 일반적으로 그렇게 복잡하지 않은 경우.
    • 처리에 매우 사용자 정의된 단계를 포함해야 하는 경우 유연성이 핵심 요구 사항입니다.
    • 팀과 함께 처음부터 대부분의 기능을 구축해도 괜찮다면.

    훨씬 덜 복잡한 경우에는 DMS for AWS를 기본 서비스로 사용하는 것이 확실한 선택이며 이는 목적에 잘 부합할 수 있습니다.

    다음으로, 데이터를 더 잘 관리할 수 있는 데이터 변환 도구를 확인하십시오.