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