Python ETL 대 ETL 도구

직접 코딩해야합니까, 아니면 ETL 도구에 대한 라이센스를 받아야합니까?

방향 선택 : ETL 파이프 라인을 직접 코딩하거나 기존 ETL 도구를 사용 (작성자 별 이미지)

ETL 솔루션을 연구하는 경우 기존 ETL 도구를 사용할지 아니면 Python ETL 라이브러리 중 하나를 사용하여 직접 빌드할지 결정해야합니다 . 이 기사에서는 그러한 결정을 내릴 때 고려해야 할 몇 가지 요소를 살펴 봅니다.

ETL (Extract Transform Load)은 데이터웨어 하우스를위한 데이터 파이프 라인을 만드는 데있어 가장 중요한 측면입니다. 시장은 데이터웨어 하우스에서 매우 쉽게 구현할 수있는 즉시 사용 가능한 다양한 ETL 도구를 제공합니다. 그러나 최근 Python은 사용자 지정 ETL 파이프 라인을 만들기위한 훌륭한 옵션으로 등장했습니다. 이 기사에서는 Python ETL과 ETL 도구를 빠르게 비교하여 프로젝트에 대해 둘 중 하나를 선택하는 데 도움을 줄 것입니다.

ETL 도구

시장에는 쉽게 복잡한 데이터 파이프 라인을 구축하기 위해 사용할 수있는 즉시 사용 가능한 ETL 도구가 많이 있습니다. 대부분은 친숙한 그래픽 사용자 인터페이스를 제공하고 풍부한 파이프 라인 구축 기능을 가지고 있으며 다양한 데이터베이스 및 데이터 형식을 지원하며 때로는 일부 제한된 비즈니스 인텔리전스 기능을 포함하기도합니다. 이것에 대한 가장 좋은 점은이 모든 것이 즉시 사용 가능하다는 것입니다.

이러한 도구는 라이센스가 있거나 오픈 소스 일 수 있습니다. 대부분은 매달 수백 달러에서 수천 달러 사이의 구독 모델로 가격이 책정됩니다. 반면에 오픈 소스 도구는 무료이며 라이센스가 부여 된 도구가 제공하는 일부 기능도 제공하지만 비슷한 결과를 얻기 위해 훨씬 더 많은 개발이 필요한 경우가 많습니다.

시장에서 사용할 수있는 몇 가지 ETL 도구는 다음과 같습니다.

Avik 클라우드

Avik Cloud 는 클라우드 우선 접근 방식으로 설계된 비교적 새로운 ETL 플랫폼입니다. 즉, Azure, AWS 및 Google Cloud에서 사용하기 위해 특별히 만들어졌으며 세 가지 시장에서 모두 사용할 수 있습니다. 이러한 플랫폼의 클라우드 기반 가격 구조와 유사하게 Avik Cloud는 사용한만큼 지불하는 모델에 대해 요금을 부과합니다.

Avik Cloud의 ETL 프로세스는 지연 시간이 짧은 연속 처리를 달성하기 위해 Spark를 기반으로합니다. Avik Cloud는 사용하기 쉬운 시각적 파이프 라인 빌더도 제공합니다.

Informatica PowerCenter

Informatica 의 ETL 솔루션은 현재 서로 다른 데이터 소스에서 데이터를 연결하고 검색하는 데 사용되는 가장 일반적인 데이터 통합 ​​도구입니다. Informatica는 오랫동안 업계에 종사해 왔으며이 분야에서 확고한 역할을하고 있습니다. ETL, 데이터 마스킹, 데이터 품질, 데이터 복제, 데이터 관리 등을위한 데이터 통합 ​​제품이 있습니다.

알 루마

Alooma 는 클라우드의 데이터웨어 하우스로의 데이터 마이그레이션에 중점을 둔 라이선스 ETL 도구입니다. Alooma는 자동화 된 데이터 파이프 라인과 Amazon Redshift, Microsoft Azure 및 Google BigQuery에 대한 손쉬운 통합을 통해 많은 기업에 훌륭한 솔루션으로 보였습니다. 그러나 2019 년 Google에 인수 된 후 Alooma는 Google 이외의 데이터웨어 하우징 솔루션에 대한 지원을 크게 중단했습니다. 이로 인해 여러 클라우드 플랫폼에 의존하는 회사에 문제가 발생할 수 있습니다.

Xplenty

Xplenty 는 클라우드 기반 ETL 및 ELT (추출,로드, 변환) 도구입니다. 데이터 파이프 라인을 구축하기 위해 시각적 인터페이스를 사용하고 100 개 이상의 공통 데이터 소스에 연결합니다.

AWS Glue

AWS Glue 는 AWS 플랫폼을 기반으로하는 Amazon의 서버리스 ETL 솔루션입니다. 이미 AWS 에코 시스템에 뿌리를두고 있다면 AWS Glue가 좋은 선택이 될 수 있습니다.

Python ETL

