ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터웨어하우스 구축 관련 리서치
    카테고리 없음 2024. 7. 10. 15:25

    다양한 데이터를 한군데 적재하여 사용하기 위해 여러 기술스택을 조사해보았다.

     

    • #1 Athena
      • glue를 사용하여 ETL 구성 (원천 데이터 크롤링 하여 DataCatalog에 저장)
      • 수집 가능 데이터 (S3, JDBC, Dynamodb, MongoDB)
      • 날짜기준으로 파티셔닝해서 저장

      • 장점: SQL문 사용, 서버리스, visual ETL로 UI상으로 쉽게 어떻게 구성되었는지 확인이 가능하고, 그 안에서 스트립트 작성 및 수정이 가능해보여 비교적 수정이 편할것같다.
      • 단점: 스크립트 언어는 python으로 작성, 수집 가능 데이터가 제한적
    • #2 ElasticSearch
      • EC2에 logstash 돌려서 DB 데이터 수집
      • 날짜별로 index를 분리하여 저장

      • 장점: 스키마를 따로 정의하지 않아도 된다. 다양한 데이터 수집 가능 (s3, kafka, redis … )
      • 단점: SQL문 미사용, 서버를 따로 관리해줘야한다
    • #3 Redshift
      • 자체 관리 데이터 웨어하우스
      • glue를 활용해서 ETL 구축 하여 redshift에 데이터 저장하여 활용 or 다양한 aws 서비스 활용 하여 구성 가능 (redshift에 데이터 밀어넣는 방법은 다양한듯)

      • 장점: SQL문 사용, s3, glue등을 활용하여 데이터 파이프라인 구축 가능, 성능
      • 단점: 스키마 작성, 비용(고정 비용 발생, s3활용하면 저비용으로 사용 가능하다 함..). 지금 요구사항에선 오버스펙같음
    • #4 Bigquery 
      • Dataflow 템플릿을 통해 (ETL을 구성) Cloud Storage에 쌓인 데이터들을 Pub/Sub을 통해 빅쿼리에 실시간으로 적재할 수 있다.
      • 날짜기준으로 파티셔닝해서 저장 (테이블 구성시 수집시간 기준으로 파티셔닝 할지 등 옵션이 있음)

      • 장점: SQL문 사용, 다양한 데이터 수집 가능, aws 리소스들도 수집 가능. 개발자가 아니여도 다양한 파일을 바로 업로드 하여 쿼리문을 실행시킬 수 있다(스키마 자동생성). 
      • 단점: 배워야 할게 많음.. GCP 안써봤기 때문에 지금 요구사항에선 오버스펙같음
Designed by Tistory.