학습주제
데이터 웨어하우스 종류와 장단점
학습내용
데이터 레이크(스토리지) - 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를 통해 외부에서 관리하느 것도 가능
엄청 많은기능들을 추가해 데이터 클라우드라 불림.
data sharing/Marketplace 로 우리 데이터를 팔 수 있음. 데이터로 돈을 벌 수 있는 기능
ETL, 다양한 기능들을 제공 -> 데이터 클라우드
파이선 UDF로 비구조화, 머신러닝 기능
클라우드에 관계 없이 동작, aws, 구글 다 연동
배치 데이터 중심이지만 실시간 데이터 처리 지원
웹 콘솔, CLI, API 관리 가능
빅쿼리 sql라고 해서 훨씬 더 기능이 강력, 굉장의 복잡한 구조의 스키마도 처리가능
repeated field -> list array
Nested field -> JSON이 nesting 된 것처럼 서브필드, 서브 필드안에 또 서브필드
가변 비용 옵션은 스토리지, 컴퓨팅 비용이 따로 분리되어 있음
고정비용은 함께 묶여있음.
하이브QL, 하이브 SQL 처음은 맵리듀스 위에서
그다음은 얀 위에서
HDFS를 SQL로 지원
배치 데이터 프로세싱 시스템
Hive와 문법이나 모든게 비슷하나, 처리속도에 집중(데이터 양이 작더라도)
Hive는 디스크중심, Presto는 메모리 중심
두개는 서로 보완하는 느낌
Presto는 작은 데이터를 빠르게 처리. 개발할 때 프로토 타입
Hive는 실제 시스템 상에서 운영할 때 사용
AWS Athena가 Presto 기반으로 만들어짐
요새는 둘이 비슷해지는 느낌
Hive,Presto는 하둡 위에서 쓰는 SQL
데이터 웨어하우스 기술은 X
파일 포맷
목표: 파이썬 판다스처럼 데이터 처리할 수 있게하자
보면 파이썬이 거진 다 지원함