SQL Server 2016 향상된 In Memory 테이블
-
Version : SQL Server 2016
SQL Server 2016에서 향상된 In Memory 테이블 기능에 대해서 살펴본다. 현재 버전은 CTP2 (13.0.200)이다.
Feature/Limit |
SQL Server 2014 |
SQL Server 2016 |
Maximum size of durable table |
256 GB |
2 TB |
LOB (varbinary(max), [n]varchar(max)) |
Not supported |
Supported* |
Transparent Data Encryption (TDE) |
Not supported |
Supported |
Offline Checkpoint Threads |
1 |
1 per container |
ALTER PROCEDURE / sp_recompile |
Not supported |
Supported (fully online) |
Nested native procedure calls |
Not supported |
Supported |
Natively-compiled scalar UDFs |
Not supported |
Supported |
ALTER TABLE |
Not supported (DROP / re-CREATE) |
Partially supported (offline – details below) |
DML triggers |
Not supported |
Partially supported (AFTER, natively compiled) |
Indexes on NULLable columns |
Not supported |
Supported |
Non-BIN2 collations in index key columns |
Not supported |
Supported |
Non-Latin codepages for [var]char columns |
Not supported |
Supported |
Non-BIN2 comparison / sorting in native modules |
Not supported |
Supported |
Foreign Keys |
Not supported |
Supported |
Check/Unique Constraints |
Not supported |
Supported |
Parallelism |
Not supported |
Supported |
OUTER JOIN, OR, NOT, UNION [ALL], DISTINCT, EXISTS, IN |
Not supported |
Supported |
Multiple Active Result Sets (MARS) (Means better Entity Framework support.) |
Not supported |
Supported |
SSMS Table Designer |
Not supported |
Supported |
ALTER TABLE은 오프라인 작업으로 컬럼, 인덱스, 제약조건을 추가/삭제를 지원한다. (리빌드 작업의 경우 2배의 메모리가 필요하다.)
ALTER TABLE dbo.InMemoryTable ALTER INDEX IX_NC_Hash REBUILD WITH (BUCKET_COUNT = 1048576); |
용량 및 기능 향상 외에 성능 향상도 있다. 예를 들면 디스크 기반 또는 메모리 테이블 기반의 업데이트, 넌클러스터 컬럼스토어 인덱스 추가 등이 있다. 그리고 행을 삭제하는 프로세스도 단순화 했다. (SQL 2014에서는 File Stream 사용, SQL 2016에서는 이 단계를 스킵했다.) 또한 마이그레이션 어드바이저와 BPA(Best Practices Analyzer)가 개선되었다.
이러한 변경 사항중 제한사항이 몇가지 있다. TDE를 예를 들면 데이터베이스를 업그레이드할 때 추가 단계가 필요하다.
[참고자료]
http://sqlperformance.com/2015/05/sql-server-2016/in-memory-oltp-enhancements
2015-06-22 / 강성욱 / http://sqlmvp.kr
SQL Server 2016, SQL 2016, MSSQL, SQLSERVER, 데이터베이스, Microsoft DB, In Memory Table, SQL Memory Table
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server 2008 변수 선언 후 초기값 설정 (0) | 2015.07.16 |
---|---|
필터링 된 인덱스 및 통계 (0) | 2015.07.16 |
백업 확장이벤트로 백업 진행 과정과 소요되는 시간 확인 (0) | 2015.07.16 |
SQL Server 2016 설치 (0) | 2015.07.16 |
SQL Server 2014 VLF 알고리즘 변화 (0) | 2015.07.16 |