메모리 최적화 개체에 대한 스토리지 생성 및 관리
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance
메모리 내 OLTP 엔진은 SQL Server에 통합되어 있으므로 메모리 최적화 테이블과 기존의 디스크 기반 테이블을 모두 같은 데이터베이스에 포함할 수 있습니다. 그러나 메모리 최적화 테이블의 스토리지 구조는 디스크 기반 테이블과 다릅니다.
디스크 기반 테이블의 스토리지에는 다음과 같은 주요 특성이 있습니다.
파일 그룹에 매핑되어 있고 파일 그룹에는 하나 이상의 파일이 포함되어 있습니다.
각 파일은 8페이지의 익스텐트로 나뉘며 각 페이지는 8K 바이트 크기입니다.
여러 테이블에서 익스텐트를 공유할 수는 있지만 할당된 페이지와 테이블 또는 인덱스 간에는 일대일 매핑이 적용됩니다. 즉, 둘 이상의 테이블이나 인덱스에서 가져온 행을 한 페이지에 포함할 수는 없습니다.
데이터는 필요에 따라 메모리(버퍼 풀)로 이동되고 수정되거나 새로 생성된 페이지는 디스크에 비동기적으로 기록되며 대부분 임의의 IO를 생성합니다.
메모리 최적화 테이블의 스토리지에는 다음과 같은 주요 특성이 있습니다.
모든 메모리 최적화 테이블은 메모리 최적화 데이터 파일 그룹에 매핑됩니다. 이 파일 그룹은 Filestream과 유사한 구문 및 의미 체계를 사용합니다.
페이지가 없으며 데이터가 행으로 유지됩니다.
메모리 최적화 테이블에 대한 모든 변경 내용은 활성 파일에 추가하여 저장됩니다. 파일에 대한 읽기 및 쓰기는 순차적으로 수행됩니다.
업데이트는 삭제 후 삽입으로 구현됩니다. 삭제된 행은 스토리지에서 즉시 제거되지 않으며, 삭제된 행은 메모리 최적화 테이블의 내구성에 설명된 정책에 따라 MERGE라는 백그라운드 프로세스에 의해 제거됩니다.
디스크 기반 테이블과 달리 메모리 최적화 테이블의 스토리지는 압축되지 않습니다. 압축된(ROW 또는 PAGE) 디스크 기반 테이블을 메모리 최적화 테이블로 마이그레이션하는 경우 크기 변경을 고려해야 합니다.
메모리 최적화 테이블은 내구성이 있거나 내구성이 없을 수 있습니다. 내구성이 있는 메모리 최적화 테이블에 대한 스토리지만 구성하면 됩니다.
이 섹션에서는 검사점 파일 쌍 외에도 메모리 최적화 테이블의 데이터가 저장되는 방법의 다른 측면에 대해 설명합니다.
이 섹션의 주제: