[세션 레포트] 앞으로의 데이터웨어하우스 선택 포인트와 Amazon Redshift를 통한 해결 #AWSSummit

AWS Summit Online Japan "앞으로의 데이터웨어하우스 선택 포인트와 Amazon Redshift를 통한 해결" 세션 레포트입니다. 기존 DWH의 과제를 Amazon Redshift에서 해결하는 방법에 대해서 다루고 있습니다.
2020.09.15

안녕하세요. 클래스메소드 주식회사 신입 엔지니어 정하은입니다🐣

9월 8일부터 AWS Summit Online Japan이 개최가 되었습니다! 라이브세션은 9월 8일, 9일로 진행이 되었지만, 30일까지 온디맨드로 세션을 공개하고 있는데요. 아래의 링크를 통해 여러 세션 동영상들이 마련되어 있으니 일본어가 가능하신 분이라면 시청해보시길 바랍니다.

그래서 이번 블로그에서는 AWS Summit Online Japan의 AWS 세션 중 하나를 레포트로 남겨보고자 합니다. (사실 지난주에 이미 일본어로 작성했던 내용이라 한국어로 다시 번역하는 셈이지만요;ㅎㅎ)

세션 정보

  • 발표자 : AWSJ 오오조노 준페이 님
  • 개요

 데이터웨어하우스는 과거 수십년에 걸쳐 기업 데이터 분석을 지탱해주는 중요한 컴포넌트로 자리 잡고 있지만, 분석 요구사항이 다양화된 현대에는 필요 요건들이 증가하는 추세입니다. 본 세션에서는 앞으로 데이터웨어하우스를 선택하는데 있어 고려해야할 포인트에 대해서 하나하나 해설해가면서, 진화해 나가는 관리형 데이터웨어하우스인 Amazon Redshift가 그것을 어떻게 해결해나가는 지에 대하여 성능, 확장성, 보안, 운용, 데이터 레이크와의 연동 등 다양한 관점으로 다루어봅니다.

대상자와 목표

  • 대상자:데이터웨어하우스(DWH)를 업무에서 사용하며, DWH에 대한 지식과 이해를 지닌 분
  • 목표
    • DWH를 운용하는데 있어 과제로 남기 쉬운 점을 짚고, DWH에 요구되어지는 것에 대해 인지한다
    • Amazon Redshift로 상기의 과제를 어떻게 해결할 수 있는지 이해한다
  • 본 세션에서 이야기하지 않는 내용
    • DWH나 데이터 분석 그 자체에 관한 기본적인 설명
    • Amazon Redshift를 포함한 각종 AWS 서비스의 세부적인 사양이나 설정들의 해설

DWH의 유형

통합형

  • DWH의 기능을 한 곳에 집약시킴
  • IT부서 등 특정 부서가 관리하는 엔터프라이즈 DWH에 많은 형태
  • 전체적으로 거버넌스를 시행하는 면에서 보다 영향력을 지님

목적형

  • 조직이나 용도에 맞추어 DWH기능을 분리
  • 각 이용 부서/팀, 각자 재량에 따라 DWH를 관리하는 경우도 많아짐
  • 새로운 분석의 도입을 빠르게 시행할 수 있음

데이터웨어하우스에 얽힌 과제

비즈니스 변화에 따른 대응이 어려움

  • 데이터과 예상했던 것보다 많아졌을 경우, 유입 데이터를 제한하거나 과거 데이터 삭제로 대응
  • 새로운 분석 요건 도입 난항

→ 비즈니스 변화에 유연하게 대응하기 어려움

퍼포먼스 SLA 유지

  • 각 처리에 정의된 퍼포먼스의 SLA를 지키는 것이 어려움
  • 튜닝 기술이 없을 경우, DWH 리소스를 추가하는 형식이 되어 예상 외의 추가 비용 발생

→ DWH는 계속 발전하고 데이터나 유저, 분석 요구사항은 늘어나는데 정작 SLA는 바꾸기 어려움

데이터 사일로화 + 권한 관리

  • DWH 간에 데이터 공유는 되지 않으며 데이터의 중복이나 값의 불일치 (사일로화)가 발생
  • 추후 횡단적 분석을 위한 권리 관리를 실시하기 어려움

→  개별적인 최적화를 요구할 시 데이터의 사일로화가 발생하기 쉽고, 비즈니스 성장이나 외부 환경 변화에 대응할 권한 관리이 갖추어지지 않음

앞으로의 데이터웨어하우스 선택 포인트

DWH를 둘러싼 변화

  • 데이터 용량 / 종류의 폭발적 증가
  • 온갖 데이터를 연결해 통찰이 가능토록 하고 싶음
  • 클라우드 이전 가속화

데이터 레이크라는 개념

  • 모든 데이터를 확장함과 동시에, 저렴한 비용으로 한 곳에 모아 보존하기 위한 것
  • 적절한 접근 권한의 정의 하에, 데이터를 안전하게 유지할 수 있는 것
  • "민주화" 된 형태의 조직 내에서 데이터 접근이 가능하도록 함
  • 새로운 데이터 분석을 빠르고 간단하게 실행할 수 있음

