주요 컨텐츠로 이동

데이터브릭스 SQL용 Materialized 뷰 및 스트리밍 테이블 소개

데이터 분석가가 완전히 SQL로 새로운 데이터를 수집, 변환 및 제공할 수 있도록 지원
이 포스트 공유하기

이제 Materialized 뷰와 스트리밍 테이블을 AWS 및 Azure의 Databricks SQL에서 공개적으로 사용할 수 있게 되었다는 기쁜 소식을 알려드리게 되어 기쁩니다. 스트리밍 테이블은 클라우드 저장소 및 메시지 큐에서 증분 수집을 제공합니다. Materialzed 뷰는 새로운 데이터가 도착하면 자동으로 점진적으로 업데이트됩니다. 이 두 가지 기능을 함께 사용하면 인프라가 필요 없는 데이터 파이프라인을 간단하게 설정하고 비즈니스에 새로운 데이터를 제공할 수 있습니다. 이 블로그 게시물에서는 이러한 새로운 기능을 통해 분석가와 분석 엔지니어가 데이터 웨어하우스에서 데이터 및 분석 응용 프로그램을 더 효과적으로 제공할 수 있도록 지원하는 방법을 살펴봅니다.

배경

데이터 웨어하우징과 데이터 엔지니어링은 모든 데이터 기반 조직에 매우 중요합니다. 데이터 웨어하우스는 분석 및 보고를 위한 기본 위치 역할을 하며, 데이터 엔지니어링은 데이터를 수집하고 변환하기 위한 데이터 파이프라인을 만드는 작업을 포함합니다.

그러나 기존 데이터 웨어하우스는 스트리밍 수집 및 변환을 위해 설계되지 않았습니다. 기존 데이터 웨어하우스는 일괄 처리용으로 설계되었기 때문에 대량의 데이터를 짧은 지연 시간으로 수집하는 것은 비용이 많이 들고 복잡합니다. 그 결과, 팀들은 웨어하우스 외부에서 구성해야 하고 클라우드 스토리지를 중간 준비 위치로 사용해야 하는 서투른 솔루션을 구현해야 했습니다. 이러한 시스템을 관리하는 데는 비용이 많이 들고 오류가 발생하기 쉬우며 유지 관리가 복잡합니다.

데이터브릭스 레이크하우스 플랫폼은 통합 솔루션을 제공함으로써 이러한 기존 패러다임을 파괴합니다. 데이터 엔지니어링 및 스트리밍을 위한 최적의 장소인 DLT(델타 라이브 테이블)와 기존 데이터 레이크의 분석 워크로드에 대해 데이터브릭스 SQL최대 12배 더 나은 가격 대비 성능을 제공합니다.

또한 이제 dbt와 같은 파트너는 이 발표의 뒷부분에서 자세히 설명하는 이러한 기본 기능과 통합할 수 있습니다.

데이터 웨어하우스 사용자가 직면하는 일반적인 과제

데이터 웨어하우스는 비즈니스 인텔리전스(BI) 애플리케이션을 통해 내부 보고를 위한 분석 및 데이터 제공의 기본 위치 역할을 합니다. 조직은 데이터 웨어하우스를 도입할 때 몇 가지 문제에 직면합니다:

  • 셀프-서비스: SQL 분석가는 종종 데이터 문제를 해결하기 위해 다른 리소스와 도구에 의존해야 하는 문제에 직면하며, 이로 인해 비즈니스 요구 사항을 해결하는 속도가 느려집니다.
  • 느린 BI 대시보드: 대량의 데이터로 구축된 BI 대시보드는 결과를 느리게 반환하는 경향이 있어 다양한 질문에 답할 때 상호 작용과 사용성을 저해하는 경향이 있습니다.
  • 오래된 데이터: 늦은 저녁에만 실행되는 ETL 작업으로 인해 BI 대시보드에 어제 데이터와 같은 오래된 데이터가 표시되는 경우가 많습니다.

타사 도구 없이 SQL을 사용하여 데이터 수집 및 변환

스트리밍 테이블과 Materilalized 뷰는 SQL 분석가에게 데이터 엔지니어링 모범 사례를 제공합니다. S3 위치에서 새로 도착한 파일을 지속적으로 수집하고 간단한 보고 테이블을 준비하는 예를 생각해 보겠습니다. 분석가는 다음 예제에서와 같이 몇 줄의 코드만 사용하여 데이터브릭스 SQL을 통해 S3에서 파일을 빠르게 검색 및 미리 보고 몇 분 안에 간단한 ETL 파이프라인을 설정할 수 있습니다:

