예측 I/O란?

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

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

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

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

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

Important

예측 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 이상을 사용하는 것이 좋습니다.

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

Important

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

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

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

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

Warning

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

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

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

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

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

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

Important

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

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