주요 컨텐츠로 이동

예측 최적화(Predictive Optimization)를 소개합니다: 더 빠른 쿼리, 더 저렴한 저장 공간, 더 적은 노력

이 포스트 공유하기

(번역: Youngkyong Ko) Original Blog Post

데이터브릭스 예측 최적화(Predictive Optimization)의 공개 프리뷰를 발표하게 되어 기쁘게 생각합니다. 이 기능은 테이블 데이터 레이아웃을 지능적으로 최적화하여 성능과 비용 효율성을 개선합니다.

예측 최적화는 Unity CatalogLakehouse AI를 활용하여 데이터에 가장 적합한 최적화를 결정한 다음, 특별히 구축된 서버리스 인프라에서 해당 작업을 실행합니다. 이를 통해 레이크하우스 여정을 크게 간소화하여 데이터에서 비즈니스 가치를 창출하는 데 집중할 수 있습니다.

이 기능은 AI를 활용하여 데이터와 데이터 액세스 패턴을 기반으로 작업을 예측적으로 수행하는 데이터브릭스 기능 중 가장 최신 기능입니다. 이전에는 읽기 및 업데이트 쿼리를 실행할 때 이러한 기술을 적용하는 읽기 및 업데이트용 예측 I/O (Predictive I/O for reads and updates)를 출시한 바 있습니다. 

도전 과제

레이크하우스 테이블은 데이터 레이아웃을 개선하는 백그라운드 최적화의 이점을 크게 누릴 수 있습니다. 여기에는 적절한 파일 크기를 확보하기 위한 파일 컴팩션(compaction)이나 불필요한 데이터 파일을 정리하기 위한 Vacuum 과정이 포함됩니다. 적절한 최적화를 수행하면 성능을 크게 개선하는 동시에 비용을 절감할 수 있습니다.

그러나 이는 데이터 엔지니어링 팀이 해결해야 할 지속적인 과제가 됩니다: 

  • 어떤 최적화를 실행해야 하나?
  • 어떤 테이블을 최적화해야 하나?
  • 이러한 최적화를 얼마나 자주 실행해야 하나?

레이크하우스 플랫폼의 규모가 커지고 셀프서비스화됨에 따라 플랫폼 팀은 이러한 질문에 효과적으로 답하기가 사실상 불가능하다는 것을 알게 되었습니다. 고객으로부터 반복적으로 듣는 의견은 새로운 비즈니스 사용 사례에서 생성되는 수많은 테이블을 최적화하는 데 어려움을 겪고 있다는 것입니다.

게다가 이러한 까다로운 질문에 대한 답을 찾더라도 팀은 작업 예약, 장애 진단, 기본 인프라 관리 등 이러한 최적화를 예약하고 실행하는 데 따르는 운영상의 부담을 여전히 감당해야 합니다. 

예측 최적화의 작동 방식

데이터브릭스는 예측 최적화를 통해 이러한 까다로운 문제를 해결하여 귀중한 시간을 데이터로 비즈니스 가치를 창출하는 데 집중할 수 있게 해줍니다. 예측 최적화는 버튼 클릭 한 번으로 활성화할 수 있습니다. 그 이후에는 모든 작업을 자동으로 수행합니다.

Databricks intelligently determines the best schedule of optimizations, runs those optimizations, and logs their impact in a systems table for easy observability

첫째, 예측 최적화는 어떤 최적화를 실행할지, 얼마나 자주 실행할지를 지능적으로 결정합니다. 우리의 AI 모델은 테이블의 사용 패턴, 기존 데이터 레이아웃 및 성능 특성 등 다양한 입력을 고려합니다. 그런 다음 최적화를 통해 얻을 수 있는 이점과 예상되는 컴퓨팅 비용을 비교하여 이상적인 최적화 실행 스케줄을 산출합니다. 

스케줄이 생성되면 예측 최적화는 특별히 구축된 서버리스 인프라에서 이러한 최적화를 자동으로 실행합니다. 최적화 작업에 적합한 크기와 대수만큼 서버들을 자동으로 할당하고 최적의 효율을 위해 적절하게 작업을 구성하고 예약합니다. 

전체 시스템은 수동 조정이나 튜닝 없이 end-to-end로 실행되며, 시간이 지남에 따라 조직의 사용 현황을 학습하여 조직에 중요한 테이블은 최적화하고 그렇지 않은 테이블은 우선순위를 낮춥니다. 최적화를 수행하는 데 필요한 서버리스 컴퓨팅에 대해서만 요금이 청구됩니다. 기본적으로 모든 작업이 시스템 테이블에 기록되므로 작업의 영향과 비용을 쉽게 감사하고 이해할 수 있습니다.

영향

지난 몇 달 동안 많은 고객들이 예측 최적화를 위한 비공개 프리뷰 프로그램에 등록했습니다. 많은 사람들이 예측 최적화가 두 가지 일반적인 극단 사이에서 최적의 지점을 찾아낼 수 있다는 것을 확인했습니다:

Side by side images show the tradeoffs between query performance and cost between no optimizations at all and daily, manual optimizations.

한편에는 아직 정교한 테이블 최적화 파이프라인을 구축하지 못한 조직도 있습니다. 예측 최적화를 사용하면 최적의 실행 일정을 파악하거나 인프라를 관리할 필요 없이 즉시 테이블 최적화를 시작할 수 있습니다.

반면에 일부 조직은 최적화에 과도하게 투자하고 있을 수 있습니다. 예를 들어, 최적화 파이프라인을 자동화하는 팀의 경우, 시간별 또는 일별 OPTIMIZE 또는 VACCUM 작업을 실행하고 싶은 유혹에 빠질 수 있습니다. 그러나 이러한 작업은 투자 대비 효과가 감소할 위험이 있습니다. 더 적은 최적화 작업으로 동일한 성능 향상을 달성할 수 있을까요? 

예측 최적화는 적절한 균형을 찾아 투자 대비 효과가 높은 최적화 작업만 실행하도록 도와줍니다:

Side by side graphs show that for both query performance and cost, Predictive Optimization finds the right balance and only runs optimizations with high return on investment.

구체적인 예로, Anker의 데이터 엔지니어링 팀은 예측 최적화를 구현하여 이러한 이점을 빠르게 실현했습니다: 

 

Anker company logo2x query speed-up

50% reduction in annual storage costs

graph of annual storage costs over time

“Databricks’ Predictive Optimizations intelligently optimized our Unity Catalog storage, which saved us 50% in annual storage costs while speeding up our queries by >2x. It learned to prioritize our largest and most-accessed tables. And, it did all of this automatically, saving our team valuable time.”

-- Shu Li, Data Engineering Lead, Anker


바로 시작해 보세요!

예측 최적화를 현재 공개 프리뷰로 사용할 수 있습니다. 이 기능을 활성화하는 데 5분도 채 걸리지 않습니다. 계정 관리자는 계정 콘솔 > 설정 > 기능 활성화 탭으로 이동하여 예측 최적화 설정을 켜기만 하면 됩니다:

Set the Predictive optimization field in Account console > Settings > Feature Enablement


클릭 한 번으로 Unity Catalog 관리 테이블 전체에 AI 기반으로 최적화된 데이터 레이아웃을 적용하여 데이터를 더 빠르고 비용 효율적으로 만들 수 있습니다. 자세한 내용은 설명서를 참조하세요.

이제 시작에 불과합니다. 앞으로 몇 달 동안 이 기능에 더 많은 최적화 기능을 지속적으로 추가할 예정입니다. 앞으로 더 많은 기능을 기대해 주세요.

Databricks 무료로 시작하기

관련 포스트

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