주요 컨텐츠로 이동
제품

Variant로 반정형 데이터를 더 빠르고 효율적으로 수집하세요 - 이제 정식 출시되었습니다

Databricks는 Predictive Optimization을 사용하여 사용자가 반정형 데이터를 유연하게 수집하는 동시에 정형 데이터와 유사한 쿼리 성능을 유지하여 30배 빠른 읽기 속도를 제공합니다.

작성자: Jonathan Brito, Gene Pang , Harsh Motwani

  • 이제 정식 출시된 Variant를 통해 팀은 반정형 데이터에서 정형 데이터 수준의 성능을 확보하여 최대 30배 빠른 읽기 속도를 달성할 수 있습니다.
  • Variant는 예측 불가능한 스키마 변경을 매끄럽게 처리하므로, 팀은 파이프라인을 업데이트할 필요 없이 반정형 데이터를 수집할 수 있습니다.
  • Variant는 데이터(Auto Loader, Spark Declarative Pipelines) 및 AI 워크로드(Agent Bricks, AI Functions) 전반에 걸쳐 Databricks 플랫폼에 광범위하게 통합되어 있습니다.

수년 동안 JSON, XML, CSV와 같은 반정형 데이터를 수집하려면 까다로운 절충안을 선택해야 했습니다. 데이터 팀은 빠른 쿼리를 위해 데이터를 스키마화하는 ETL 파이프라인을 구축하고 유연성을 희생하거나, 유연성을 유지하기 위해 데이터를 문자열로 저장하고 느린 쿼리 성능이라는 대가를 치러야 했습니다. 이러한 절충 문제를 해결하기 위해 당사는 Delta 및 Spark 커뮤니티와 협력하여 Variant 데이터 타입을 도입했으며, 이를 Parquet 및 Iceberg 커뮤니티에 제공하여 레이크하우스를 반정형 데이터를 위한 단일 개방형 표준으로 통합했습니다.

Variant가 이제 Databricks에서 정식 출시(GA)되었음을 기쁜 마음으로 알려드립니다. 이번 출시에는 마찬가지로 정식 출시된 Variant Shredding이 포함되어 있으며, 이는 Predictive Optimization을 사용하여 Variant 데이터에 대한 쿼리 성능을 자동으로 향상시키는 성능 최적화 기능입니다. Variant를 통해 팀은 다운스트림 쿼리 성능을 저하시키지 않으면서 반정형 데이터를 유연하게 수집할 수 있습니다.

대규모의 유연한 수집

5,000개 이상의 팀이 Databricks를 사용하여 Variant를 작성하고 있습니다. 이러한 팀들은 주로 Kinesis나 Event Hub와 같은 스트리밍 소스의 이벤트, API의 JSON 페이로드, PostgreSQL 및 MongoDB와 같은 데이터베이스의 스키마리스 데이터를 수집하는 데 Variant를 사용합니다.

Variant는 수집 소스의 스키마 변경을 처리하는 데 특히 유용합니다. 예를 들어, 업스트림 애플리케이션이 API 타입을 변경할 수 있습니다. 이로 인해 다운스트림 팀은 관련 파이프라인을 업데이트하고, 기존 데이터의 백필을 수행하고, 전환을 처리하느라 분주해집니다. 설상가상으로 대부분의 기업은 데이터 플랫폼 팀과 애플리케이션 팀이 분리되어 있어 이러한 스키마 변경을 예측하기 어렵습니다. Variant를 사용하면 사용자는 모든 반정형 데이터를 테이블로 유연하게 수집할 수 있습니다.

image3.png

Variant는 반정형 데이터를 작업할 때 발생하는 사전 비용을 제거합니다. 데이터를 스키마화하기 위한 파이프라인을 구축하는 데는 시간이 걸리며, 데이터 엔지니어는 시간 투자에 대한 타당성을 입증해야 합니다. Variant는 패러다임을 바꿉니다. 팀은 먼저 데이터를 손쉽게 로드한 다음, 비즈니스의 나머지 부분에 대한 유용성을 파악할 수 있습니다.

Predictive Optimization을 통한 더 빠르고 스마트한 쿼리

Databricks 사용자는 160TB 이상의 Variant 데이터에서 매월 5억 개 이상의 Variant 쿼리를 실행합니다. Databricks는 관리형 테이블에서 스키마화된 데이터를 읽는 것만큼 빠르게 Variant를 읽을 수 있도록 지원합니다. Shredding을 사용하면 Variant는 기본 Parquet 파일에 공통 필드를 열로 저장합니다. Predictive Optimization은 사용자의 고유한 워크로드 및 쿼리 패턴을 학습하고, 머신러닝을 사용하여 가장 중요한 분할(shredded) 필드를 식별하고 이에 대한 통계를 수집하여 파일 건너뛰기(file skipping) 성능을 향상시킵니다. 그 결과 Databricks는 쿼리에 필요한 파일과 열만 스캔하므로 불필요한 작업을 피하고 성능을 높일 수 있습니다.

Variant shredding은 분할되지 않은 Variant보다 거의 4배 빠른 읽기 속도를 제공하며, JSON을 문자열로 저장하는 것보다 30배 빠른 읽기 속도를 제공합니다.

image2.png

Variant를 통해 Databricks는 대규모 환경에서 번개처럼 빠른 성능을 실현하고 있습니다.

저희는 단순한 플랫 레코드가 아니라 효율적으로 검색하기 어려운 복잡한 JSON 구조의 보안 로그를 쿼리해야 합니다. Databricks의 Variant 지원은 shredding과 결합되어 페타바이트 규모에서도 깊게 중첩된 속성에 대한 고성능 쿼리를 가능하게 합니다.

Panther

— Russell Leighton, 최고 아키텍트

Databricks에서 Variant 사용하기

Databricks를 사용하면 전체 데이터 스택에서 Variant를 사용할 수 있습니다.

당사 사용자들은 일반적으로 반정형 데이터를 Variant로 수집하기 위해 두 가지 도구를 사용합니다.

  1. Auto Loader, 오브젝트 스토리지에서 반정형 파일을 점진적으로 처리하는 소스
  1. Zerobus, 메시지 버스를 사용하지 않고 테이블에 직접 쓰는 완전 관리형 수집 서비스

두 수집 방식 모두 데이터를 Delta 또는 Iceberg에 기록하므로 모든 클라이언트가 레이크하우스의 데이터와 상호 운용할 수 있습니다. 설정을 간소화하려면 Lakeflow Pipelines Editor에서 Genie Code를 사용하여 자연어로 Auto Loader 수집 파이프라인을 쉽게 생성해 보세요.

Delta or Iceberg

그런 다음 팀은 레이크하우스에서 Variant 데이터를 직접 사용할 수 있습니다. 수집 과정에서 데이터가 지능적으로 분할(shredded)되므로 대시보드 및 보고서에서 정형 데이터만큼 빠르게 데이터를 직접 쿼리할 수 있습니다.

가까운 미래에 저희는 Variant 필드별 Liquid Clustering, 확장된 SQL 함수 및 추가 기능 통합을 포함하여 Variant 지원을 더욱 확장할 계획입니다.

지금 바로 Variant를 시작해 보세요

Variant를 사용하면 반정형 데이터를 사용할 때 유연성과 성능 사이에서 더 이상 타협할 필요가 없습니다. Databricks는 워크로드 및 쿼리 패턴을 추적하는 Predictive Optimization을 사용하여 제품 전반에서 최상의 성능을 발휘하도록 Variant 데이터를 자동으로 기록합니다.

Variant를 시작하는 방법은 간단합니다. 여기에서 시도해 보세요.

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.