brunch

You can make anything
by writing

C.S.Lewis

by 이종우 Peter Lee Oct 26. 2020

[펌] 최신 데이터 인프라를 위한 새로운 아키텍처

원본 URL: https://a16z.com/2020/10/15/the-emerging-architectures-for-modern-data-infrastructure/

참고 URL:  https://news.hada.io/topic?id=3055&utm_source=weekly&utm_medium=email&utm_campaign=202043


- 데이터 전문가들을 인터뷰하여 정리한 최신 데이터 인프라스트럭처 관련 정보 및 용어 설명
- 데이터 분야 전반을 이해하기에 정말 좋은 6장짜리 PDF


ㅤ1장으로 보는 통합 데이터 인프라 개념도


ㅤ1. Sources : 비즈니스 및 운영 데이터를 생성
ㅤㅤ→ㅤOLTP DB via *CDC
ㅤㅤ→ㅤApplications/ERP(Oracle,Salesforce,Netsuite) : 비즈니스에서 발생하는 모든 데이터
ㅤㅤ→ㅤEvent 수집기(Segment,Snowplow) : 서비스 사용자의 모든 이벤트를 수집
ㅤㅤ→ㅤLogs : 웹서버 및 각종 서버들의 로그
ㅤㅤ→ㅤ써드파티 API(Stripe등) : 결제 및 기타 사용API 들에서 발생되는 데이터
ㅤㅤ→ㅤ파일과 객체 스토리지


ㅤ2. Ingestion and Transformation : 요즘은 ETL to ELT, Extract / Load / Transform
ㅤㅤ운영시스템에서 데이터 추출(E) / 저장소로 옮기고(L) / 데이터를 분석용으로 변환(T)
ㅤㅤ→ㅤConnector(Fivetran, Stitch, Matillion) : 여러 소스에서 DW로 데이터를 옮기는 도구
ㅤㅤ→ㅤData Modeling (dbt, LookML) : 데이터 모델링 및 변환
ㅤㅤ→ㅤWorkflow Manager (Airflow, Dagster, Prefect) : 데이터 흐름 자동화를 위한 오케스트레이터 / 스케줄러
ㅤㅤ→ㅤSpark Platform (Databricks, Amazon EMR) : 분산처리를 위한 고성능 클러스터링 플랫폼
ㅤㅤ→ㅤPython Libs : 데이터분석 라이브러리 - Pandas, AWS 인터페이스 - Boto, 대용량 병렬처리용 Dask, 분산처리용 Ray..
ㅤㅤ→ㅤBatch Query Engine (Hive) : 빅데이터 쿼리
ㅤㅤ→ㅤEvent Streaming (Confluent/Kafka, Pulsar, AWS Kinesis) : 실시간 메시징/스트리밍 플랫폼
ㅤㅤ→ㅤStream Processing (Databricks/Spark, Confluent/Kafka, Flink) : 스트리밍 데이터를 수집/처리 및 분석


ㅤ3. Storage : 쿼리 및 처리가능한 형태로 데이터를 저장. 저비용, 확장성 및 분석작업에 대해 최적화.
ㅤㅤ→ㅤData Warehouse ( Snowflake, BigQuery, Redshift ) : 분석 가능한 정보들을 모은 데이터 통합 저장소
ㅤㅤ→ㅤData Lake : DW와 달리 정제하지 않은 정형/비정형 원시데이터를 저장
ㅤㅤㅤㅤDatabricks/Delta Lake(Spark와 S3/HDFS 등에 ACID 트랜잭션이 가능하게하는 데이터 레이크),
ㅤㅤㅤㅤㅤApache Iceberg(페타단위를 저장하는 초대형 테이블 포맷, Netflix가 개발),
ㅤㅤㅤㅤㅤApache Hudi(효율적인 데이터 레이크, Uber가 개발), Hive Acid
ㅤㅤ→ㅤApache Parquet - 컬럼기반 저장 포맷
ㅤㅤㅤㅤApache ORC - Optimized Row Columnar, 컬럼단위로 기록하며 인덱스도 함께 기록
ㅤㅤㅤㅤApache Avro - 로우단위 기록, 쓰기에 적합, 스키마 진화에 적합
ㅤㅤ→ㅤAWS S3(Simple Storage Service), GCS(Google Cloud Storage), ABS(Azure Blob Storage), HDFS(Hadoop Distributed File System)


ㅤ4&5. Historical & Predictive : 분석가 및 데이터 사이언티스트가 인사이트를 도출하기 위한 인터페이스(쿼리)를 제공
ㅤㅤ Historical : 과거에 무슨일이 일어났나를 설명. 아주 최근(거의 실시간) 포함
ㅤㅤ Predictive : 미래 예측, 데이터기반/ML 어플리케이션
ㅤㅤ→ㅤData Science Platform (Databricks, Domino, Sagemaker, Dataiku, DataRobot, Anaconda, ...)
ㅤㅤ→ㅤData Science and ML Libraries ((Pandas, Numpy, R, Dask, Ray, Spark, Scikit-learn, Pytorch, TensorFlow, Spark ML, XGBoost, )
ㅤㅤ→ㅤAd Hoc Query Engine (Presto, Dremio/Drill, Impala)
ㅤㅤ→ㅤReal-time Analytics : Imply/Druid - 실시간 분석, Altinity/Clickhouse - OLAP, Rockset - 상용 실시간분석엔진(고성능 KV 임베디드 DB인 RocksDB 기반)

ㅤ6. Output : 데이터 분석 결과를 내/외부에 보여주는 도구. 만들어진 데이터 모델을 운영시스템과 어플리케이션에 임베드
ㅤㅤ→ㅤDashboards : Looker, Apache Superset, Mode, Tableau - Business Inteligence 도구
ㅤㅤ→ㅤEmbedded Analytics : Sisense, Looker, cube.js - BI 도구를 내부 시스템에 임베드. API 기반. 내부 분석앱을 생성가능
ㅤㅤ→ㅤAugmented Analytics : Thoughtspot, Outlier, Anodot, Sisu - AI를 이용해서 알아서 분석해주는 도구
ㅤㅤ→ㅤApp Frameworks : Plotly Dash, Streamlit - ML App을 만들수 있게 해주는 프레임워크

ㅤ7. 그외
ㅤㅤ→ㅤMetadata Management (Collibra, Alation, Hive Metastore, DataHub, ...)
ㅤㅤ→ㅤQuality and Testing (Great Expectations)
ㅤㅤ→ㅤEntitlements and Security (Privacera, Immuta)
ㅤㅤ→ㅤObservability (Unravel, Accel Data, Fiddler)

2. 세가지 주요 분야별 블루프린트
ㅤ→ 최신 비즈니스 인텔리전스(BI)
ㅤ→ 멀티모달 데이터 프로세싱
ㅤ→ AI 와 ML 분야

* Change Data Capture : OLTP의 변경 데이터를 실시간으로 다양한 다른 저장소(DB,DW)에 복사


(번역본) 


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari