Tech News

제목최신 데이터 인프라를 위한 새로운 아키텍처2020-10-20 09:33
작성자 Level 10

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


- 데이터 전문가들을 인터뷰하여 정리한 최신 데이터 인프라스트럭처 관련 정보 및 용어 설명

- 데이터 분야 전반을 이해하기에 정말 좋은 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 분야

G
M
T
음성 기능은 200자로 제한됨
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)