주요 컨텐츠로 이동

데이터브릭스 데이터 인텔리전스 플랫폼에서 Liquid 클러스터링의 정식 출시(GA)을 발표하게 되어 기쁘게 생각합니다. Liquid 클러스터링은 테이블 파티셔닝과 ZORDER를 대체하는 혁신적인 데이터 관리 기법으로 ,최적의 쿼리 성능을 달성하기 위해 더 이상 데이터 레이아웃을 미세 조정할 필요가 없습니다 . 

 

리퀴드 클러스터링은 데이터 레이아웃 관련 결정을 크게 간소화하고 데이터 재작성 없이 클러스터링 키를 재정의할 수 있는유연성을 제공합니다. 시간이 지남에 따라 분석 요구사항에 따라 데이터 레이아웃을 진화시킬 수 있으며, 이는 Delta의 파티셔닝으로는 결코 할 수 없는 일입니다. 

 

작년 Data & AI Summit에서 Liquid 클러스터링의 공개 프리뷰를 선보인 이후수백 명의 고객들이 Liquid 클러스터링을 통해 쿼리 성능 개선의 혜택을 누리고 있습니다. 그 기간 동안 1000명 이상의 활성 고객을 확보했으며 , liquid 클러스터링이 적용된 테이블들에 100페타바이트 이상의 데이터를 쓰고, 20엑사바이트에 달하는 데이터를 읽었습니다. 고객들은 Liquid를 통해 기존 방식에 비해 읽기 성능이 2~12배 향상되는 것을 확인했습니다. 

기존 접근 방식: 관리가 어렵고, 유연성이 낮으며, 만능 전략이 없습니다. 

기존에는 고객들이 읽기 쿼리 속도를 높이고 동시 쓰기 작업을 가능케 하기 위해 Hive 스타일 파티셔닝 + ZORDER 조합을 채택했습니다 . 여기에는 몇 가지 문제가 있습니다:

과제 1: 최적의 성능을 위한 올바른 파티셔닝 전략을 찾는 것은 어렵습니다. 

파티셔닝 컬럼을 선택하는 것은 복잡한 과정입니다. 또한 파티션 컬럼을 잘못 선택하면 파일 크기가 너무 크거나 너무 작아서 읽기 속도가 느려지고 쿼리 성능이 저하되는 경험을 하게 됩니다. 이 문제를 해결하기 위해 많은 고객이훨씬 더 복잡한 해결 방법, 예컨대 카디널리티가 높은 컬럼에 파티션을 적용하기 위해 생성된 컬럼을 사용하는 등 의 방법을 사용합니다.

과제 2: ZORDERing 작업은 비용이 많이 들고 쓰기 시간이 오래 걸립니다. 

ZORDER 기술은 파티셔닝보다 읽기 속도가 빠르지만, 증분 방식이 아니므로 쓰기량이 상당히 늘어나고 쓰기 시점에 수행할 수 없습니다. 이로 인해 클러스터링 작업이 더 오래 실행되고 컴퓨팅 비용이 높아집니다. 설상가상으로, ZORDER는 전체 데이터셋에 걸쳐 데이터를 전체적으로 최적화하지 않아 최적의 쿼리 성능을 제공하지 못합니다.

과제 3: 테이블에 동시 쓰기가 필요한 경우 파티셔닝 전략에 제약이 따릅니다.

충돌을 방지하기 위해 파티션이 반드시 필요하지 않은 열을 중심으로 파티션을 구성합니다. 따라서 비즈니스 변화에 따라 쿼리 패턴이 진화함에 따라 데이터 재작성을 통해 파티션을 조정하는 등 지속적인 유지 관리가 필요합니다. 또한 같은 파티션 내에서는 동시 쓰기가 불가능합니다.

Liquid 클러스터링 소개 - 쿼리 성능을 최대 12배까지 향상시키는 즉시 사용 가능한 셀프 튜닝 성능을 제공

Liquid 클러스터링은 사용자에게 적합한 데이터 레이아웃을 파악하고, 수동으로 튜닝된 파티션 테이블보다 더 나은 쓰기 및 읽기 성능을 제공함으로써 이러한 모든 문제를 해결하는 획기적인 기술입니다. Liquid는 Delta Lake 에서 사용할 수 있으며, 이제 DBR 15.2부터 Databricks 에서 정식 출시되어 사용할 수 있습니다. 데이터브릭스 데이터 인텔리전스 플랫폼의 일부인 DatabricksIQ는 AI를 사용하여 추가적인 동시성 및 성능 향상으로 Liquid를 강화합니다. 

사용 방법은 간단합니다. 클러스터링할 컬럼을 정의하기만 하면 됩니다:

-- Creating a new table

CREATE TABLE table1(t timestamp, s string) CLUSTER BY (t);

