데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

SQL Server 2016 Larger Data File Writes

 

  • Version : SQL Server 2016

 

SQL Server의 WriteFileGather는 대량의 데이터파일 쓰기 요청에 사용된다. 이 로직은 더티페이지를 싱글 I/O 요청에 통합하는 것이다. 예를 들어 페이지 1:13과 1:12는 더티페이지로 하나의 WriteFileGather 작업에 통합한다.

 

SQL Server 2012 and 2014에서연속 블록을 만들려면 32페이지또는 그 이상 더이페이지에 대해 해시룩업(Hash lookups)을 수행한다.

  • Is Page 1:14 in memory (hashed) and dirty NO – End forward search for near pages
  • Is Page 1:12 in memory (hashed) and dirty YES – Include in write request
  • Is Page 1:11 in memory (hashed) and dirty NO – End of backward search for near pages

     

10년 이상의 하드웨어에서는 64K 또는 128K 에서 가장 잘 수행된다. 일부 새로운 SSD 및 플래쉬에서는1MB ~ 4MB 내부 블록킹 사이즈를 가지고 있다. 데이터파일의 전체 크기를 늘리면 확장성 및 성능이 향상되어 신속하게 읽기(Read), 수정(Modify), 쓰기(Write) 동작을 기록 한다.

 

SQL Server 2016(X64 Installations)에서8K 페이지를32페이지에서 128(1MB)페이지로 연속적으로 증가시킬때 (Lazy, Checkpoint, select into, create index and bulk insert write 작업등) 이러한 쓰기 작업은 데이터파일 쓰기 작업의 95%+ 를 차지한다. SQL Server 2016 데이터베이스에서는 하드웨어 확장을 통해 파일의 쓰기 동작을 증가시킨다.

 

[참고자료]

https://blogs.msdn.microsoft.com/psssql/2016/04/15/sql-2016-it-just-runs-faster-larger-data-file-writes/

 

 



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
2070 SQL Server 2016 Multiple Log Writer Workers jevida(강성욱) 2017.01.11 3807
» SQL Server 2016 Larger Data File Writes jevida(강성욱) 2017.01.11 3188
2068 SQL Server 2016 향상된 업데이트 스케줄링 알고리즘 jevida(강성욱) 2017.01.11 3651
2067 SQL Server 2016 Automatic Soft NUMA jevida(강성욱) 2017.01.11 3103
2066 SQL Server 2016 Tempdb 환경 설정 jevida(강성욱) 2017.01.11 4394
2065 SQL Server 2016 향상된 즉시 파일 초기화 jevida(강성욱) 2017.01.11 2756
2064 SQL Server 2016 LDF 생성 또는 증가 시 변경된 스탬프 패턴 jevida(강성욱) 2017.01.11 2635
2063 SQL Server 2016 Tempdb 성능 향상 jevida(강성욱) 2017.01.11 4724
2062 SQL Server 2016 DBCC CHECK 작업 성능 향상 jevida(강성욱) 2017.01.11 2376
2061 Microsoft Azure - SQL Server가 포함된 가상 컴퓨터 생성하기 jevida(강성욱) 2017.01.11 1840
2060 데이터베이스에서 사용자 삭제 오류 jevida(강성욱) 2017.01.11 1304
2059 Sys.dm_exec_query_plan 에서 query_plan 컬럼의 NULL 값 반환 jevida(강성욱) 2017.01.11 1875
2058 SSMS에서 유효하지 않은 소유자로 데이터베이스 정보가 보이지 않는 증상 jevida(강성욱) 2017.01.11 1851
2057 SQLCMD 유틸리티 사용하기 jevida(강성욱) 2017.01.11 7905
2056 In-Memory 최적화 테이블을 사용하여 임시 테이블 및 테이블 변수 성능 향상 jevida(강성욱) 2017.01.11 4546
2055 SQL Server Job Agent는 몇 개까지 실행이 가능할까? jevida(강성욱) 2017.01.11 1757
2054 확장이벤트 사용시 주의사항 jevida(강성욱) 2017.01.11 1631
2053 Unix(Linux) timestamp(bigint) 형식을 datetime 으로 변경하기 jevida(강성욱) 2017.01.11 2980
2052 Query Rule Off를 사용한 SQL Server 옵티마이저 비활성화 jevida(강성욱) 2017.01.11 1571
2051 시스템 관리자 권한이 없는 특정 프로그램에서 Trace Flag 사용하기 jevida(강성욱) 2017.01.11 2331





XE Login