Data Lake는 오늘날 데이터 기반에 의사 결정을 하기 위한 가장 일반적인 데이터 분석 아키텍처로 떠오르고 있습니다. 잘 설계된 Data Lake는 기업이 데이터 자산으로부터 가장 많은 비지니스 가치를 창출하도록 보장합니다. 본 세션을 통해 AWS 기반의 Data Lake 아키텍처를 소개하고, 다양한 사례를 통해 AWS 고객들은 데이터 분석 플랫폼을 어떤 방식으로 설계해서 활용하고 있는지 살펴봅니다.
다시보기 링크: https://youtu.be/mE8V9oNXdrs
40. 도전 과제
지속적인 게이머 참여 및 유지를 위해
게임 개발자에게 지속적인 플레이어
피드백을 제공하는 루프를 만들어야
합니다.
세계에서 가장 인기있는 게임을
만들기 위해 게이머의 만족도를
실시간으로 파악하여 게이머의
참여를 보장해야 합니다.
Fortnite | 1억2천5백만+ 게이머
44. • 다양한 유형의 비지니스와
98개의 클럽과 200개가 넘는
스튜디오
• 그리고 비지니스를 지원하기
위한 다양한 지원 조직들
Digital
Products
CRM Marketing Creative
Development/
Building
Finance Member’s
Services
Maintenance
Personal
training
Pilates Spa Group
Fitness
Membership/
Sales
Retail Food
Services
안녕하세요 AWS 데이터 분석 및 현대화 캠페인 온라인 세미나에 참석해주셔서 대단히 감사합니다. 저는 김준형 솔루션즈 아키텍트 이며, 오늘 준비한 세션은 글로벌 기업들의 효과적인 데이터분석을 위한 Data Lake 구축 및 분석 사례 입니다.
먼저 강연 중 질문하는 방법을 말씀드리겠습니다. 오른쪽 화면에 Chats 또는 Questions 창에 질문을 남겨주시면 담당자가 확인 후 답변을 드립니다. 궁금한 점이 있으시면 편하게 질문 남겨주세요.
본 웨비나는 다음과 같은 순서로 진행이 됩니다. 먼저 현재 데이터 분석의 트렌드에 대해서 알아보고, AWS는 이러한 트렌드 속에서 어떤 아키텍처를 지원하는지 그리고 AWS의 다양한 고객들이 Data Lake 사례에 대해서 알아보겠습니다. 마지막으론, 새롭게 출시된 서비스인 Lake Formation에 대해서 알아보겠습니다.
그럼 먼저, 데이터 분석 트렌드부터 알아보겠습니다.
데이터가 중요해졌다는 이야기는 근래에 굉장히 자주 다뤄지는 이야기이기 때문에 다들 익숙하실 것 같은데요. 최근에는 이코노미스트의 표지에도 등장했습니다. 과거에는 기름이 가장 가치있는 자원이었다면 현재는 데이터가 가장 가치있는 자원이 되었다고 합니다.
그에 따라 데이터 중심적인 기업들의 시가총액이 지난 20년간 앞에 보시는 것처럼 변하고 있습니다. 이전까지와는 다르게 2016년 이후부터는 IT 회사들의 시가총액이 상위권으로 올라오게 되었구요, 모두의 비즈니스는 다르지만 하나의 공통점은 모두 데이터 중심의 기업이라는 것입니다.
IDC 보고서에 따르면 데이터는 5년에 10배 이상 증가하고 있고, 데이터가 쌓인 뒤에는 약 15년 간 사용이 됩니다. 이는 5년에 10배니까 약 15년간 1000배 정도 늘어난다고 이해를 해주시면 될 것 같습니다.
따라서 현재 GB 단위의 데이터만 갖고 시작하신다고 해도 이것은 이후에 빠른 속도로 테라 페타 엑사 규모의 데이터가 될 것 입니다.
당연히 규모만 커진게 아니라, 음성, 영상, 텍스트, IoT 데이터 정말 다양한 형태의 데이터들이 등장하게 됩니다. 그리고 새로운 지금도 새로운 형태의 데이터가 계속해서 생겨나고 있습니다.
데이터가 변하는 것만큼 기술도 계속해서 변하고 있습니다. 앞에 보시는 기술들은 데이터 분석에 빠지지 않는 기술들의 이름입니다. 하둡, 엘라스틱서치, 프레스토 등등.
하지만 이런 기술들이 등장한지는 불과 10년 정도 밖에 되지 않았습니다.
다양한 종류의 대규모 데이터가 생성되고 있고, 이를 효과적으로 분석할 수 있는 다양한 서비스들이 끊임없이 개발되고 개선되고 있습니다. 이제는 데이터를 통계학이나 수학을 전공하지 않은 일반인들도 훌륭한 수준으로 해낼 수 있게 되어가고 있기 때문에, 이러한 데이터를 소비할 수 있는 소비자 층도 다양해졌습니다. 그리고, 실시간으로 데이터를 분석해야하고, 보안도 고려해야하는 등 데이터에 대한 요구사항도 다양해졌습니다.
이렇게 시대는 급격하게 변해가고 있는 가운데 많은 기업들의 환경은 이에 대한 준비가 제대로 되어있지 않습니다. 각 기업이 소유한 온프레미스 환경에 필요한 여러 데이터가 쌓여있지만, 부서별로, 업무별로, 그리고 환경별로 데이터 교환이나 통합이 쉽지 않습니다. 이를 데이터 사일로라고 합니다.
데이터에서 인사이트를 얻기 위해서는 이런 데이터 사일로 문제를 해결하고 모든 데이터 소스를 한번에 볼 수 있는 단일 데이터 뷰가 필요합니다.
이런 단일 뷰를 만들기 위한 환경을 데이터 레이크라고 합니다.
데이터 레이크는 중앙 집중화된 저장소로서 어떤 크기의 정형, 반정형 데이터든지 쉽게 수용할 수 있어야합니다. 그리고 데이터 레이크에 저장된 데이터는 분석, 가공, 활용이 쉽게 이루어질 수 있어야합니다. AWS는 이런 데이터 레이크의 중앙 집중식 저장소로서 아마존 S3를 기반으로, 다양한 스키마와 구조의 데이터를 수집하고 저장한 뒤에 변환하여 분석까지 할 수 있도록 단일 뷰로 접근할 수 있는 데이터 레이크를 제공합니다.
고객은 초반에 사용하는 포멧이나 프로세싱 엔진이 추후에도 필요한 것은 아닐 수 있기 때문에 (광범위함-breadth-이 중요한 이유입니다) 데이터 저장 및 분석 방법을 자유롭게 선택하고 싶어 합니다. 이것이 저희가 모든 포멧의 데이터를 저장가능하게 하면서 광범위한 분석 서비스를 제공하는 이유입니다.
아마존 S3를 데이터레이크로 활용한다면 다음과 같이 몇 가지의 계층으로 데이터를 구분하여 저장할 수 있습니다.
먼저, 원본 데이터가 저장되는 티어-1 계층에는 원본 데이터 그대로를 수집/저장합니다. 즉 원본을 보관하는 것이죠. 원본 데이터의 속성상 계속해서 쌓이고, 크기가 커지므로 비용 절감을 위해 S3의 라이프사이클 기능을 활용해서 특정 시일이 지난 데이터는 좀 더 저렴한 요금으로 제공하는 S3-IA나 Glacier로 자동으로 전환되게 하면 됩니다.
그리고, 티어-1에 저장된 데이터를 가지고 본격적으로 분석에 필요한 데이터를 만들게 되면 결과물은 티어-2에 저장하게 됩니다. 분산 처리 환경에서 더욱 빠른 분석을 위해 Parquet나 ORC와 같은 컬럼기반 데이터형으로 바꾼다던지, S3에서의 입출력 성능을 더욱 올리기 위해 파티션을 유지 관리한다던지의 분석을 위한 데이터 최적화를 해놓습니다. 그리고 이 티어-2에 있는 데이터로 분석을 하는 것입니다.
티어-3은 반드시 있어야하는 계층은 아닙니다. 필요에 따라서 도메일 레벨로 데이터 마트를 분리하는 요건이 있으면 이런 계층을 논리적으로 두는 것입니다. 일반적인 분석이 아닌 머신러닝이나 AI에 활용할 데이터 등 티어-2에 두기에는 모호한 성격의 데이터가 있다면 여기에 두고 활용을 하는 것이지요.
그렇다면 데이터 레이크를 이제부터 적용해본다면 어떤 접근을 가져가야할까요?
전통적으로, 데이터 분석은 관계형 데이터 웨어하우스(DW)를 통해 진행되었습니다. 다수의 소스 시스템으로부터 데이터를 수집해 운영보고서를 만들어 냅니다. 이 방법은 다음과 같은 몇 가지 특징이 있습니다.
관계형 데이터 소스를 위해 최적화 됨
확장하기 어려움 – 페타바이트(PB)까지만 확장 가능
엄격한 스키마 설계: DW구현 전에 스키마가 설계 되어 어떤 데이터를 DW에 로딩하는지 정의함.
DW의 데이터 상단에서 운영보고 기능 사용 가능
높은 CapEx/OpEx 비용
전통적인 분석 시스템은 대부분 데이터 웨어하우스를 사용합니다.
여러 시스템의 DBMS에서 하나의 데이터 웨어하우스로 데이터를 수집해서 주로 리포트를 출력하거나 복잡한 분석 쿼리를 통해 결과를 찾아냅니다.
불과 10년 전만 해도 최선의 접근 법이었지만, 용량의 확장이나 다양한 데이터 소스 활용, 특히나 빅데이터, 실시간 데이터 프로세싱, 머신러닝 등의 새로운 기술과 툴을 적용하기엔 한계가 있습니다.
데이터를 최대한 활용하기 위해서 고객은 확장 가능하고 안전하며 포괄적인 데이터 스토리지와 분석 플랫폼을 필요로 합니다. 고객은 고 가용성, 높은 내구성, 저렴한 비용으로 각종 응용 프로그램과 기기에서 가져온 데이터를 어떤 규모로든 안전하게 저장할 수 있어야 합니다. 다시 말해, 고객은 데이터레이크를 필요로 합니다. 고객은 스토리지 시스템과 분석 시스템 간에 많은 양의 데이터를 이동하지 않고도 원하는 방식으로 원하는 도구와 프레임워크를 사용하여 다양한 방식으로 데이터에 쉽게 접근하고 분석할 수 있어야 합니다. 또한, 고객은 과거 데이터에 대한 운영보고로부터 얻은 통찰력을 넘어, 기계 학습 및 실시간 분석을 통해 미래 결과를 정확하게 예측할 수 있어야 합니다.
데이터레이크 컨셉은 이러한 전통적인 방식의 분석 시스템의 단점을 보완하기 위해서 고려되었습니다.
데이터 웨어하우스에서 데이터레이크로 확장함으로써 정형 데이터 뿐만 아니라 반정형 데이터에 대한 분석과 엑사 바이트 급의 확장이 가능해졌습니다.
다양한 분석 엔진을 적용할 수 있는 점은 매우 큰 장점이라고 할 수 있습니다.
AWS의 분석 서비스 중에서 Redshift라고 하는 데이터웨어하우스 서비스가 있습니다. 클러스터 내에 최대 128개의 컴퓨팅 노드가 대량의 최대 2PB까지의 데이터를 병렬 프로세싱으로 빠르게 분석을 할 수 있는 서비스 입니다. 2PB에서 나아가서 더 많은 데이터를 가지고 분석을 하기 위해서 Data Lake에 있는 데이터와 조인하여 쿼리를 해야할 때 Redshift Spectrum 이라는 기능을 써서 Redshift 클러스터 노드가 로컬로 가지고 있는 분석데이터와 S3 버킷에 있는 대량의 비정형 데이터까지 확장하여 대규모의 분석을 진행할 수 있습니다.
AWS에서 데이터 레이크를 구현하기 위해 해야할 가장 첫 번째 일은 데이터를 클라우드로 이전하는 것입니다. 대역폭과 전송 속도의 물리적 한계는 심각한 중단 현상, 높은 비용 및 긴 소요시간 없이 데이터를 이전할 수 없게 만듭니다. 데이터 전송을 쉽고 유연하게 하기 위해 AWS는 가장 다양한 옵션을 제공합니다.
그리고 AWS는 데이터센터에서 AWS로 데이터를 이동하기 위해 여러가지 방법을 제공합니다. 고객의 네트워크과 AWS 사이에 전용 네트워크 연결을 하기 위해 AWS Direct Connect를 사용할 수 있습니다. PB에서 EB단위의 데이터를 물리적 기기를 통해 AWS로 이동할 때는 AWS Snowball 과 AWS Snowmobile를 사용하면 됩니다. 자체구축 응용프로그램에서 바로 AWS에 데이터를 저장하려면 AWS Storage Gateway를 사용하면 됩니다.
또한 AWS는 웹사이트, 모바일 앱, 사물인터넷 기기 등 새로운 소스로부터 생성되는 실시간 데이터를 흡수하는 여러 방법을 제공합니다. 스트리밍 데이터나 IoT 기기 데이터를 쉽게 수집하고 로딩하려면 Amazon Kinesis Data Firehose, Amazon Kinesis Video Streams 및 AWS IoT Core 를 사용하십시오.
AWS는 고객의 데이터 레이크와 분석 솔루션을 구현하기 위해 가장 포괄적이고 안전하며 확장 가능하고 비용 효율적인 서비스 포트폴리오를 제공합니다. 고객은 어떤 소스에서 나온 데이터든 관계 없이 모두 표준 기반 데이터 형식을 이용하여 안전하고 확장성이 높으며 비용 효율적인 데이터 레이크에 저장할 수 있습니다. AWS에서 제공하는 최대 규모의 분석 엔진과 사전에 빌드된 통합기능을 갖춘 대부분의 파트너 솔루션을 사용하여 고객은 여러 옵션 중 선택할 수 있고, 기존 및 미래의 분석 사례에 대한 요구를 충족할 수 있습니다. 결과적으로, 다른 어느 곳보다 AWS에서 데이터 레이크와 분석을 실행하는 고객이 더 많습니다.
기업이 늘어나는 데이터 누출 사건과 사이버 범죄는 물론 유럽의 일반 개인정보 보호법 (General Data Protection Regulation; GDPR)과 같은 규정을 준수해야 할 수록 데이터 레이크는 가장 높은 보안 수준으로 보호해야 합니다. Amazon S3는 최상의 보안, 컴플라이언스 및 감사 기능을 제공합니다. 버킷이 아닌 객체 수준의 제어를 가능하게 하는 유일한 클라우드 스토리지 솔루션이며 기업이 각 계정과 객체에 접근, 로그, 감사 정책을 적용할 수 있게 해 줍니다.
자동 서버 단 암호화, AWS Key Managed Service (KMS)가 관리하는 키 암호화, 고객이 관리하는 키 암호화 등 3가지 종류의 암호화를 지원하는 솔루션은 S3가 유일합니다. 데이터를 다른 지역으로 복제할 때 전송 중인 데이터를 암호화 하고 고객이 소스 및 대상 지역에 각자 별도의 계정을 사용하여 내부에서의 악의적 데이터 삭제를 방지할 수 있는 유일한 스토리지 솔루션입니다. 마지막으로, S3만이 공격 초기 단계를 감지하는 AI기반 보안 서비스인 Amazon Macie를 통해 보안 팀이 능동적으로 모니터링, 탐지 및 경고 신호를 보낼 수 있게 합니다.
그림과 같이 데이터 레이크를 중심으로 AWS 의 여러 분석서비스들과 이를 지원하는 다른 서비스들이 유기적으로 연계되어있습니다.
Amazon Direct Connect, Snowball, Kinesis, DMS와 같은 다양한 서비스로 데이터를 수집하게 되면 S3에 데이터가 저장되고 이렇게 저장된 데이터는 AWS Glue를 이용하여 데이터 카탈로그를 만듭니다. 이 데이터 카탈로그를 가지고 여러분이 필요로 하는 다양한 보안 요건을 충족시키면서 Redshift, Athena, ElasticSearch, EMR, 머신러닝 서비스 등 다양한 AWS 서비스들이 실제 분석을 할 수 있습니다.
분석 워크로드를 따져보면 크게 4가지 정도가 있을 것 같습니다. 궁극적으로는 하나겠지만, 시작 포인트가 다른 것이 일반적입니다.
전통적으로 쿼리를 능숙하게 사용하고 BI, 리포트에 집중하는 조직은 구성하는 Data Warehouse, Redshift 에 집중하게 됩니다. 하지만 이후에는 이러한 워크로드가 Data Lake 로 발전하게 됩니다.
그리고 시작부터 Data Lake 로 시작한 경우는 Hadoop, Spark, Apache 의 다양한 오픈소스를 이야기 하는 사례가 많구요. 이러한 경우에는 쉽게 interactive 쿼리 등을 통해 머신 러닝까지 발전하게 됩니다.
그리고 Data Lake 를 구축할만한 데이터가 없는 경우라고 하더라도 AWS 의 다양한 Serverless 분석 서비스를 활용할 수 있고, 작게 시작해서 앞에 이야기 했던 5년의 10배 성장 같은 것을 기대할 수 있습니다. 데이터는 현재 가진 데이터가 작다고 할지라도 조금더 정확한 분석을 위해 외부의 SNS, 공공 데이터 등을 활용하게 된다면 기하급수적인 속도로 증가하게 됩니다.
그 외에는 Real-Time, Log 분석입니다.
Data coming into your data
Catalog to show you where your data is
S3 multiple syssmtes – same data simul
Scale-out Exabyte queries data in S3 and cluster
Apache ecosystem for analytics
Real-time interactive
Visualization
Sagemaker and more for ML
각각의 분석 스텝에 맞춰 서비스를 구분해보면 앞에 보시는 형태가 되게 됩니다. 동일한 데이터 소스지만, 이것들을 수집하는 단계에서 부터는 유형에 맞는 서비스를 선택할 수 있게 되었습니다.
간단하게는 Redshift 를 통해 BI 를 구축하는게 가능하구요.
그리고 Data lake 를 구축하는 것도 가능합니다. 하지만 Data Lake 라는 것이 S3에 저장했다는 것만으로 끝나지는 않습니다. 저장한 데이터를 분석에 활용할 수 있도록 정제해주는 작업이 필요합니다. 이때 Glue 를 활용해서 데이터 카탈로그를 만들어서 스키마 정의하는 작업들을 하게 됩니다. 그리고 이전까지 이러한 작업들을 각각의 서비스를 활용하여 빌딩블락 했었다면, 이제는 Lake Formation 이라는 서비스가 출시되어 이런 부분들을 보다 간편하게 구성할 수 있습니다. 뒤에서 조금 자세히 살펴보도록 하겠습니다.
그리고 이렇게 정제하여 분석을 위한 데이터가 준비되었다면, 소비는 다양한 서비스들을 이용해서 원하는 형태로 할 수 있습니다.
이를 통해 실시간 성 혹은 배치 성 데이터를 보다 효율적인 방법으로 수집하고 저장한 뒤, 실제 분석을 위한 데이터 준비작업까지도 이전보다 훨씬 빠르게 가능해졌습니다.
이와 같이 AWS는 고객이 클라우드에서 데이터 레이크를 구축하고 기계 학습을 포함한 가장 광범위한 분석 접근법을 사용하여 모든 데이터를 분석 할 수 있게 해주는 가장 포괄적이고 안전하며 확장 가능하고 비용 효율적인 서비스 포트폴리오를 제공합니다. 결과적으로 NETFLIX, Zillow, NASDAQ, Yelp, iRobot 및 FINRA와 같은 고객이 AWS를 통해 데이터 레이크를 운영하고 분석하고 있습니다.
그럼 이제 실제 글로벌 대기업 사례로 두가지를 소개해드리겠습니다.
먼저 여러분들오 익히 아시는 맥도날드 사례입니다. 하루에 전세계 국가에서 7100만건의 주문이 발생한다고 합니다. 이는 전세계 인구의 1%가 매일 하루 한끼를 맥도날드에서 해결하는 것과 같은 양이죠. 그리고 6천개 이상의 메뉴들의 아이템이 계속 바뀌는 굉장히 액티브한 비즈니스를 진행하고 있습니다.
이런 어마어마하게 큰 비즈니스를 하고 있는 맥도날드도 요 몇년 사이에 비즈니스 모델에 변화를 주고 있습니다. 기존에는 정해진 메뉴에 정해진 품질을 소비자에게 빠르게 제공하기만 하면 되었었지만, 이제는 고객들이 점점 디지털화되어가고 있어서 손끝에서 빠르게 정보검색을 하여 맥도날드 외의 대체제를 찾고 있습니다. 그리고 더이상 획일화된 메뉴와 품질에 대한 만족도가 예전만하지 못합니다. 우리나라도 수제버거가 더 맛있고 개성있다는 인식으로 점점 패스트 푸드로서의 햄버거의 인기가 적어지고 있습니다.
그리고 우리나라도 마찬가지지만 글로벌로도 배달대행 서비스가 빠르게 늘어나고 있습니다. 우버 이츠를 포함한 다양한 배달대행 서비스가 다양한 먹거리를 배달해주기 때문에 맥도날드 딜리버리가 가지던 강점도 위협하고 있는 것이죠. 이미 맥도날드는 글로벌 비즈니스를 전개하고 있기 때문에 해당 국가에 적합한 메뉴를 빠르게 개발하는 현지화도 굉장히 중요합니다.
맥도날드는 이러한 비즈니스 모델의 변화에 대응하기 위해 데이터 분석을 하기로 하였으나 역시 앞에서 잠깐 소개해 드렸던 데이터 사일로, 즉 조직별, 업무별, 물리적으로 데이터가 갇혀있는 문제로 데이터 분석을 하려고 할때 접근의 제한이 컸습니다.
그리고 기존의 온프레미스 환경에서는 급격히 늘어나는 데이터에 대한 준비가 빠르게 되지 않고, 대부분은 과거 데이터를 보고 분석을 했기 때문에 현재와 미래에 대한 예측은 어려운 상황이었습니다.
또한 분석을 하고자 할때 데이터 접근부터, 인프라 확보 등 복잡한 단계를 거쳐야했던 불편함이 있었습니다.
이러한 제약사항을 맥도날드은 AWS에 데이터 분석 플랫폼을 만들어서 극복했습니다. Amazon S3에 목적에 맞는 버킷들을 만들어 놓고, 다양한 소스의 데이터에 더해서 Kinsis 서비스를 이용해서 스트리밍 데이터를 수집합니다. 수집된 데이터를 AWS Glue를 이용해서 데이터 카탈로그를 만들고 나면 3가지 성격의 분석 업무에서 데이터를 분석하게 됩니다.
먼저 가장 위에는 운영 리포트와 대시보드를 보는 사용자들을 위해서 운영상의 알려진 업무를 처리하기 위해 EMR 클러스터로 ETL 처리를 하고 이 결과를 Redshift로 보내서 빠르게 쿼리를 실행하여 대시보드와 리포트 결과를 내어줍니다.
그리고 가운데에 애드혹 쿼리나 셀프서비스를 하는 사용자들은 Amazon Athena로 직접 S3의 데이터에 쿼리를 실행하여 결과를 받습니다.
가장 밑의 데이터 과학자들은 Amazon Sagemaker를 이용해서 머신러닝으로 데이트를 트레이닝하여 모델을 생성하게 됩니다.
앞서 데이터 레이크를 구성할 때 계층을 나눈다고 말씀을 드렸는데, 맥도날드도 이렇게 원본 데이터 따로, 원본 데이터를 변형한 데이터를 따로, 그리고 외부와 공유하는 데이터는 따로 계층을 나누어서 구성했습니다. 계층은 논리적 개념이므로, 계층별로 버킷을 나누었다고 생각하시면 되겠습니다.
이렇게 데이터 레이크를 AWS에 구축함으로서 맥도날드는 다음과 같은 결과를 얻을 수 있었습니다,
데이터를 통합하고 신뢰할 수 있는 데이터 플랫폼을 운영함으로서
현상을 이해하고, 예측을 할 수 있으며, 예측에 대한 대처까지 할 수 있는 등 모든 분석이 가능해지게 되었습니다.
그러면서도 비용도 최적화하였으며 분석 시간도 단축하여
데이트를 통해 비즈니스 통찰력과 성장 속도가 더욱 가속화되었습니다.
다음은 다우 존스라는 기업의 사례입니다. 익숙히 듣는 미국의 대표적인 주가 지수인 다우 지수를 발표한 회사로서, 비즈니스 및 금융 정보를 출판하는 세계적인 기업입니다.
이 회사 또한 데이터 분석을 하는데 있어서 다양한 어려움을 겪고 있었습니다. 동일한 데이터에 여러 버전이 있어서 대체 어느 데이터를 써야할 지 모르는 경우도 있었고, 데이터에 대한 가시성 또한 조직에 따라서 달랐습니다. 뿐만 아니라 데이터 양이 워낙 많으니 필요한 데이터를 찾아서 분석하기 위한 시간이 수일이 걸리는 경우도 있었습니다. 결과적으로 데이터를 적시에 활용하지 못하니 통찰력도 얻지 못하게 되어 의사결정도 잘 안되게 되는 등의 문제가 있었습니다.
이 상황을 타계하기 위해, 다우 존스는 데이터 분석을 위한 로드맵을 수립했습니다.
1단계로 통합 저장을 위한 단일 저장소를 만들기로 했습니다.
2단계는 이 저장소를 기반으로 대화식으로 데이터를 다루어 시각화까지 하기로 하였습니다.
3단계는 과거 데이터를 기반으로 트렌드를 분석하고
4단계로 데이터를 세그먼트로 분류하는 고급 분석을 통해 통합적인 인사이트를,
합니다.
5단계에서 궁극적으로 예측 분석을 더 나은 인사이트를 얻고자 합니다.
지금 보시는 그림은 상당히 복잡한데요. 금융 관련 회사다 보니 유저 액세스 설정 및 데이터를 수집하는데 있어서도 각종 보안적인 요소를 IAM, Cogniton, Cloud trail 뿐만 아니라 데이터 암호화를 위해 KMS 등의 서비스를 다양하게 적용한 것을 보실 수 있습니다. 실제로 데이터 분석 플랫폼이라고 볼 수 있는 부분은 바탕에 연한 회식으로 칠한 영역들인데요, 이 그림을 간략하게 설명하자면 기존의 온프레미스에 있는 데이터들은 Direct Connect를 통해서 AWS에 있는 보안 레이어를 통해 S3 로 구축된 데이터 레이크로 데이터들이 모이게 됩니다. 물론 외부 데이터 소스의 데이터와 온프레미스에서 실시간으로 발생되는 데이터들도 모이게 됩니다. 이렇게 모여진 데이터는
필요에 따라 ETL 작업을 거쳐서 데이터 마트를 만들어지는데 쓰이거나 다시 S3에 쌓여서 다양한 개발 및 실험 툴들과 연계되어 여러가지 실험을 할 수 있게 됩니다.
좀 더 구체적으로 데이터레이크의 세부구조를 살펴보겠습니다.
데이터의 원천은 기존의 온프레미스의 데이터웨어하우스 데이터를 Datalake로 보냅니다. 그러면 이 데이터를 스테이징 단계에서 소스 데이터로 준비하고 표준화한 뒤 카탈로그로 만드는 준비를 합니다. 그리고 나서는 이 데이터를 데이터웨어하우징 용으로 변환하고 그 뒤 다시 데이터 마트용으로 만든 후에 이를 실제 데이터마트에 적재하게 됩니다. AWS의 S3와 Glue와 같은 분석 서비스들을 이용하여 이러한 일련의 흐름을 쉽게 만들 수 있는 것이죠.
다우 존스는 이 데이터 분석 플랫폼으로 현재 B2C, B2B 광고 비즈니스를 지원하기 위한 12가지 대시보드를 운영하고 있습니다. 그리고 전체 데이터웨어하우즈에 걸쳐서 118TB의 데이터를 저장하고 있고 매일 100명 이상의 사용자가 데이터를 사용하고 있습니다.
아마존 닷컴은 안데스라는 이름의 데이터 레이크를 S3에 구축하였습니다. 수많은 개발, 운영팀이 가지고 있는 다양한 소스의 데이터들을 S3로 옮기고, 여기에서 다양한 사용자 혹은 부서들이 서로의 데이터를 구독하여 활용할수 있도록 지원하고 있습니다. 이전까지는 데이터가 필요할 때 각자의 로컬에 있는 데이터 또는 어느 누군가가 혹은 부서가 가지고 있는 데이터를 직접 문의하고 가져와야 했습니다.
하지만 안데스를 구축함으로서 여러 소스들의 데이터를 데이터의 메타데이터를 관리하고, 서로의 데이터를 구독할 수 있는 포털을 제공하고 있으며, EMR, Redshift 등 분석에 필요한 리소스를 빠르고 편하게 실행하고 결과를 받아볼 수 있습니다.
다음 사례는 여러분들도 잘 아시는 포트나이트라는 게임 개발사인 에픽 게임즈입니다. 이미 전세계의 1억 2천 5백만이 넘는 게이머가 이 온라인 게임을 즐기고 있습니다. 하지만 게임은 처음에 재미를 느끼다가 어느 순간 루즈해지기 마련입니다. 이를 방지해야 고객들은 계속해서 게임을 즐기게 되고, 게임사의 매출도 유지가 되기 때문에 지속적으로 게이머의 참여와 유지를 위해 게임 개발자에게 플레이어 피드백ㄷ을 제공하는 루프를 만들어야하는 과제가 있습니다.
즉, 실시간으로 게이머들의 만족도를 파악해서 게이머들이 계속해서 게임을 즐길 수 있도록 도와줘야합니다.
에픽 게임즈는 데이터레이크를 구축하고 게이머들의 피드백을 실시간으로 분석할 수 있는 분석 플랫폼을 만들었습니다.
이 분석 플랫폼은 당연히 AWS에 구축되고 운영이 되는데요, 기본적으로 S3를 저장소로 데이터 레이크를 구축했습니다.
게임의 클라이언트와 서버, 런처, 그리고 다양한 서비스들로부터 데이터를 수집하는 역할을 키네시스가 담당하고 있습니다.
수집된 데이터는 배치 파이프라인과, 근실시간 파이프 라인으로 흘러갑니다. 먼저 아래에 배치 파이프라인부터 보면 EMR 클러스터를 이용하여 대규모의 데이터에 대한 분석을 실행하고 이를 다시 버킷에 담아 분석가들에게 시각화하여 보여주게 됩니다. 그리고 근 실시간 파이프라니으로 들어간 데이터는 스팍으로 실시간 분석을 진행하고 이 결과를 DybamoDb에 담아서 빠르게 결과를 API로 제공하거나 대시보드로 제공하여 게임 디자이너의 의사결정에 데이터들이 적절하게 활용될 수 있도록 하고 있습니다.
마지막으로 에퀴녹스라고 하는 헬스장을 운영하는 회사의 사롕입니다. 애플 헬스와 연결되어 운동 장비에 데이터 수집 기능을 갖춘 어플리케이션을 사용하여 고객들이 요가, 필라테스, 스파, 헬스 클럽, 호텔 및 레스토랑 등을 이용할 때의 데이터를 활용하여 라이프 스타일 및 건강관리를 제공하는 회사입니다. 현재 미국, 런던 및 캐나다의 주요 도시에 200개 이상의 로케이션을 운영하고 있습니다.
애플 헬스와 연동된 모바일 어플리케이션으로 고객의 신체 활동 정보를 수집해서 다양한 액티비티를 제공하고, 다른 사용자와의 경쟁을 유도해서 운동을 더 즐겁게 하기 위해서 데이터를 분석하는 플랫폼을 만들 필요가 있었습니다.
이러한 데이터들은 전세계 200개나 넘는 스튜디오와 98개의 클럽에서 다양한 유형의 비즈니스 정보로서 수집이 됩니다. 이러한 데이터를 활용하는 지원 조직들 또한 매우 다양한 상황에서 에퀴녹스는 어떤 데이터 레이크를 구축했을까요?
에퀴녹스는 실시간 성의 분석 수요보다는 아직은 배치성 분석의 수요가 많았기 때문에, 복잡하지석않고 단순하면서 효율적인 분석 파이프라인을 구축했습니다.
CSV 형태의 데이터를 바로 S3 버킷, 즉 티어 1 버킷에 저장하고 이를 EMR 또는 Glue를 이용하여 분석에 용이한 Parquet와 같은 포맷으로 변환하여 다시 티어-2 버킷에 저장합니다. 그리고 Glue로 데이터 카탈로그를 만든 뒤에 Redshift, Athena, Sagemaker등 다양한 AWS의 분석 서비스에서 이 데이터들을 사용할 수 있도록 합니다.
지금까지 두개의 고객 사례를 대표적으로 살펴보았는데요,
이러한 데이터 레이크를 빠르게 구축하고 잘 관리하려면 어떻게 해야할까요?
일반적으로 Data Lake를 AWS 상에서 구축하기 위해서는 다음과 같은 순서를 따르면 됩니다.
필요한 버킷들을 생성합니다. 계층을 나눠서 만들면 좋다고 말씀을 드렸습니다. 버킷들에 데이터를 적재합니다. 데이터 수집에는 다양한 방법이 있고, AWS의 데이터 수집관련된 서비스들은 S3 버킷에 아주 쉽게 저장할 수 있도록 지원하고 있습니다. S3는 정형, 비정형 데이터 모두 저장할 수 있으므로 어떤 데이터들은 스키마가 없이 저장됩니다. 이런 데이터를 활용하기 위해서는 스키마를 알아야하는데, AWS Glue가 데이터 카탈로그를 만들고 데이터 변형도 할 수 있습니다. 필요한 데이터가 만들어지면 이 데이터를 이용하는 데 있어서 적절한 권한과 보안 정책들을 적용해야합니다. 그래야 데이터를 써야하는 사용자에게만 데이터 엑세스 권한을 줄 수 있기 때문이죠.
권한이 있는 사용자는 데이터를 활용하고 분석하여 원하는 결과를 얻습니다.
작년 re : Invent에서 데이터를 쉽게 수집, 정리, 카탈로그, 변환 및 보호하고 분석 및 기계 학습에 사용할 수있는 서비스 인 AWS Lake Formation가 프리뷰로 발표되었었고, 드디어 올해 8월 8일 정식 출시 되었습니다.
Lake Formation을 사용하면, 데이터베이스 및 로그와 같은 여러 소스에서 데이터 레이크로 데이터를 이동하는 작업 구성을 위한, 데이터 레이크를 관리하는 중앙 콘솔이 있습니다
이렇게 많은 양의 데이터가 있으면 올바른 액세스 권한 구성도 중요합니다. Lake Formation에 정의 된 단일 세분화 된 데이터 액세스 정책 세트를 사용하여 Glue 데이터 카탈로그의 메타 데이터 및 S3에 저장된 데이터에 대한 액세스를 보호 할 수 있습니다 .
이러한 정책을 통해 테이블 및 칼럼 단위로 데이터 액세스를 정의 할 수 있습니다.
Lake Formation을 가장 큰 장점은 S3에 이미 기존에 있던 데이터와 함께 작동한다는 것입니다!
그리고 Glue ML 변환 을 사용 하여 데이터를 쉽게 중복 제거 할 수 있습니다. 중복 제거 는 필요한 스토리지 양을 줄이려면 동일한 데이터를 두 번 보는 오버 헤드 나 혼동이 없기 때문에 데이터 분석을보다 효율적으로 만드는 데 중요합니다.
그리고 데이터를 검색하고 공유하는 기능도 제공하므로 데이터의 활용도가 더욱 높아지게 됩니다.
이러한 방식으로 데이터 레이크를 처음부터 구현하는 것이 훨씬 빠르며 데이터 레이크를 관리하는 것이 훨씬 쉬워 져서 더 많은 고객이 이러한 기술을 사용할 수 있습니다.
이렇게 쉽고 편하게 데이터레이크를 구성하는데 있어서 추가 비용은 없습니다.
데이터레이크를 구성하고 활용하는 서비스들의 기존 비용만 내시면 되기 때문에 부담없이 시작하실 수 있습니다.
제가 준비한 세션은 여기까지입니다. 세션이 종료되면 보다 나은 세미나를 위하여 설문에 꼭 참석해주십시오. 다음 세션은 오후 2시에 글로벌 고객 사례를 통하여 소개하는 혁신적인 데이터 웨어하우스 의 내용으로 진행될 예정이오니 놓치지 마세요. 그럼 끝까지 경청해주셔서 감사합니다.