다음을 통해 공유


메모리 최적화 개체에 대한 스토리지 생성 및 관리

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance

메모리 내 OLTP 엔진은 SQL Server에 통합되어 있으므로 메모리 최적화 테이블과 기존의 디스크 기반 테이블을 모두 같은 데이터베이스에 포함할 수 있습니다. 그러나 메모리 최적화 테이블의 스토리지 구조는 디스크 기반 테이블과 다릅니다.

디스크 기반 테이블의 스토리지에는 다음과 같은 주요 특성이 있습니다.

  • 파일 그룹에 매핑되어 있고 파일 그룹에는 하나 이상의 파일이 포함되어 있습니다.

  • 각 파일은 8페이지의 익스텐트로 나뉘며 각 페이지는 8K 바이트 크기입니다.

  • 여러 테이블에서 익스텐트를 공유할 수는 있지만 할당된 페이지와 테이블 또는 인덱스 간에는 일대일 매핑이 적용됩니다. 즉, 둘 이상의 테이블이나 인덱스에서 가져온 행을 한 페이지에 포함할 수는 없습니다.

  • 데이터는 필요에 따라 메모리(버퍼 풀)로 이동되고 수정되거나 새로 생성된 페이지는 디스크에 비동기적으로 기록되며 대부분 임의의 IO를 생성합니다.

메모리 최적화 테이블의 스토리지에는 다음과 같은 주요 특성이 있습니다.

  • 모든 메모리 최적화 테이블은 메모리 최적화 데이터 파일 그룹에 매핑됩니다. 이 파일 그룹은 Filestream과 유사한 구문 및 의미 체계를 사용합니다.

  • 페이지가 없으며 데이터가 행으로 유지됩니다.

  • 메모리 최적화 테이블에 대한 모든 변경 내용은 활성 파일에 추가하여 저장됩니다. 파일에 대한 읽기 및 쓰기는 순차적으로 수행됩니다.

  • 업데이트는 삭제 후 삽입으로 구현됩니다. 삭제된 행은 스토리지에서 즉시 제거되지 않으며, 삭제된 행은 메모리 최적화 테이블의 내구성에 설명된 정책에 따라 MERGE라는 백그라운드 프로세스에 의해 제거됩니다.

  • 디스크 기반 테이블과 달리 메모리 최적화 테이블의 스토리지는 압축되지 않습니다. 압축된(ROW 또는 PAGE) 디스크 기반 테이블을 메모리 최적화 테이블로 마이그레이션하는 경우 크기 변경을 고려해야 합니다.

  • 메모리 최적화 테이블은 내구성이 있거나 내구성이 없을 수 있습니다. 내구성이 있는 메모리 최적화 테이블에 대한 스토리지만 구성하면 됩니다.

이 섹션에서는 검사점 파일 쌍 외에도 메모리 최적화 테이블의 데이터가 저장되는 방법의 다른 측면에 대해 설명합니다.

이 단원의 항목:

참고 항목

메모리 내 OLTP(메모리 내 최적화)