파이썬은 소개가 필요하지 않습니다. 매년 파이썬은 천체 물리학에서 검색 엔진 최적화에 이르기까지 점점 더 많은 분야에서 유비쿼터스가됩니다. 따라서 Python에 ETL 솔루션이 있다는 것은 놀라운 일이 아닙니다.

ETL의 경우 Python은 몇 가지 강력한 오픈 소스 라이브러리를 제공합니다. 계속 성장하는 Python 오픈 소스 커뮤니티 덕분에 이러한 ETL 라이브러리는 강력한 엔드-투-엔드 데이터 파이프 라인을 개발할 수있는 다양한 기능을 제공합니다.

Python에 올인하는 경우 ETL 도구로 수행 할 수있는 것과 유사한 복잡한 ETL 파이프 라인을 만들 수 있습니다. 그러나 약간의 개발 시간을 태울 준비를하십시오. 이러한 라이브러리는 기능이 풍부하지만 위에 나열된 일부 ETL 플랫폼과 같이 즉시 사용할 수있는 것은 아닙니다.

인기있는 Python ETL 라이브러리 중 일부는 다음과 같습니다.

  • 판다
  • 루이지
  • 페틀
  • 보노보
  • 거품

Python ETL 대 ETL 도구

ETL 전략은 데이터웨어 하우징 전략을 설계 할 때 신중하게 선택해야합니다. ETL 프로세스를 선택하면 다른 플랫폼으로 마이그레이션하는 데 막대한 개발 시간이 소요되기 때문에 다소 갇히게됩니다. 이는 특히 스키마가 많고 아키텍처가 복잡한 엔터프라이즈 데이터웨어 하우스에 해당됩니다.

따라서 사용자 지정 Python ETL 및 ETL 도구의 유용성을 비교하여 선택에 도움이되도록하겠습니다.

비용

ETL 도구 (특히 대기업 데이터웨어 하우스의 경우)의 라이센스 비용은 높을 수 있지만이 비용은 엔지니어가 다른 작업을 수행하는 데 걸리는 시간으로 상쇄 될 수 있습니다. 소규모 기업이나 신생 기업은 ETL 플랫폼의 라이선스 비용을 항상 감당할 수있는 것은 아닙니다. 이러한 시나리오에서는 사용자 지정 Python ETL을 만드는 것이 좋은 옵션 일 수 있습니다. 그러나 비용 절감이 제품 출시 지연에 비해 가치가 있는지 고려하는 것도 중요합니다. 스타트 업에 대한 또 다른 고려 사항은 Avik Cloud와 같이 더 유연한 가격 책정을 가진 플랫폼이 사용에 비례하여 비용을 유지한다는 것입니다. 이는 제한된 ETL 요구를 가진 초기 단계 스타트 업에 훨씬 더 저렴하게 만들 수 있습니다.

데이터웨어 하우스의 크기 및 복잡성

복잡한 스키마가있는 빅 데이터웨어 하우스 인 경우, 특히 스키마가 더 자주 변경되는 경우 처음부터 사용자 지정 Python ETL 프로세스를 작성하는 것이 어려울 수 있습니다. 이 경우 요구 사항과 예산에 맞는 다양한 ETL 도구의 옵션을 탐색해야합니다.

단순성과 유연성

데이터웨어 하우스가 작 으면 엔터프라이즈 ETL 도구의 모든 기능이 필요하지 않을 수 있습니다. 사용자 정의 경량 Python ETL 프로세스를 작성하는 것이 좋을 수 있습니다. 단순하고 필요에 따라 사용자 정의 할 수있는 더 나은 유연성을 제공하기 때문입니다.

확장 성

데이터베이스의 초기 크기는 크지 않을 수 있습니다. 그러나 가까운 장래에 성장이 예상되는 경우 사용자 지정 Python ETL 파이프 라인도 데이터 처리량 증가에 따라 확장 될 수 있는지 여부를 판단해야합니다. 의심스러운 경우 일부 ETL 도구가 더 쉽게 확장 될 수 있으므로 좀 더 자세히 살펴볼 수 있습니다.

사용자 친근성

ETL 프로세스에 Python을 사용하려면 예상대로 Python에 대한 전문 지식이 필요합니다. 그러나 ETL 도구에는 일반적으로 사용자 친화적 인 GUI가있어 비전문가도 쉽게 작업 할 수 있습니다. 다시 말하지만, 프로젝트 요구 사항에 따라 선택하는 것입니다.

부가가치 및 지원

ETL 도구, 특히 유료 도구는 여러 기능과 호환성 측면에서 더 많은 부가가치를 제공합니다. 또한 고객 지원을 제공합니다. 이는 필요할 때까지 중요하지 않은 것으로 보입니다. 그러나 오픈 소스 도구에는 좋은 문서와 지원을 제공 할 수있는 많은 온라인 커뮤니티가 있습니다.

커스텀 Python ETL을 사용하면 이러한 사항을 놓칠 수 있습니다. 동일한 견고성으로 사용자 지정 Python ETL 프로세스에 시장 ETL 도구의 많은 기능을 통합하는 것은 어려운 작업이 될 것입니다.

Surprise Third 옵션 : 데이터 가상화

