2017. 2. 24. 14:24

MS-SQL 2016 New Features

 


 

1.    SQL Server 2016 (데이터베이스 엔진의 새로운 기능

-       Automatic Soft NUMA

n  SQL Server 2016에서는 한 NUMA 노드에 8개 이상의 processor가 있을 경우 자동으로 Soft-NUMA를 구성해 확장성을 높여줌

-       Dynamic Memory Object (CMemThread) Partitioning

n  CMemThread 병목 발생시 자동으로 per NUMA or per CPU Partitioning으로 변경해 CMemThread 대기 완화

-       Multiple Log Writers

n  인스턴스당 4개까지(one per H/W NUMA node) Log Writer thread 생성

-       Parallel Recovery

n  Database Recovery 단계 중 Redo에 대해 병렬 처리

-       SOS_RWLock

n  RWLock Internal Structure에 대한 일관성을 위해 사용되는 동기화 개체로 SQL Server 2014까지는 내부적으로 spinlock이 사용되었습니다.

n  SQL Server 2016에서는 불필요한 spinlock 대기를 없애도록 re-design되어 scalability를 높임

-       DBCC CHECK* 성능 향상

n  1TB 데이터베이스에 대한 내부 테스트 결과 7배 성능 향상



-       In-direct Checkpoint 기본

n  In-direct checkpoint SQL Server 2014에서 추가된 기능이며, SQL Server 2016에서는 Default 설정으로 적용됩니다.

-       Larger Data Writes

n  2016 이전은 한번에 최대 32 Data Pages (256KB) Write하였으며, SQL 2016에서는 최대 128 pages (1MB)로 대량 쓰기 성능 향상됨

(LazyWriter, Checkpoint, Bulk Insert 등에 사용)

 

-       OPTION (USE HINT('<hint1>', '<hint2>')) 같은 보다 일반적인 쿼리 힌트 모델에 대한 지원이 추가 ( SP1 , https://support.microsoft.com/ko-kr/help/3189813/update-introduces-use-hint-query-hint-argument-in-sql-server-2016)

n  use hint 모양이 추가됨보다 직관 적인 힌트 형태가 사용 되어짐.

SELECT * FROM Person.Address 

WHERE City = 'SEATTLE' AND PostalCode = 98104

OPTION (RECOMPILE, USE HINT ('ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES', 'DISABLE_PARAMETER_SNIFFING'));

GO 

-       sys.dm_exec_valid_use_hints DMV가 추가됨 – 모든 힌트 목록을 확인 할 수 있음

-       sys.dm_exec_query_statistics_xml DMV이 추가되어 실행 계획 XML 임시 통계 추가 :  기존에 query plan을 수집하기 위해 했던 작업이 간소화 해 짐.

-       estimated_read_row_count 열이 sys.dm_exec_query_profiles에 추가 (SQL2014에서도 있음 )

n  DMV를 사용하여 느리게 실행되는 쿼리 부분을 결정

n  타임스탬프 열을 사용하여 이 DMV를 다른 성능 카운터(성능 모니터, xperf)와 조인

-       UTF-8에 대한 지원

-       메모리 액세스에 최적화된 테이블에 대한 Transact-SQL 개선 사항

n  UNIQUE 제약 조건 및 인덱스가 지원됩니다.

n  메모리 액세스에 최적화된 테이블 간의 FOREIGN KEY 참조가 지원

n  비고유 인덱스에서 해당 키에 NULL 값을 허용할 수 있음

n  TRIGGER가 메모리 액세스에 최적화된 테이블에서 지원 ( insteadof 트리거는 지원되지 않음)

n  스키마 변경합니다(열 추가/삭제/변경제약 조건 추가/삭제).

-       프로시저 LOB를 허용

n  본 프로시저에서 문자열 함수(: LTrim 또는 Substring)에 전달된 매개 변수 가능

-       통계의 업데이트에 대해 선형 폭이 강조되는 임계값

n  대형 테이블에서 통계의 자동 업데이트가 한층 더 강화되었습니다(호환성 수준 130). 대형 테이블의 경우 SQL Server 2016부터 통계 자동 업데이트를 트리거하는 임계값이 20%가 되어 임계값이 테이블에서 행이 증가한 수만큼 줄어든 상태로 시작됩니다(백분율로 표시). 임계값을 줄이기 위해 2371 추적 플래그를 설정하지 않아도 됩니다.

n  대형 테이블일 경우 20% 가 크게 느껴질 수 있는데 조정 가능 해서 성능 향상에 도움이 됨.

-        Live Query Statistics

n  Management Studio는 활성 쿼리의 활성 실행 계획을 보는 기능을 제공합니다이 활성 쿼리 계획을 통해 제어권이 한 쿼리 계획 연산자에서 다른 연산자로 흘러갈 때 쿼리 실행 프로세스를 실시간으로 파악할 수 있습니다.

-        Monitoring Performance By Using the Query Store (https://msdn.microsoft.com/ko-kr/dn817826)

n  쿼리 저장소는 DBA에게 쿼리 계획 선택 및 성능에 대한 정보를 제공하는 새로운 기능입니다쿼리 계획 변경으로 인해 발생하는 성능 차이를 신속하게 찾을 수 있도록 하여 성능 문제 해결을 간소화합니다이 기능은 쿼리계획 및 런타임 통계의 기록을 자동으로 캡처하고 검토할 수 있도록 이 기록을 유지합니다. 

-      TempDB 데이터베이스

n  Tempdb에 대한 추적 플래그 1117  1118이 필요하지 않습니다. Tempdb 데이터베이스가 여러 개 있을 경우 모든 파일은 증가 설정에 따라 동시에 크기가 증가

n  기본적으로 설치 시 CPU 개수 또는 8개 중 적은 수만큼 tempdb 파일이 추가

n  Tempdb 데이터베이스 파일에 대해 여러 볼륨을 지정할 수 있습니다여러 디렉터리가 지정된 경우 tempdb 데이터 파일은 라운드 로빈 방식으로 여러 디렉터리에 분배됩니다.

-       기본 제공 JSON 지원

-       PolyBase 제공 - Hadoop 또는 Azure Blob Storage에 저장된 데이터에 액세스하고 임시 방식으로 데이터를 쿼리할 수 있습니다

-       Stretch Database -스트레치 데이터베이스는 기록 데이터를 Microsoft Azure 클라우드에 투명하고 안전하게 마이그레이션하는 SQL Server 2016의 새로운 기능입니다

-       이제 TRUNCATE TABLE 문은 지정된 파티션의 잘림을 허용합니다

-       Azure SQL 데이터베이스 복제가 지원됨

-      향상된 고가용성 기능 – Always ON

n  Always On 가용성 그룹은 Windows Server 2016에서 분산 트랜잭션 및 DTC를 지원

n  이제 데이터베이스가 오프라인으로 전환될 때 장애 조치(failover)하도록 Always On 가용성 그룹 을 구성할 수 있습니다.

n  이제 Always On은 암호화된 데이터베이스를 지원합니다

n  가용성 그룹의 동기화 처리량은 주 복제본에서 로그 블록의 병렬 및 빠른 압축최적화된 동기화 프로토콜보조 복제본에서 로그 레코드 다시 실행 및 병렬 압축 풀기를 통해 10배까지 증가되었습니다따라서 읽기 가능한 보조 복제본의 새로 고침이 증가되고 장애 조치(failover) 시 데이터베이스 복구 시간이 줄어듭니다. 

'ETC' 카테고리의 다른 글

SQL Server 2012 Certification upgrade info  (0) 2015.05.20
메모리 dump 분석 예 ( 정확하지 않음 )  (0) 2014.11.06
Windbg 명령어 & 설치  (0) 2014.11.06
Window 서비스 등록/삭제 방법  (0) 2011.10.20