1- S3에서 데이터 검색 및 미리 보기

/* Discover your data in an External Location */
LIST "s3://mybucket/analysis"

/* Preview your data */
SELECT * FROM read_files("s3://mybucket/analysis")

2- 스트리밍 방식으로 데이터 수집

/* Continuous streaming ingest at scale */
CREATE STREAMING TABLE my_bronze_table 
SCHEDULE CRON ‘0 0 * ? * * *AS
SELECT id,event_id FROM STREAM read_files('s3://mybucket/analysis')

3- 구체화된 뷰를 사용하여 점진적으로 데이터 집계

/* Create a Silver aggregate table */
CREATE MATERIALIZED VIEW my_silver_table 
SCHEDULE CRON ‘0 0 * ? * * *AS
SELECT count(distinct event_id) as event_count from my_bronze_table;

Materialized 란?

Materialized 뷰는 느린 쿼리와 자주 사용되는 계산을 미리 계산하여 비용을 절감하고 쿼리 대기 시간을 개선합니다. 데이터 엔지니어링 맥락에서는 데이터를 변환하는 데 사용됩니다. 그러나 (1) 최종 사용자의 쿼리 및 BI 대시보드의 속도를 높이고 (2) 데이터를 안전하게 공유하는 데 사용할 수 있으므로 데이터 웨어하우징 맥락에서 분석가 팀에게도 유용합니다. 델타 라이브 테이블을 기반으로 구축된 MV는 느린 쿼리와 자주 사용되는 계산을 미리 계산하여 쿼리 대기 시간을 줄여줍니다.

Introducing Materialized Views and Streaming Tables for Databricks SQL

Materialized 뷰의 장점:

  • BI 대시보드 가속화. MV는 데이터를 미리 계산하기 때문에 최종 사용자가 직접 기본 테이블을 쿼리하여 데이터를 재처리할 필요가 없으므로 쿼리 속도가 훨씬 빨라집니다.
  • 데이터 처리 비용 절감. MV 결과가 점진적으로 새로 고쳐지므로 새 데이터가 도착할 때 뷰를 완전히 다시 작성할 필요가 없습니다.
  • 안전한 공유를 위해 데이터 액세스 제어를 개선하세요. 기본 테이블에 대한 액세스를 제어하여 소비자가 볼 수 있는 데이터를 더욱 엄격하게 관리합니다.

 스트리밍 테이블이란?

DBSQL의 수집은 스트리밍 테이블(ST)을 통해 이루어집니다. ST는 데이터를 "브론즈" 테이블로 가져오는 데 이상적이라고 생각할 수 있습니다. ST를 사용하면 클라우드 저장소, 메시지 버스(이벤트허브, 아파치 카프카 등) 등 모든 데이터 소스에서 지속적이고 확장 가능한 수집이 가능합니다.

Introducing Materialized Views and Streaming Tables for Databricks SQL

스트리밍 테이블의 장점:

  • 실시간 사용 사례를 활용하세요. 스트리밍 데이터로 실시간 분석/BI, 머신 러닝 및 운영 사용 사례를 지원할 수 있습니다.
  • 확장성 향상. 증분 처리와 대량 일괄 처리를 통해 대량의 데이터를 보다 효율적으로 처리할 수 있습니다.
  • 더 많은 실무자 지원. 간단한 SQL 구문으로 모든 데이터 엔지니어와 분석가가 데이터 스트리밍에 액세스할 수 있습니다.

고객 사례: Adobe와 Danske Spil이 Materialized 뷰로 대시보드 쿼리를 가속화하는 방법

Introducing Materialized Views and Streaming Tables for Databricks SQL

Databricks SQL은 SQL 및 데이터 분석가가 타사 도구에 의존하지 않고도 비즈니스 요구 사항을 충족하는 데이터를 쉽게 수집, 정리 및 보강할 수 있도록 지원합니다. 모든 작업을 SQL로 수행할 수 있어 워크플로우가 간소화됩니다.

Materialized 뷰와 스트리밍 테이블을 사용함으로써 여러분은:

  • 분석가 역량 강화: SQL 및 데이터 분석가는 데이터를 쉽게 수집, 정리, 보강하여 비즈니스 요구 사항을 신속하게 충족할 수 있습니다. 모든 작업을 SQL로 수행할 수 있으므로 타사 도구가 필요하지 않습니다.
  • BI 대시보드 속도 향상: MV를 생성하여 결과를 미리 계산하여 SQL 분석 및 BI 보고서의 속도를 높일 수 있습니다.
  • 실시간 분석으로 전환: MV를 스트리밍 테이블과 결합하여 실시간 사용 사례를 위한 증분 데이터 파이프라인을 생성하세요. 스트리밍 데이터 파이프라인을 설정하여 데이터브릭스 SQL 웨어하우스에서 직접 수집 및 변환을 수행할 수 있습니다.