관심을 끌고있는 또 다른 옵션 중 하나는 데이터 가상화 를 위해 ETL을 완전히 앞선 것 입니다. 데이터 가상화는 서로 다른 사일로에서 데이터를 통합하는 논리적 데이터 계층입니다. 데이터 가상화는 통합 데이터를 관리하고 중앙 집중식 보안 및 거버넌스를 통해 사용자에게 제공합니다.

Denodo 는 데이터 관리 / 엔지니어링 옵션으로 데이터 가상화를 제공합니다.

Knowi 는 한 단계 더 나아가 데이터 가상화를 사용하여 비즈니스 인텔리전스 플랫폼을 강화합니다. 서로 다른 데이터 소스에 연결하는 데이터 가상화의 기능을 통해 Knowi는 먼저 ETL을 사용하여 데이터웨어 하우스로 데이터를 이동하지 않고도 실시간으로 데이터에 연결하고 시각화 할 수 있습니다.

결론

Python ETL 대 ETL 도구와 관련하여 확실한 승자는 없으며 둘 다 고유 한 장점과 단점이 있습니다. 마지막으로 위에서 논의한 다양한 매개 변수를 기반으로 선택하는 것이 전부입니다. 그러나 ETL에 Python 사용을 강력히 고려하고 있다면 적어도 거기에있는 플랫폼 옵션을 살펴보십시오. 특히 대담한 느낌이 든다면 토끼 구멍에서 데이터 가상화에 대해 조금 배우는 것을 고려하십시오. 마찬가지로 간단한 ETL 사용 사례에 ETL 도구를 사용하려는 경우 Python을 자세히 살펴볼 가치가 있습니다.

저자 정보

Sean Knight 는 SAAS 분석 회사 인 Growth Knowi의 책임자입니다 . 그는 물리학 및 데이터 과학 학위를 모두 가지고 있으며 입자 가속기, 연구용 원자로 인 NASA JPL에서 근무했으며 현재 스타트 업 세계에 있습니다. 그는 Towards Data Science, The Startup 및 Hackernoon에 기여하는 것을 즐기는 데이터 괴짜입니다. TwitterLinkedin
에서 그를 찾으십시오 .

Suggested posts

Express.js 시작하기

Express.js 시작하기

Express는 웹 및 모바일 앱을 만드는 경험을 즐겁게 만드는 기능 세트가 포함 된 Node.js 프레임 워크입니다.

Jetpack Compose로 IntelliJ IDEA의 스플래시 화면 모방

Jetpack Compose로 IntelliJ IDEA의 스플래시 화면 모방

IntelliJ IDEA의 최신 버전 (이 출판 당시 2021.1)에는 아래와 같이 다양한 색상의 모양을 포함하는 그리드를 기반으로하는 멋진 스플래시 화면이 있습니다.이 게시물의 목표는이 패턴을 모방 한 Jetpack Compose 컴포저 블을 구현하는 것입니다.

Related posts

데이터 과학을위한 필수 수학 : 기초 및 기초 변경

데이터 과학을위한 필수 수학 : 기초 및 기초 변경

고유 분해 및 SVD에 유용한 기저의 선형 대수 개념 이해이 기사에서는 고유 분해 또는 특이 값 분해 (SVD)와 같은 행렬 분해 방법을 이해하는 흥미로운 방법 인 기저 개념에 대해 알아 봅니다. 정의 기본은 벡터 공간 (벡터 집합)을 설명하는 데 사용되는 좌표계입니다.

판다와 에라스무스 연구 교환 분석

판다와 에라스무스 연구 교환 분석

Erasmus 프로그램 2011-12에서 발생한 20 만 개의 연구 교환으로 데이터 세트를 분석 한 결과 1987 년 이후 Erasmus 프로그램은 매년 수십만 명의 유럽 학생들에게 한 학기 또는 1 년을 해외에서 보낼 기회를 다른 유럽에서 보낼 수있는 기회를 제공합니다. 경제적 인 지원뿐만 아니라 쉬운 교환 과정을 제공합니다. 유럽의 다양한 사람, 언어 및 문화에 대한 마음과 마음을 열어주는 정말 귀중한 경험입니다.

데이터 과학을위한 8 가지 기본 통계 개념

… 평범한 영어로 설명

데이터 과학을위한 8 가지 기본 통계 개념

통계는 "수량 데이터의 수집, 분석, 해석 및 표현을 다루는 수학의 한 분야"입니다. 프로그래밍과 기계 학습을 혼합하면 데이터 과학의 핵심 기술에 대해 꽤 잘 설명 할 수 있습니다.

데이터 과학의 9 가지 거리 측정

일반적인 거리 측정의 장점과 함정

데이터 과학의 9 가지 거리 측정

감독되거나 감독되지 않는 많은 알고리즘은 거리 측정을 사용합니다. 유클리드 거리 또는 코사인 유사성과 같은 이러한 측정은 종종 k-NN, UMAP, HDBSCAN 등과 같은 알고리즘에서 찾을 수 있습니다.