Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

Oracle Exadata 및 스토리지 인덱스 기능

Oracle® Exadata® 시스템은 데이터베이스 성능을 향상시키는 스토리지 인덱스를 도입했습니다. 저장소 인덱스는 키 통계를 포함하는 메모리의 구조 저장소입니다. 이 스토리지 인덱스를 사용하면 Exadata가 모든 행을 읽는 대신 인덱스를 먼저 확인하여 관련 데이터를 찾음으로써 디스크 I/O 작업 및 쿼리 속도를 높일 수 있습니다.

스토리지 인덱스에 대한 한 가지 중요한 고려 사항은 Exadata가 스토리지 인덱스 I/O 절감을 생성하기 위해 시스템이 이러한 인덱스의 데이터를 인덱스의 스토리지 영역에 기록해야 한다는 것입니다. 즉, 스토리지 인덱스 데이터를 사용하려면 셀 서버의 영역 인덱스 메모리 구조에 프라이밍해야 합니다. 쿼리를 처음 실행하면 영역 인덱스에 관련 데이터가 포함되어 있지 않기 때문에 스토리지 인덱스 I/O 절감 효과가 표시되지 않습니다.

저장소 색인 작동 방식

스토리지 인덱스의 주요 목표는 Exadata Smart Scan에 대한 서비스 요청에 필요한 디스크 I/O의 양을 줄이는 것입니다. 스캔한 실제 데이터베이스 행을 고려하여 스토리지 인덱스를 사용하여 파생된 I/O 절감을 측정할 수 있습니다. 쿼리에 조건자(즉, WHERE 절) 및 기본 AutomaticStorage Management( ASM) 디스크 그룹에는 cell.smart_scan_capable=TRUE가 있습니다. 속성 집합입니다. 즉, 스토리지 인덱스는 쿼리 술어로 Exadata Smart Scan forSQL 문을 보완합니다. 또한 스토리지 인덱스는 쿼리 조건자의 열과 관련하여 데이터가 잘 정렬되어 있을 때 가장 큰 성능 절감 효과를 제공합니다.

오라클 엑사데이터 아키텍처

디자인 관점에서 스토리지 인덱스는 기존 Oracle B*Tree 인덱스 또는 기타 인덱스 유형과 다릅니다. 스토리지 인덱스는 데이터베이스 내부에 세그먼트로 저장된 물리적 구조가 아니라 Exadata 스토리지 셀에 상주하는 메모리 구조입니다. 기존 인덱스의 목표는 Oracle이 테이블에서 행을 빠르게 찾을 수 있도록 지원하는 것인 반면, 스토리지 인덱스의 목표는 스토리지 인덱스의 값이 요청된 행 읽기를 나타내는 경우 셀 서비스 소프트웨어가 물리적 데이터베이스 행 읽기를 건너뛰도록 지시하는 매우 효율적인 수단을 제공하는 것입니다. 해당 행에 데이터가 포함되어 있지 않습니다.

저장 영역의 데이터가 쿼리 조건자에 일반적으로 사용되는 열과 관련하여 잘 정렬된 경우 저장 인덱스를 사용하면 셀 서버(CELLSRV) 프로세스가 물리적 I/O 요청을 우회하고 디스크 I/O를 저장할 수 있습니다. 스토리지 인덱스에 의해 절약된 셀 물리적 I/O 바이트는 이 I/O 절감 이점을 측정하는 데 사용할 수 있는 시스템 통계입니다.

반면에 데이터가 제대로 정렬되지 않은 경우 각 저장소 영역이 지정된 열 또는 쿼리 조건자에 대해 큰 범위의 잠재적 값을 포함할 가능성이 더 높기 때문에 저장소 인덱스는 제한적이거나 아무런 이점도 제공하지 않습니다. 기존 B*Tree 인덱스와 마찬가지로 클러스터링은 스토리지 인덱스에 대한 중요한 고려 사항입니다. storageindexes에 대한 흥미로운 사실 ​​중 하나는 Exadata의 CELLSVR 프로세스가 쿼리의 술어 값이 각 스토리지 영역에 대한 영역 인덱스에서 추적된 높은 값과 낮은 값을 벗어나는 경우에만 스토리지 영역이 추적된 범위 내의 데이터를 포함하는지 여부에 관계없이 이를 사용한다는 것입니다.

