ELT/ETL
드디어 돌아왔구나? 제일 궁금했지만 여태껏 미뤄두고만 있었던 이엘티와 이티엘 공부 어디 한번 가보자고
Q) Which of the following statements about ELT are true?
- An ELT model enavles faster loading times than ETL
- An ELT model is an alternative to ETL
- With an ELT model, users can run transformations directly on the raw data
- An ELT model increase the time data spends in transit
1. ELT(Extract - Load - Transform)
- the data is stored before being transformed
- The data processing engine can take an iterative approach, retrieving and processing the data from storage, before writing the transformed data and models back to storage.
- suitable for constructing complex models that depend on multiple items in the database, often using periodic batch processing.
- ELT is a scalable approach that is suitable for the cloud because it can make use of the extensive processing power available.
- The more stream-oriented approach of ETL places more emphasis on throughput.
- 이때 새롭게 등장한 게 Haddop이다!!!
- 타겟 시스템 또는 툴이 직접 데이터를 변형하게 하기 가능, 데이터를 추출한 후 즉시 로드 단계시작 -> 모든 데이터 소스를 하나의 공간에 이동 -> HDFS 등이 사용된다.
- 실시간 데이터가 생성되고 소멸되는 시점 우선 데이터를 다 저장해두자! 어디에 쓸 건지는 일단 나중에 생각 => Data Lake
- 대량의 데이터를 가진 환경에서 이러한 Data Lake를 지원하기 위해 많이 사용된다.
2. ETL(Extract - Transform - Load)
- The raw data is retrieved and transformed before being saved
- can be performed as a continuous pipeline of operations
- systems that only require simple models, with little dependency between items
- used for basic data cleaning tasks, deduplicating data, and reformatting the contents of individual fields.
- ETL can filter data before it's stored. In this way, ETL can help with data privacy and compliance, removing sensitive data before it arrives in your analytical data models.
summary
그니까 Transform이 어디있냐가 핵심이다. 변형을 하고 적재를 하냐 적재를 하고 변형을 하냐
용도가 바뀐다거나 데이터 웨어하우스의 구조가 바뀌는 이슈는 트랜스폼 단계 전체를 무력화 시킬 수 있다. 그러니 선택을 잘해야할 것.
본인은 어디서 추출해서 어디다 적제해? 이런 개념이 어려웠던 것 같다. 하지만 단순하다 이 개념은 그저 "한 곳에 저장된 데이터를 필요에 의해 다른 곳으로 이동하는 것" 그건 기존 데이터를 재 적재하는 과정일 수도 있고, 데이터의 테이블 스키마를 변형하기 위해 추출-적재를 하는 과정일 수있다. 이러한 일련의 과정을 진행하는 소프트웨어는 무엇일까? 직접 써봐야 더 재밌을 것 같다.
- 대표적인 로그 수집기인 Fluented, Logstash(Kafka, Filebeat)로 직접 데이터 파이프라인 구축을 해보고 싶다.
- spark사용해서 분산처리까지, 관리할 수 있는 Airflow사용까지가 목표
Q) Which of the following statements about ELT are true?
- An ELT model enables faster loading times than ETL -> 변형을 하지 않고 적재를 하니 더 빠르다 O
- An ELT model is an alternative to ETL -> ?
- With an ELT model, users can run transformations directly on the raw data -> NO
- An ELT model increase the time data spends in transit -> NO
Reference)
https://learn.microsoft.com/en-us/training/modules/explore-concepts-of-data-analytics/
Explore concepts of data analytics - Training
Explore concepts of data analytics
learn.microsoft.com
https://rivery.io/blog/etl-vs-elt/
ETL vs ELT: Key Differences, Side-by-Side Comparisons, & Use Cases
ETL vs ELT: ETL (Extract, Transform, Load) and ELT differ in two ways: Where the data is transformed and how data warehouses retain the data.
rivery.io
+
https://docs.netapp.com/ko-kr/netapp-solutions/pdfs/sidebar/데이터_파이프라인__데이터_레이크_및_관리.pdf
+
Q) What is data ingestion
A) Capturing raw data streaming from various sources and storing it