이점 1: Liquid 는 간편합니다 - 최소한의 데이터 레이아웃 결정으로 최적의 클러스터링 성능 제공

 

Hive 파티셔닝과 달리, Liquid 클러스터링 키는 카디널리티, 키 순서, 파일 크기, 잠재적인 데이터 치우침(skew), 향후 액세스 패턴이 어떻게 변할지 고려할 필요 없이, 쿼리 액세스 패턴만을 기준으로 선택할 수 있습니다 . 위의 예에서는 카디널리티가 높은 timestamp 컬럼을 클러스터링 키로 사용하고 있습니다. Liquid는 자체 튜닝 및 Skew 방지 기능을 갖추고 있어 파일 크기가 일정하게 유지되고 과다 파티션이나 과소 파티션 문제를 피할 수 있습니다.

데이터브릭스의 혁신적인 Liquid 클러스터링을 사용한 결과, 기존의 z-order 방식에 비해 쿼리 성능이 현저히 개선된 것을 확인할 수 있었습니다. 또한, Liquid 클러스터링 테이블은 파티셔닝 병목 현상을 제거하고, 스캔 성능을 개선하며, 데이터 skew를 줄임으로써 데이터 처리를 간소화했습니다 . -- Edward Goo, ETL 엔지니어링 디렉터, YipitData

이점 2: Liquid 클러스터 테이블은 쓰기가 빠릅니다 - 최적화된 데이터 레이아웃으로 비용 절감

Liquid는 비용 효율적인 증분 클러스터링을 제공하여 쓰기 증가량이 적습니다. 산업 표준 데이터 웨어하우징 데이터셋에서 데이터를 점진적으로 수집하고 클러스터링한 내부 벤치마크에서, Liquid는 파티셔닝 + Zorder보다 7배 빠른 쓰기 시간을 달성하는것으로 나타났습니다.

 

 

또한 DatabricksIQ을 사용하면 수집 과정 중 쓰기 시점에 새 데이터에 대해 Liquid 클러스터링을 적용할 수 있습니다 (clustering-on-write). Clustering-on-write는 별도의 구성 없이 자동으로 적용됩니다. 파티셔닝과 마찬가지로, Liquid는 쓰기 즉시 데이터가 합리적으로 잘 클러스터링되도록 보장하여 고객을 위한 고성능 데이터 레이아웃을 즉시 생성합니다. 

이점 3: 동시성 보장 - DatabricksIQ는 Liquid 클러스터링을 통해 레코드 레벨의 동시성을 지원합니다. 

데이터브릭스는 행 수준 동시성(row-level concurrency)을제공하는 유일한 레이크하우스입니다고객은 더 이상 동시성을 위해 파티셔닝에 의존하거나 Liquid 클러스터 테이블에서 충돌을 피하기 위해 워크로드를 설계할 필요가 없습니다. 

 

이러한 모든 이점을 통해 고객은 더 이상 성능을 끌어올리기 위해 데이터 레이아웃을 미세 조정할 필요가 없습니다. 한 대형 제조 회사는 Liquid를 통해 포인트 쿼리 속도를 12배까지 향상시켜 시계열 데이터에서 ID를 조회하는 사용 사례를 더욱 빠르게 수행할 수 있었습니다.

 

 

Delta Lake Liquid 클러스터링은 시계열 쿼리를 최대 10배까지 향상시켰으며 레이크하우스에서 놀라울 정도로 간단하게 구현할 수 있었습니다. 카디널리티나 파일 크기에 대한 걱정 없이 컬럼을 클러스터링할 수 있으며, 기존처럼 Delta 파티셔닝과 Z-order 미세 조정을 통해 직접 관리하지 않고도 읽어들일 데이터의 양을 크게 줄일 수 있습니다. -- 브라이스 바트만, 최고 디지털 기술 고문, Shell

 

또한 많은 고객들이 이 기능의 간편함, 유연성, 즉시 사용 가능한 성능에대해 호평하고 있습니다.

Liquid 클러스터링은 특정 트렌드와 이벤트에 대해 복잡한 데이터셋을 조사하는 연구원들의 능력을 크게 향상시켰습니다. 이 기능이 성장하여 Delta 에코시스템의 핵심 기능으로 채택되기를 기대합니다. -- 로버트 배츠, Cisco 빅데이터 책임자

 

지금 시작하기

Delta 테이블에서 몇 초 만에 Liquid 클러스터링을 활성화할 수 있습니다. Liquid 클러스터링은 DBR 15.2에서 정식 버전으로 출시되었습니다. (문서: AWS | Azure | GCP). Databricks 외부에서 Liquid 클러스터링을 사용하려면 delta.io 설명서를 참조하세요 .

 

Databricks 무료로 시작하기

관련 포스트

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