터칭 데이터
데이터 웨어하우스 옵션들 본문
◆ 살펴볼 옵션들
AWS Redshift
Snowflake
Google Cloud BigQuery
Apache Hive
Apache Presto
Apache Iceberg
Apache Spark
이 옵션들의 공통점은?
Iceberg를 제외하고는 모두 SQL을 지원하는 빅데이터 기반 데이터베이스
◆ AWS Redshift
❖ 2012년에 시작된 AWS 기반의 데이터웨어하우스로 PB 스케일 데이터 분산 처리 가능
Postgresql과 호환되는 SQL로 처리 가능하게 해줌
Python UDF (User Defined Function)의 작성을 통해 기능 확장 가능
처음에는 고정비용 모델로 시작했으나 이제는 가변비용 모델도 지원 (Redshift Serverless)
온디맨드 가격 이외에도 예약 가격 옵션도 지원
❖ CSV, JSON, Avro, Parquet 등과 같은 다양한 데이터 포맷을 지원
❖ AWS내의 다른 서비스들과 연동이 쉬움
S3, DynamoDB, SageMaker 등등
▪ ML 모델의 실행도 지원 (SageMaker)
Redshift의 기능 확장을 위해 Redshift Spectrum, AWS Athena등의 서비스와 같이 사용 가능
❖ 배치 데이터 중심이지만 실시간 데이터 처리 지원
❖ 웹 콘솔 이외에도 API를 통한 관리/제어 가능
◆ Snowflake
❖ 2014년에 클라우드 기반 데이터웨어하우스로 시작됨 (2020년 상장)
지금은 데이터 클라우드라고 부를 수 있을 정도로 발전
데이터 판매를 통한 매출을 가능하게 해주는 Data Sharing/Marketplace 제공
ETL과 다양한 데이터 통합 기능 제공
❖ SQL 기반으로 빅데이터 저장, 처리, 분석을 가능하게 해줌
비구조화된 데이터 처리와 머신러닝 기능 제공
❖ CSV, JSON, Avro, Parquet 등과 같은 다양한 데이터 포맷을 지원
S3, GC 클라우드 스토리지, Azure Blog Storage도 지원
❖ 배치 데이터 중심이지만 실시간 데이터 처리 지원
❖ 웹 콘솔 이외에도 API를 통한 관리/제어 가능
◆ Google Cloud Bigquery
❖ 2010년에 시작된 구글 클라우드의 데이터 웨어하우스 서비스
구글 클라우드의 대표적인 서비스
BigQuery SQL이란 SQL로 데이터 처리 가능 (Nested fields, repeated fields 지원)
가변 비용과 고정 비용 옵션 지원
❖ CSV, JSON, Avro, Parquet 등과 같은 다양한 데이터 포맷을 지원
❖ 구글 클라우드 내의 다른 서비스들과 연동이 쉬움
클라우드 스토리지, 데이터플로우, AutoML 등등
❖ 배치 데이터 중심이지만 실시간 데이터 처리 지원
❖ 웹 콘솔 이외에도 API를 통한 관리/제어 가능
◆ Apache Hive
❖ Facebook이 2008년에 시작한 아파치 오픈소스 프로젝트
❖ 하둡 기반으로 동작하는 SQL 기반 데이터 웨어하우스 서비스
HiveQL이라 부르는 SQL 지원
MapReduce위에서 동작하는 버전과 Apache Tez를 실행 엔진으로 동작하는 버전 두 가지가 존재
다른 하둡 기반 오픈소스들과 연동이 쉬움 (Spark, HBase 등등)
자바나 파이썬으로 UDF 작성 가능
❖ CSV, JSON, Avro, Parquet 등과 같은 다양한 데이터 포맷을 지원
❖ 배치 빅데이터 프로세싱 시스템
데이터 파티셔닝과 버킷팅과 같은 최적화 작업 지원
빠른 처리속도 보다는 처리할 수 있는 데이터 양의 크기에 최적화
❖ 웹 UI와 커맨드라인 UI (CLI라고 부름) 두 가지를 지원
❖ 점점 Spark에 의해 밀리는 분위기임
◆ Apache Presto
❖ Facebook이 2013년에 시작한 아파치 오픈소스 프로젝트
❖ 다양한 데이터소스에 존재하는 데이터를 대상으로 SQL 실행 가능
HDFS (Hadoop Distributed File System), S3, Cassandra, MySQL 등등
PrestoSQL이란 부르는 SQL 지원
❖ CSV, JSON, Avro, ORC, Parquet 등과 같은 다양한 데이터 포맷을 지원
❖ 배치 빅데이터 프로세싱 시스템
Hive와는 다르게 빠른 응답 속도에 좀더 최적화 (메모리 기반)
❖ 웹 UI와 커맨드라인 UI (CLI라고 부름) 두 가지를 지원
❖ AWS Athena가 바로 Presto를 기반으로 만들어짐
◆ Apache Iceberg
❖ Netflix가 2018년에 시작한 아파치 오픈소스 프로젝트로 데이터 웨어하우스 기술이 아님
❖ 대용량 SCD (Slowly-Changing Datasets) 데이터를 다룰 수 있는 테이블 포맷
HDFS, S3, Azure Blob Storage 등의 클라우드 스토리지 지원
ACID 트랙잭션과 타임여행 (과거 버전으로 롤백과 변경 기록 유지 등등)
스키마 진화 (Schema Evolution) 지원을 통한 컬럼 제거와 추가 가능 (테이블 재작성 없이)
❖ 자바와 파이썬 API를 지원
❖ Spark, Flink, Hive, Hudi 등의 다른 Apache 시스템과 연동 가능
◆ Apache Spark
❖ UC 버클리 AMPLab이 2013년에 시작한 아파치 오픈소스 프로젝트
❖ 빅데이터 처리 관련 종합선물세트
배치처리(API/SQL), 실시간처리, 그래프처리, 머신러닝 기능 제공
❖ 다양한 분산처리 시스템 지원
하둡(YARN), AWS EMR, Google Cloud Dataproc, Mesos, K8s 등등
❖ 다양한 파일시스템과 연동 가능
HDFS, S3, Cassandra, HBase 등등
❖ CSV, JSON, Avro, ORC, Parquet 등과 같은 다양한 데이터 포맷을 지원
❖ 다양한 언어 지원: 자바, 파이썬, 스칼라, R
'데이터 웨어하우스(Data Warehouse)' 카테고리의 다른 글
Redshift의 특징과 개념 (0) | 2023.11.28 |
---|---|
데이터 플랫폼의 발전단계 (0) | 2023.11.27 |
데이터 레이크와 ELT (0) | 2023.11.27 |
데이터 엔지니어 (0) | 2023.11.27 |
데이터 웨어하우스와 ETL의 개념 (0) | 2023.11.27 |