다음을 통해 공유


메모리 내 데이터베이스 시스템 및 기술

적용 대상: SQL Server

이 페이지는 SQL Server 내의 메모리 내 기능 및 기술에 대한 참조 페이지로 사용할 수 있습니다. 메모리 내 데이터베이스 시스템의 개념은 최신 데이터베이스 시스템에서 사용할 수 있는 더 큰 메모리 용량을 활용하도록 설계된 데이터베이스 시스템을 의미합니다. 메모리 내 데이터베이스는 본질적으로 관계형 또는 비관계형일 수 있습니다.

메모리 내 데이터베이스 시스템의 성능 이점은 주로 사용 가능한 가장 빠른 디스크 하위 시스템에 있는 데이터보다 메모리에 상주하는 데이터에 더 빠르게 액세스하기 때문에(몇 가지 크기로) 가정합니다. 그러나 많은 SQL Server 워크로드가 사용 가능한 메모리의 전체 작업 집합에 맞을 수 있습니다. 많은 메모리 내 데이터베이스 시스템은 디스크에 데이터를 유지할 수 있으며 항상 사용 가능한 메모리에 전체 데이터 집합을 맞추지 못할 수 있습니다.

상당히 느리지만 내구성이 뛰어난 미디어를 제공하는 빠른 휘발성 캐시는 관계형 데이터베이스 워크로드에서 주로 사용되었습니다. 워크로드 관리에 대한 특정 접근 방식이 필요합니다. 더 빠른 메모리 전송 속도, 더 큰 용량 또는 심지어 지속적인 메모리를 통해 제공되는 기회는 관계형 데이터베이스 워크로드 관리에 대한 새로운 접근 방식에 박차를 가할 수 있는 새로운 기능과 기술의 개발을 촉진합니다.

하이브리드 버퍼 풀

적용 대상: SQL Server

하이브리드 버퍼 풀 은 SQL Server 2019(15.x)를 사용하는 Windows 및 Linux 플랫폼 모두에 대해 바이트 주소 지정이 가능한 영구 메모리 스토리지 디바이스에 있는 데이터베이스 파일의 버퍼 풀을 확장합니다.

메모리 최적화 tempdb 메타데이터

적용 대상: SQL Server

SQL Server 2019(15.x)는 메모리에 최적화된 tempdb 메타데이터인 새로운 기능을 도입하여 일부 경쟁 병목 현상을 효과적으로 제거하고 무거운 tempdb 워크로드에 대해 새로운 수준의 확장성을 제공합니다.

SQL Server 2019(15.x)의 메모리 최적화 메타데이터와 새로운 기능을 포함한 최근 tempdb 개선 사항에 대한 자세한 내용은 SQL Server 2022의 시스템 페이지 래치 동시성 향상으로 확장성 향상을 참조하고 시스템 페이지 래치 동시성 향상(6화) | Data Exposed를 시청하세요.

메모리 내 OLTP

적용 대상: SQL Server

메모리 내 OLTP는 SQL Server 및 SQL Database에서 트랜잭션 처리, 데이터 수집, 데이터 로드 및 일시적인 데이터 시나리오의 성능을 최적화하기 위해 사용할 수 있는 데이터베이스 기술입니다.

Linux에 대한 영구 메모리 지원 구성

적용 대상: SQL Server - Linux

SQL Server 2019(15.x)는 ndctl 유틸리티 영구 메모리를 사용하여 PMEM(영구 메모리)을 구성하는 방법을 설명합니다.

지속 로그 버퍼

SQL Server 2016(13.x)의 서비스 팩 1에는 WRITELOG 대기에 의해 바인딩된 쓰기 집약적 워크로드에 대한 성능 최적화가 도입되었습니다. 영구 메모리를 사용하여 로그 버퍼를 저장합니다. 이 버퍼는 작기 때문에(사용자 데이터베이스당 20MB), 트랜잭션 로그에 기록된 트랜잭션을 확정하기 위해 버퍼를 디스크로 플러시해야 합니다. 쓰기 집약적인 OLTP 워크로드의 경우 이 플러시 메커니즘은 병목 상태가 될 수 있습니다. 영구 메모리의 로그 버퍼를 사용하면 로그를 강화하는 데 필요한 작업 수가 줄어들어 전체 트랜잭션 시간이 향상되고 워크로드 성능이 향상됩니다. 이 프로세스는 비상 로그 캐싱으로 도입되었습니다. 그러나 비상 로그 백업과의 충돌이 감지되었으며, 로그의 꼬리 부분은 트랜잭션 로그에서 굳어졌지만 아직 백업되지 않은 부분이라는 전통적인 이해가 있었습니다. 공식 기능 이름은 지속형 로그 버퍼로 이하에서 계속 사용합니다.

데이터베이스에 지속형 로그 버퍼 추가를 참조하세요.