다음을 통해 공유


예측 I/O란?

예측 I/O는 데이터 상호 작용에 대한 성능을 향상시키는 Azure Databricks 최적화의 컬렉션입니다. 예측 I/O 기능은 다음 범주로 그룹화됩니다.

  • 가속화된 읽기는 데이터를 스캔하고 읽는 데 걸리는 시간을 줄입니다.
  • 가속화된 업데이트는 업데이트, 삭제 및 병합 중에 다시 작성해야 하는 데이터의 양을 줄입니다.

예측 I/O는 Azure Databricks의 Photon 엔진에만 적용됩니다.

예측 I/O를 사용하여 읽기 가속화

예측 I/O는 지원되는 컴퓨팅 형식에 대한 모든 작업에 대한 데이터 검색 및 필터링 성능을 가속화하는 데 사용됩니다.

중요한

예측 I/O 읽기는 서버리스 및 프로 형식의 SQL 웨어하우스 및 Databricks Runtime 11.3 LTS 이상을 실행하는 Photon 가속 클러스터에서 지원됩니다.

예측 I/O는 딥 러닝 기술을 적용하여 다음을 수행하여 검사 성능을 향상시킵니다.

  • 데이터를 읽고 실제로 필요한 데이터만 검사하는 가장 효율적인 액세스 패턴을 결정합니다.
  • 쿼리 결과를 생성하는 데 필요하지 않은 열과 행의 디코딩을 제거합니다.
  • 행과 일치하는 선택적 쿼리에서 쿼리 조건의 확률을 계산합니다. 쿼리가 실행되면 이러한 확률을 사용하여 일치하는 다음 행이 발생할 위치를 예상하고 클라우드 스토리지에서만 해당 데이터를 읽습니다.

예측 I/O를 사용하여 업데이트 가속화

업데이트에 대한 예측 I/O는 다음 Photon 지원 컴퓨팅 유형을 사용하여 삭제 벡터를 사용하도록 설정된 모든 테이블에 자동으로 사용됩니다.

  • 서버리스 SQL 웨어하우스.
  • Pro SQL 웨어하우스.
  • Databricks Runtime 14.0 이상을 실행하는 클러스터.

메모

업데이트에 대한 예측 I/O 지원은 Databricks Runtime 12.2 LTS 이상에 있지만 Databricks는 최상의 성능을 위해 14.0 이상을 사용하는 것이 좋습니다.

삭제 벡터란?을 참조하세요.

중요한

작업 영역 관리자 설정은 삭제 벡터가 새 델타 테이블에 대해 자동으로 사용되는지 여부를 제어합니다. 삭제 벡터 자동 사용을 참조하세요.

Delta Lake 테이블 속성을 설정하여 Delta Lake 테이블에서 삭제 벡터를 지원할 수 있습니다. 다음 예제와 같이 테이블을 만드는 동안 삭제 벡터를 사용하도록 설정하거나 기존 테이블을 변경합니다.

CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);

ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

경고

삭제 벡터를 사용하도록 설정하면 테이블 프로토콜 버전이 업그레이드됩니다. 업그레이드 후에는 삭제 벡터를 지원하지 않는 Delta Lake 클라이언트에서 테이블을 읽을 수 없습니다. Delta Lake 기능 호환성 및 프로토콜을 참조하세요.

삭제 벡터를 지원하는 클라이언트 목록은 델타 클라이언트와의 호환성을 참조 하세요.

Databricks Runtime 14.1 이상에서는 삭제 벡터 테이블 기능을 삭제하여 다른 델타 클라이언트와의 호환성을 사용하도록 설정할 수 있습니다. Delta Lake 테이블 기능 삭제 및 테이블 프로토콜 다운그레이드를 참조하세요.

예측 I/O는 삭제 벡터를 활용하여 델타 테이블에서 데이터를 수정하는 동안 전체 파일 다시 쓰기 빈도를 줄여 업데이트를 가속화합니다. 예측 I/O는 DELETE, MERGE, 및 UPDATE 작업을 최적화합니다.

레코드가 업데이트되거나 삭제될 때 데이터 파일의 모든 레코드를 다시 작성하는 대신 예측 I/O는 삭제 벡터를 사용하여 레코드가 대상 데이터 파일에서 제거되었음을 나타냅니다. 추가 데이터 파일은 업데이트를 나타내는 데 사용됩니다.

테이블에 대한 후속 읽기는 최근 테이블 버전에 명시된 변경 내용을 적용하여 현재 테이블 상태를 확인합니다.

중요한

예측 I/O 업데이트는 모든 제한 사항을 삭제 벡터와 공유합니다. Databricks Runtime 12.2 LTS 이상에서는 다음과 같은 제한 사항이 있습니다.

  • 삭제 벡터가 사용하도록 설정된 테이블에서는 델타 공유가 지원되지 않습니다.
  • 삭제 벡터가 있는 테이블에 대한 매니페스트 파일을 생성할 수 없습니다. REORG TABLE ... APPLY (PURGE) 매니페스트를 생성하기 위해 실행되고 동시 쓰기 작업이 실행되지 않는지 확인합니다.
  • 삭제 벡터가 활성화된 테이블에 대한 매니페스트 파일을 증분 방식으로 생성할 수 없습니다.