Adobe는 인간의 독창성을 증폭시키는 co-pilot으로서 인공지능을 통해 세상을 더욱 창의적이고 생산적이며 개인화된 공간으로 만든다는 사명을 가지고 인공지능에 대한 고급 접근 방식을 취하고 있습니다. 데이터브릭스 SQL에 대한 Materialized 뷰의 선도적인 프리뷰 고객으로서 이 미션을 달성하는 데 도움이 되는 막대한 기술적, 비즈니스적 이점을 확인했습니다:

“Materialized 뷰로 전환한 후 쿼리 실행 시간이 8분에서 단 3초로 단축되는 등 쿼리 성능이 크게 개선되었습니다. 이를 통해 우리 팀은 더 효율적으로 작업하고 데이터에서 얻은 인사이트를 기반으로 더 빠르게 의사 결정을 내릴 수 있게 되었습니다. 또한 추가 비용 절감도 큰 도움이 되었습니다.”
— Karthik Venkatesan, Adobe 보안 소프트웨어 엔지니어링 시니어 매니저

1948년에 설립된 덴마크의 국영 복권 회사 Danske Spil은 DB SQL Materialized 뷰의 초기 프리뷰 고객 중 하나였습니다. 데이터 엔지니어링 팀장인 Søren Klein이 Materialized 뷰가 조직에 그토록 가치 있는 이유에 대한 자신의 관점을 공유합니다:

“Danske Spil에서는 Materialized 뷰를 사용하여 웹사이트 추적 데이터의 성능을 향상시킵니다. 이 기능을 사용하면 불필요한 테이블을 만들지 않고 복잡성을 가중시키지 않으면서도 최종 사용자 보고 솔루션을 가속화하는 영구 뷰의 속도를 얻을 수 있습니다.”
— Søren Klein, Danske Spil 데이터 엔지니어링 팀장

dbt를 통한 간편한 스트리밍 수집 및 변환

데이터브릭스와 dbt Labs가 협력하여 레이크하우스 아키텍처에서 실시간 분석 엔지니어링을 간소화합니다. 널리 사용되는 분석 엔지니어링 프레임워크와 데이터브릭스 레이크하우스 플랫폼의 결합은 다음과 같은 강력한 기능을 제공합니다:

  • dbt + 스트리밍 테이블: 이제 모든 소스로부터의 스트리밍 수집이 dbt 프로젝트에 기본으로 제공됩니다. 분석 엔지니어는 SQL을 사용하여 dbt 파이프라인 내에서 직접 클라우드/스트리밍 데이터를 정의하고 수집할 수 있습니다.
  • dbt + Materialized 뷰: 데이터브릭스의 강력한 증분 새로 고침 기능을 활용하는 dbt를 사용하면 효율적인 파이프라인을 더 쉽게 구축할 수 있습니다. 사용자는 dbt를 사용하여 MV가 지원하는 파이프라인을 구축하고 실행할 수 있으며, 효율적인 증분 계산을 통해 인프라 비용을 절감할 수 있습니다.

주요내용

데이터 웨어하우징과 데이터 엔지니어링은 모든 데이터 기반 기업의 중요한 구성 요소입니다. 그러나 각 측면에 대해 별도의 솔루션을 관리하는 것은 비용이 많이 들고 오류가 발생하기 쉬우며 유지 관리가 어렵습니다. 데이터브릭스 레이크하우스 플랫폼은 최고의 데이터 엔지니어링 기능을 데이터브릭스 SQL에 기본으로 제공하여 SQL 사용자에게 통합 솔루션을 제공합니다. 또한 dbt와 같은 파트너와의 통합을 통해 공동 고객은 이러한 고유한 기능을 활용하여 더 빠른 인사이트, 실시간 분석, 간소화된 데이터 엔지니어링 워크플로우를 제공할 수 있습니다.

이 링크를 따라 Databricks SQL 구체화된 뷰 및 스트리밍 테이블에 액세스하세요. 지금 바로 데이터브릭스데이터브릭스 SQL을 시작하거나 Materialized 뷰스트리밍 테이블에 대한 설명서를 검토할 수도 있습니다.

Databricks 무료로 시작하기

관련 포스트

모든 플랫폼 블로그 포스트 보기