알라딘

헤더배너
상품평점 help

분류

이름:백진욱

최근작
2022년 12월 <AWS 쿡북>

빅쿼리를 활용한 데이터 웨어하우스 구축

데이터는 어디에나 존재한다. 이제 데이터 분석은 비즈니스에 있어 필수적인 요소다. 대부분의 회사는 분석 스택을 만들면서 많은 시행착오를 겪는다. 그중 가장 먼저 맞닥뜨리는 것은 어떻게 데이터 웨어하우스(Data Warehouse)를 구축할 것인지에 관한 고민이다. 대부분의 데이터 분석 스택은 데이터 웨어하우스와 같은 중앙저장소에 데이터를 저장한 후 데이터를 변환해 BI 도구 혹은 보고서를 만드는 식으로 구성한다. 데이터 웨어하우스가 대두되기 전에는 프로덕션 DB를 직접 쿼리하는 방식으로 구현했다. 하지만 이런 방법은 프로덕션 성능에 부담을 주게 돼 읽기 전용 복제본을 사용하게 됐다. NoSQL 데이터베이스를 사용할 경우 지원되는 도구와 표준이 부족하기 때문에 SQL 데이터베이스에 로드한 후 분석했다. 최근에는 다양한 데이터 소스를 통합해서 인사이트를 얻어야 하는 복잡한 요구사항의 수용을 위해 데이터 웨어하우스의 존재가 부각됐다. 데이터 웨어하우스를 구축하면 다양한 이벤트, 애플리케이션 데이터, 마케팅 데이터, CRM 데이터, API로 얻을 수 있는 모든 데이터를 한곳에 모아 정제한 다음, 분석과 모델링을 할 수 있게 된다. 하지만 이런 기술은 기업 수준의 투자가 아니면 불가능했다. 그리고 기업들에도 데이터 웨어하우스 운영 및 워크플로 유지보수는 쉬운 일이 아니었다. 하지만 데이터 웨어하우스가 클라우드로 옮겨가면서 개발자들도 손쉽게 접할 수 있는 기술이 됐다. 데이터 웨어하우스는 중앙 분석 데이터 저장소로 분석 쿼리에 최적화된 데이터베이스라고 생각하면 된다. 다음과 같은 이유로 데이터 웨어하우스 사용을 고려하게 된다. 다수의 데이터 소스의 데이터를 결합해 분석이 필요할 때, 분석용 데이터와 트랜잭션 데이터를 분리해야 할 때, NoSQL과 같이 분석 쿼리에 적합하지 않을 때, 자주 쓰이는 분석 쿼리를 최적화할 때다. 하지만 저장소만으로 데이터 웨어하우스는 혼자 분석 스택을 감당할 수 없다. 데이터 웨어하우스를 구축하려면 워크플로와 운영을 포함해 스토리지(추출과 로드), 프로세스(변환과 모델), 접근(시각화와 전달)의 세 가지 기능을 충족해야 한다. Amazon Redshift, google BigQuery, snowflake, presto와 같은 여러 가지 데이터 웨어하우스가 떠오르고 있다. 하지만 BigQuery는 완전 관리형 서버리스 서비스로 누구나 약정 없이 바로 시작할 수 있다. 이 책을 통해 BigQuery의 기술뿐만 아니라 데이터 엔지니어링에 필요한 여러 가지 GCP 기술들을 접할 수 있다. Cloud Functions, Dataflow, DLP 등 여러 가지 GCP 서비스들을 사용해 데이터 웨어하우스를 구축, 유지, 관리하는 방법을 배울 것이다. 시간이 지남에 따라 퇴색되고 더 나은 도구가 나오더라도 데이터 웨어하우스를 구축하는 방법론과 유지보수를 위한 기초지식을 다루기 때문에 두고두고 여러 번 참고할 수 있을 것이다. 이 책은 기술보다는 사람과의 관계를 강조한다. 데이터 전략 및 수행에 있어 BigQuery는 단순한 도구일 뿐이다. 데이터 웨어하우스 구축을 통해 인사이트를 얻고 비즈니스 예측까지 할 수 있는 기회를 갖고 데이터 주도적인 결정을 할 수 있길 바란다.

AWS 쿡북

나는 AWS를 10년 이상 사용하며 AWS가 매해 무수히 많은 서비스를 출시하는 것을 경험했다. AWS는 초기에 컴퓨팅 서비스만 제공했지만, 지금은 분석, 컨테이너, AI, 데이터베이스, IoT, 네트워킹, 스토리지 등의 다양한 카테고리의 서비스를 제공한다. AWS는 혁신적인 클라우드 서비스들을 출시하며 개발자들이 인프라와 고정 비용에 구애받지 않고 애플리케이션을 작성할 수 있도록 도와준다. 또한 다음과 같은 이점을 제공한다. - 컴퓨팅 리소스를 사용할 때만 요금을 내고 사용한 양에 대해서만 지불할 수 있기 때문에 고정 비용을 변동 비용으로 대체할 수 있다. - 인프라의 용량을 미리 계획하지 않아도 된다. 온프레미스 인프라를 사용한다면 애플리케이션을 배포하기 전에 미리 용량을 결정하고 고가의 리소스를 구입해 유휴 상태로 두게 되거나 한정된 용량으로 작업하는 경우가 발생한다. 하지만 클라우드 컴퓨팅 환경에서는 필요한 용량만큼을 확장하거나 축소할 수 있다. - 클라우드 컴퓨팅 환경에서는 새로운 IT 리소스를 클릭 몇 번만으로 확보할 수 있어서 개발자들이 리소스를 사용할 수 있기 때문에 몇 주가 걸릴 수 있는 인프라 리소스 확보를 단 몇 분으로 단축할 수 있다. 따라서 개발에 드는 개발 조직의 민첩성을 크게 향상시킬 수 있다. - 데이터 센터 운영 및 유지 관리에 신경 쓰지 않아도 돼 애플리케이션 기능에 집중할 수 있다. - 애플리케이션을 클릭 몇 번으로 전 세계의 리전에 손쉽게 배포할 수 있다. 이 책에서 제공하는 레시피들을 참고해 독자들이 구현하려는 기능에 대한 영감을 받을 수 있기를 바란다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자