스토리지 영역이 테이블의 10개 행에 대한 데이터를 포함하는 예를 고려하십시오. 이 10개의 행 내에 FIRST_NAME이라는 열이 있다고 가정해 보겠습니다. 이 열 내에서 영역에는 "john", "anto", "max", "leigh", "theo", "rachel", "lauren", "bob", "denise" 및 "젠". FIRST_NAME="chris"를 검색하는 쿼리를 실행한 경우 , "chris"가 알파벳순으로 "anto"와 "theo" 사이에 있기 때문에 이 테이블에 대한 기존 스토리지 인덱스는 이 영역에 대한 액세스 자격을 박탈하지 않습니다. 그러나 FIRST_NAME="victor"를 기반으로 쿼리를 실행하는 경우 , CELLSVR은 값이 높은 값과 낮은 값을 벗어나기 때문에 이 저장 영역에 대한 물리적 I/O를 우회합니다.

간단히 말해서 스토리지 인덱스 함수는 가양성(I/O 요청 발행 허용과 관련하여)을 반환할 수 있지만 절대 가양성을 반환하지 않습니다.

I/O를 우회하는 것은 물리적 읽기를 건너뛰는 것과 같고 물리적 읽기를 건너뛰는 것은 시간을 절약하는 데 도움이 됩니다. 다음 이미지는 어떻게 스토리지 인덱스가 작동하는지에 대한 논리적 표현을 제공합니다.

Oracle Exadata 및 스토리지 인덱스 기능

이미지 출처 :John Clarke의 Oracle Exadata Recipes.

결론

Exadata는 애플리케이션 사용에 대한 시간 기반 스토리지 인덱스를 자동으로 유지 관리합니다. Exadata DMA(Database Machine Administrator)가 데이터 사용을 권장하거나 애플리케이션의 쿼리 조건자를 변경하기 위해 잠재적으로 데이터를 주문하는 것 외에 스토리지 인덱스 동작에 영향을 줄 수 있는 것은 없습니다.

다음과 같은 상황에서 스토리지 인덱스 사용을 고려하십시오.

  • 직접 경로 읽기 작업 중.
  • 스마트 스캔 사용
  • 쿼리에 술어가 포함된 경우.

Storage Index는 Oracle Exadata 제품에서 사용할 수 있는 가장 스마트한 기능이며 가장 빠르고 최적화된 방식으로 데이터를 검색할 수 있도록 도와줍니다.

피드백 탭을 사용하여 의견을 남기거나 질문을 하십시오.

전문가 관리, 관리 및 구성으로 환경 최적화

Rackspace의 애플리케이션 서비스(RAS) 전문가는 광범위한 애플리케이션 포트폴리오에서 다음과 같은 전문적이고 관리되는 서비스를 제공합니다.

  • 전자상거래 및 디지털 경험 플랫폼
  • 전사적 자원 관리(ERP)
  • 비즈니스 인텔리전스
  • Salesforce CRM(고객 관계 관리)
  • 데이터베이스
  • 이메일 호스팅 및 생산성

우리는 다음을 제공합니다:

  • 편향 없는 전문성 :즉각적인 가치를 제공하는 기능에 중점을 두고 현대화 여정을 간소화하고 안내합니다.
  • 광신적인 경험 ™:프로세스를 먼저 결합합니다. 기술 두 번째.®전담 기술 지원을 통해 포괄적인 솔루션을 제공하는 접근 방식.
  • 타의 추종을 불허하는 포트폴리오 :광범위한 클라우드 경험을 적용하여 올바른 클라우드에서 올바른 기술을 선택하고 배포할 수 있도록 지원합니다.
  • 민첩한 전달 :귀하의 여정에서 귀하를 만나서 귀하의 성공과 일치하도록 합니다.

시작하려면 지금 채팅하세요.