데이터 엔지니어링/데이터 엔지니어링 기초

빅데이터를 지탱하는 기술 키워드 정리 - 下

오몰내알 2022. 6. 24. 09:51

Chapter4. 빅데이터의 축적

데이터 수집

  • 벌크형 데이터 전송: DB나 웹서버에서 SQL, API로 데이터를 추출하여 ETL 서버를 통해 분산 스토리지에 저장한다. 신뢰성이 중요한 경우에는 사용하면 좋다.
  • 스트리밍형 데이터 전송: 다수의 클라이언트에서 지속적으로 작은 데이터가 전송된다. 메시지 큐와 메시지 브로커와 같은 중계 시스템을 이용하여 일정한 간격으로 모아서 분산 스토리지에 저장한다.

시계열 데이터 최적화

  • 이벤트 시간: 실제 해당 데이터가 생성된 시간. 즉, 실제 분석의 대상이 되는 시간
  • 프로세스 시간: 서버가 처리하는 시간

시계열 인덱스: 이벤트 시간에 대해 인덱스를 만들어 데이터 집계를 빠르게 실행할 수 있게 해주는 방법으로 카산드라와 같은 분산 데이터베이스를 이용할 수 있다.

 

비구조화 데이터의 분산 스토리지

  • 키-값 스토어: 모든 데이터를 키값 쌍으로 저장. ex) DynamoDB
  • 와이드 칼럼 스토어: 하나의 테이블에 가로와 세로의 2차원 데이터를 쓸 수 있도록 한 데이터베이스. ex) Apache Cassandra
  • 도큐먼트 스토어: 스키마리스 데이터를 그대로 저장하고 쿼리를 실행 ex) MongoDB
  • 검색 엔진: 텍스트 데이터나 스키마리스 데이터를 집계하는데 자주 사용 ex) Elasticsearch

Ch5. 빅데이터의 파이프라인

워크플로: 정형적인 업무 프로세스와 같이 정해진 업무를 원활하게 진행하기 위한 구조 ex) Airflow, Oozie, Prefect

데이터 플로우: 다단계의 데이터 처리를 그대로 분산 시스템의 내부에서 실행 ex) Spark, Flink

 

배치 형의 데이터 플로우

데이터 웨어하우스 파이프라인
데이터 마트 파이프라인
애드 혹 파이프라인

스트리밍 형의 데이터 플로우

스트림 처리: 분산 스토리지를 거치지 않고 처리를 계속하는 것

 

스트림 처리의 문제 해결

람다 아키텍처, 카파 아키텍처

Ch6. 빅데이터 분석 기반 구축

스키마리스 데이터의 애드 훅 분석

데이터 소스 -> 트위터 스트리밍 API

분산 스토리지 -> 몽고DB

분산 데이터 처리 -> Spark

데이터 정형 -> pandas

대화식 콘솔 -> 주피터 노트북

 

Hadoop에 의한 데이터 파이프라인

데이터 소스 -> 몽고DB

벌크 형 데이터 전송 -> Embulk

분산 시스템 -> Hadoop

데이터 구조화 -> Hive

쿼리 엔진 -> Presto

 

클라우드 서비스를 이용한 데이터 파이프라인

AWS

GCP

반응형