5강. Day 1-4

data_hamster·2023년 5월 24일
0
post-custom-banner

학습주제
데이터 웨어하우스 종류와 장단점

학습내용

데이터 레이크(스토리지) - Iceberg
빅데이터 프로세싱 프레임워크(엔진)- Spark
Iceberg + Spark

Iceberg 빼고 모두 SQL 기반의 빅데이터 기반 데이터베이스(처리 엔진)


최대 2TB까지 처리, 분산 데이터 처리 엔진
Postgresql과 호환
python UDF로 기능 확장 가능
고정비용을 시작 -> 가변비용도 지원 (serverless)
예약형태로 약정하는 (1년, 3년) 형태 있음
csv, json, avro, parquet 기본적으로 어떤 테이블에 인풋되는 형태로 한꺼번에 벌크됨. avro, parquet이 훨씬 효율적
s3 - 어떤 redshift 기능을 쓰느냐에 따라 연동쉬움.
dynamoDB - redshift 연동
sageMaker 머신러닝 모델 빌딩, redshift에서 select로 머신러닝 모델을 호출할 수 있음
Redshift spectrum, athena 등 같이 사용
실시간 데이터 처리도 지원 시작-aws 키네시스와 연동이 쉬움
웹 콘솔로 관리하던지 CLI로 관리하던지, 정말로 원한다면 API를 통해 외부에서 관리하느 것도 가능

Snowflake


엄청 많은기능들을 추가해 데이터 클라우드라 불림.
data sharing/Marketplace 로 우리 데이터를 팔 수 있음. 데이터로 돈을 벌 수 있는 기능
ETL, 다양한 기능들을 제공 -> 데이터 클라우드

파이선 UDF로 비구조화, 머신러닝 기능
클라우드에 관계 없이 동작, aws, 구글 다 연동
배치 데이터 중심이지만 실시간 데이터 처리 지원
웹 콘솔, CLI, API 관리 가능

Bigquery


빅쿼리 sql라고 해서 훨씬 더 기능이 강력, 굉장의 복잡한 구조의 스키마도 처리가능
repeated field -> list array
Nested field -> JSON이 nesting 된 것처럼 서브필드, 서브 필드안에 또 서브필드
가변 비용 옵션은 스토리지, 컴퓨팅 비용이 따로 분리되어 있음
고정비용은 함께 묶여있음.

Hive


하이브QL, 하이브 SQL 처음은 맵리듀스 위에서
그다음은 얀 위에서
HDFS를 SQL로 지원
배치 데이터 프로세싱 시스템

  • 데이터 파티셔닝, 버킷팅
  • 한번 처리할 수 있는 데이터 양이 큼
    웹 UI, CLI 지원
    지금은 Spark에 밀리는 분위기
    많은 회사들이 바꾸는 중

Presto


Hive와 문법이나 모든게 비슷하나, 처리속도에 집중(데이터 양이 작더라도)
Hive는 디스크중심, Presto는 메모리 중심
두개는 서로 보완하는 느낌
Presto는 작은 데이터를 빠르게 처리. 개발할 때 프로토 타입
Hive는 실제 시스템 상에서 운영할 때 사용
AWS Athena가 Presto 기반으로 만들어짐
요새는 둘이 비슷해지는 느낌
Hive,Presto는 하둡 위에서 쓰는 SQL

Iceberg


데이터 웨어하우스 기술은 X
파일 포맷

  • 클라우드 스토리지 위에서 동작
  • 하둡 파일 포맷과도 호환
  • ACID 트랜잭션 지원, 과거 버전으로 롤백 지원.
  • 스키마 에볼루션, 파일 포멧이 어떻게 변했는지, 컬럼 추가 가능
    강력한 데이터 파일 포맷
    데이터 레이크를 구현하는 일이 늘어나고 있음
    Iceberg, Spark을 연동해서 많이 사용 - 합치면 데이터 웨어하우스

Spark


목표: 파이썬 판다스처럼 데이터 처리할 수 있게하자

  • 그 외에도 SQL 빅데이터 프로세싱 가능케함.
  • 스트리밍처리 카프카
  • 머신러닝 빌드
    별도의 분산처리 시스템을 갖는게 아니라 이미 만들어져 있는걸 씀. 하둡(얀), k8s를 아래 두고 그 위에 씀
  • 별도의 자기만의 분산 파일 시스템을 갖고있는게 아님!
  • S3, Cassandra, 처리 후 다시 저장

보면 파이썬이 거진 다 지원함

profile
반갑습니다 햄스터 좋아합니다
post-custom-banner

0개의 댓글