메모리 액세스에 최적화된 파일 그룹
적용 대상: SQL Server
메모리 최적화 테이블을 만들려면 먼저 메모리 최적화 파일 그룹을 만들어야 합니다. 메모리 최적화 파일 그룹에는 하나 이상의 컨테이너가 있습니다. 각 컨테이너에는 데이터 파일이나 델타 파일, 또는 둘 다 포함되어 있습니다.
SCHEMA_ONLY
테이블의 데이터 행이 유지되지 않고 메모리 최적화 테이블 및 네이티브 컴파일된 저장 프로시저에 대한 메타데이터가 기존 카탈로그에 저장되더라도 메모리 최적화 테이블을 사용하는 데이터베이스에 균일한 환경을 제공하기 위해 메모리 내 OLTP 엔진에는 SCHEMA_ONLY
메모리 최적화 테이블의 메모리 최적화 파일 그룹이 여전히 필요합니다.
메모리 최적화 파일 그룹은 다음과 같은 차이를 두고 파일 스트림 파일 그룹을 기반으로 합니다.
데이터베이스당 하나의 메모리 최적화 파일 그룹만 만들 수 있습니다. 파일 그룹을 memory_optimized_data를 포함하는 것으로 명시적으로 표시해야 합니다. 데이터베이스를 만들 때 파일 그룹을 만들거나 나중에 추가할 수 있습니다.
ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod CONTAINS MEMORY_OPTIMIZED_DATA
MEMORY_OPTIMIZED_DATA
파일 그룹에 하나 이상의 컨테이너를 추가해야 합니다. 예시:ALTER DATABASE imoltp ADD FILE (name='imoltp_mod1', filename='c:\data\imoltp_mod1') TO FILEGROUP imoltp_mod
파일 스트림(FILESTREAM 사용 및 구성)을 사용하도록 설정하여 메모리 최적화 파일 그룹을 만들 필요가 없습니다. 파일 스트림에 대한 매핑은 메모리 내 OLTP 엔진에 의해 수행됩니다.
메모리 최적화 파일 그룹에 새 컨테이너를 추가할 수 있습니다. 지속형 메모리 최적화 테이블에 필요한 스토리지를 확장하고 여러 컨테이너에 IO를 배포하기 위해 새 컨테이너가 필요할 수 있습니다.
메모리 최적화 파일 그룹을 사용하는 데이터 이동은 Always On 가용성 그룹 구성에서 최적화됩니다. 보조 복제본으로 전송되는 파일 스트림 파일과 달리 메모리 최적화 파일 그룹 내의 검사점 파일(데이터 및 델타 모두)은 보조 복제본으로 전송되지 않습니다. 데이터 및 델타 파일은 보조 복제본의 트랜잭션 로그를 사용하여 생성됩니다.
참고 항목
메모리 최적화 파일 그룹을 사용하면 데이터베이스를 삭제하는 방식으로만 이 파일 그룹을 제거할 수 있습니다. 프로덕션 환경에서는 메모리 최적화 파일 그룹을 제거해야 할 가능성이 낮습니다. 비어 있지 않은 컨테이너를 삭제하거나 데이터 및 델타 파일 쌍을 메모리 최적화 파일 그룹의 다른 컨테이너로 이동할 수 없습니다.
메모리 최적화 파일 그룹 구성
메모리 최적화 파일 그룹에 여러 컨테이너를 만들고 다른 드라이브에 분산하여 메모리에 데이터를 스트리밍하는 더 많은 대역폭을 얻어야 합니다.
여러 컨테이너에서 여러 드라이브 시나리오, 데이터 및 델타 파일이 라운드 로빈 방식으로 컨테이너에 할당됩니다. 첫 번째 데이터 파일은 첫 번째 컨테이너에서 할당되고 델타 파일은 다음 컨테이너에서 할당되며 이 할당 패턴이 반복됩니다. 이 할당 체계는 홀수의 드라이브가 있고 각각 하나의 컨테이너에 매핑된 경우 컨테이너 간에 데이터 및 델타 파일을 균등하게 분산합니다. 그러나 짝수 개수의 드라이브가 있고 각각이 컨테이너에 매핑된 경우 홀수 개 드라이브에 매핑된 데이터 파일과 짝수 개 드라이브에 매핑된 델타 파일 스토리지가 불균형을 이룰 수 있습니다. 복구 시 균형 잡힌 I/O 스트림을 얻으려면 동일한 스핀들/스토리지에 데이터 및 델타 파일 쌍을 배치하는 것이 좋습니다.
스토리지를 구성할 때는 지속형 메모리 최적화 테이블 크기의 4배에 달하는 사용 가능한 디스크 공간을 제공해야 합니다. 또한 IO 하위 시스템이 워크로드에 필요한 IOPS를 지원하는지 확인해야 합니다. 데이터 및 델타 파일 쌍이 지정된 IOPS에 채워지는 경우 저장 및 병합 작업을 고려하려면 3배의 IOPS가 필요합니다. 메모리 최적화 파일 그룹에 하나 이상의 컨테이너를 추가하여 스토리지 용량과 IOPS를 추가할 수 있습니다.
주의
메모리 최적화 파일 그룹에 MAXSIZE
값이 설정되고 검사점 파일이 컨테이너의 최대 크기를 초과하는 경우 데이터베이스는 SUSPECT가 됩니다.
이 경우 데이터베이스를 OFFLINE 및 ONLINE으로 설정하려고 시도하지 않으므로 데이터베이스가 RECOVERY_PENDING 상태로 유지됩니다.
참고 항목
메모리 최적화 개체에 대한 스토리지 생성 및 관리
데이터베이스 파일 및 파일 그룹
ALTER DATABASE 파일 및 파일 그룹 옵션(Transact-SQL)