데이터 레이크의 구성

  • 모든 데이터를 데이터 레이크에 집약하는 것으로 데이터의 사일로화를 해소
  • DWH에는 필요한 데이터만 연동하고, 비즈니스 변화나 시간의 경과에 맞춰 필요에 따라 데이터 레이크를 다시 되돌려놓음

앞으로 데이터하우스에 요구되는 것

  • 유연성과 확장성
    • 사업의 변화에 따라 비용 효율적이고 유연하게 구성을 바꾸거나, 필요에 따라 필요한 리소스를 확장할 수 있을 것
  • 높은 베이스라인 성능과 운용관리기능
    • 기본적으로 높은 성능을 냄과 동시에 유저에 의한 튜닝도 가능하도록 할 것
  • 데이터 레이크 연동과 보안
    • DWH를 데이터 레이크까지 간단하게 확장하고, 비용을 고정하여 데이터를 분석 가능하도록 하며 세부적인 권한 관리가 가능하도록 할 것

Amazon Redshift를 통한 해결

Amazon Redshift란?

고속, 확장이 가능하며 비용 대비 효율이 높은 데이터웨어하우스 및 관리형 데이터 레이크 분석 서비스

Amazon Redshift의 아키텍쳐(RA3)

유연성과 확장성

  • Elastic Resize

    • 필요한 떄에 필요한 만큼의 리소스를 자동적으로 스케일업 / 아웃
  • Concurrency Scaling

    • 동시 접속 수가 급증한 경우라도 클러스터를 자동으로 추가하여 병렬 처리

높은 베이스라인 성능과 운용관리기능

  • 분석에 특화 된 아키텍쳐
    • 열 지향 스토리지와 쿼리 옵티마이저
    • SQL의 병렬 분산 실행
    • 결과 캐싱
  • 지속적인 성능 최적화
    • 베이스라인 성능이 두 배 이상 상승
    • 지속적인 성능 개선
    • 테이블 점검이나 워크로드 관리 자동화
    • 실행시간이 짧은 쿼리 스루풋 고속화
  • 운용 관리 기능을 활용한 튜닝
    • 워크로드 관리(WLM)와 쿼리 우선 순위
      • 비즈니스 우선도에 따라 리소스 큐를 나눠 우선 순위 설정
      • 우선 순위가 높은 처리에는 자동적으로 많은 CPU, IO 리소스를 할당
      • 간단한 설정으로 높은 SLA을 요구하는 작업을 먼저 처리하는 것이 가능함
    • 구체화 뷰
    • 튜닝 어드바이저

데이터 레이크 연동과 보안

  • Redshift Spectrum
    • Redshift에서 S3 데이터 레이크에 고속으로 직접 쿼리 가능
    • S3 데이터 레이크 상의 데이터 임포트 / 익스포트 가능
    • AWS Lake Formation과의 연동
      • 권한 관리의 일원화 가능
      • Lake Formation 경유로 Redshift Spectrum이 접근할 오브젝트에 대하여 테이블이나 열 단계에서의 접근 제어가 가능함
  • 간단하고 섬세한 권한 관리 기능
    • 데이터베이스, 스키마, 테이블 등 폭넓은 수준으로 접근 제어 설정이 가능함
    • 열 단계 접근 제어의 설정
      • 기존 오브젝트의 구조를 바꾸지 않고 민감한 데이터 보호

정리

  • 기존 DWH에 있어 주로 남는 과제
    • 비즈니스 변화에 대응이 어려움
    • 퍼포먼스 SLA의 유지
    • 데이터 사일로화 권한 관리
  • 과제해결을 위해서
    • 시스템의 라이프 사이클이나 제한에 비즈니스 요건을 더해, 비즈니스의 변화에 대응하기 쉬운 DWH를 선택하는 것이 중요함
    • 테이터 레이크를 중심으로 한 형태로 Amazon Redshift를 활용 → 새로운 형태의 분석환경 만들어가기

소감

우선 기존의 DWH의 과제에서 해결까지의 흐름으로 진행된 내용이라 조금 더 이해가 잘 되었다고 느꼈습니다.

Redshift의 기능에 대하여 가볍게 짚으면서 장점에 대하여 설명해주시다보니, Redshift의 성능이 향상되고 있다는 점 또한 느낄 수 있는 세션이었구요. Redshift가 관리형 서비스라 자동으로 계속 발전해나간다고 하는 말이 특히 인상에 남았답니다.

저도 이번 달부터 과제때문에 Redshift를 사용해보기 시작한터라 아직 DWH에 대해서는 미숙한 부분이 많지만, AWS의 타 서비스 (Glue, QuickSight)와 손쉽게 연결하여 사용이 가능한 점이 좋았어요ㅎㅎ

혹여나 DWH를 사용하고 싶다, 현재 사용 중인 DWH의 구성에 조금 걱정스러운 부분이 있으신 분들께 Amazon Redshift를 사용하는 것에 대해 고려해보는 것도 좋을 것 같다고 생각됩니다!