[SQL Angeles] 2017-01-03 LA 한인 SQL Server 스터디 모임

 

안녕하세요. 강성욱 입니다.

SQL Angeles 커뮤니티는 SQL PASS의 공식 회원이며, LA Chapter 그룹으로 PASS 커뮤니티 중 유일하게 한국어로 진행되는 모임입니다.

 

 

SQL Angeles PASS 공식 홈페이지 : http://SQLAngeles.com / http://sqlangeles.sqlpass.org/

 

SQL Angeles 커뮤니티는 정기적으로 화요일 8PM ~ 10PM (2시간) 스터디를 진행하며(장소 및 시간은 공식 홈페이지를 통해 공지 합니다.) SQL Server를 함께 공부하고 다양한 IT 트렌드를 공유하는 기술 및 네트워크를 공유하는 모임 입니다. SQL Angeles 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북(https://www.facebook.com/sqlmvp)  메신저, email(jevida@naver.com) 등으로 연락 주시기 바랍니다.  스터디 장소의 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다.

 

스터디는 회원제로 운영되며 월회비($20)가 있습니다. 불성실 회원의 경우 회칙에 따라 참여 또는 기타 활동이 제한될 수 있습니다.

 

오늘은 2017년 새해 첫 스터디로 주제는 [Review 2016]으로 2016년에 진행한 내용을 복습하는 시간으로 강성욱님께서 발표를 진행해 주셨습니다. 오늘 스터디는 총 6분이 참여해 주셨습니다.

 

 

 

오늘 스터디에서는 지금까지 여러 시간에 걸쳐 다루었던 인덱스에 대해서 복습 하는 시간을 가졌으며 온라인 및 퀴즈를 통해서 인덱스에 대한 이해 여부를 확인하였습니다. 남은시간에는  SQLER.com 커뮤니티에 게시된 SQL질문을 함께 풀어보고 토론하는 시간을 가졌습니다.

또한 사이먼님의 XML 이야기, 그리고 현업에서 활용하면 좋은 무료 툴(부분 유료)에 대해서 공유하는 시간을 가졌습니다.

 

l  SQL 온라인 퀴즈 : http://use-the-index-luke.com/3-minute-test/sql-server

 

오늘 하루도 고생 많으셨습니다. 다음 스터디 때 뵙겠습니다.

 

 

 

 

2017-01-03 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server, sqlmvp, SQL Angeles

[SQL Angeles] 2016-11-29 LA 한인 SQL Server 스터디 모임

 

안녕하세요. 강성욱 입니다.

SQL Angeles 커뮤니티는 SQL PASS의 공식 회원이며, LA Chapter 그룹으로 PASS 커뮤니티중 유일하게 한국어로 진행되는 모임입니다.

 

 

SQL Angeles PASS 공식 홈페이지 : http://SQLAngeles.com / http://sqlangeles.sqlpass.org/

 

SQL Angeles 커뮤니티는 정기적으로 화요일 8PM ~ 10PM (2시간) 스터디를 진행하며(장소 및 시간은 공식 홈페이지를 통해 공지 합니다.) SQL Server를 함께 공부하고 다양한 IT 트렌드를 공유하는 기술 및 네트워크를 공유하는 모임 입니다. SQL Angeles 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북(https://www.facebook.com/sqlmvp)  메신저, email(jevida@naver.com) 등으로 연락 주시기 바랍니다.  스터디 장소의 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다.

 

스터디는 회원제로 운영되며 월회비($20)가 있습니다. 불성실 회원의 경우 회칙에 따라 참여 또는 기타 활동이 제한될 수 있습니다.

 

오늘의 주제는 [SQL Server 성능 모니터링]으로 강성욱님께서 발표를 진행해 주셨습니다. 오늘 스터디는 총 6분이 참여주셨습니다.

 

오늘 발표는 윈도우에서 기본으로 제공하는 성능카운터(Performon)를 이용하여 SQL Server의 성능을 수집하고 분석하여 트러블슈팅 정보에 활용하는 방법에 대해서 상세히 살펴 보았습니다. 또한 강성욱님께서 제작한 SQL 전용 모니터링 툴을 이용하여 현재 SQL Server를 모니터링 하는 노하우에 대해서도 공유하는 소중한 시간이었습니다. 발표자료는 2016년 한국 마이크로소프트 SQL Tech camp에서 발표했던 내용입니다.

 

(처음으로 제 사진이 나왔네요, 뽀글뽀글 파마머리(우측 상단, 사진제공 : MJ)

이번 발표에서는 실제 성능 카운터를 실행하여 데이터를 수집하는 방법, 수집된 데이터를 프로파일러와 연동하여 교차 분석하는 방법, 성능 카운터에서 주의깊에 살펴보아야하는 항목, SQL Server를 진단하기 위한 데이터 선택 등에 대해서 다루어보았습니다. 특히 수집된 데이터를 어떻게 활용할 것인지에 대해 다양한 토론이 이루어졌으며 다양한 툴의 사용법, 특히 직접 개발한 툴을 통해 DBA들의 관점에서 어떻게 모니터링 하는지에 대한 노하우를 공유하였습니다.

 

 

 

 

2016-11-29 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server, sqlmvp, SQL Angeles

[SQL Angeles] 2016-11-22 LA 한인 SQL Server 스터디 모임

 

안녕하세요. 강성욱 입니다.

SQL Angeles 커뮤니티는 SQL PASS의 공식 회원이며, LA Chapter 그룹으로 PASS 커뮤니티중 유일하게 한국어로 진행되는 모임입니다.

 

 

SQL Angeles PASS 공식 홈페이지 : http://SQLAngeles.com / http://sqlangeles.sqlpass.org/

 

SQL Angeles 커뮤니티는 정기적으로 화요일 8PM ~ 10PM (2시간) 스터디를 진행하며(장소 및 시간은 공식 홈페이지를 통해 공지 합니다.) SQL Server를 함께 공부하고 다양한 IT 트렌드를 공유하는 기술 및 네트워크를 공유하는 모임 입니다. SQL Angeles 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북(https://www.facebook.com/sqlmvp)  메신저, email(jevida@naver.com) 등으로 연락 주시기 바랍니다.  스터디 장소의 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다.

 

스터디는 회원제로 운영되며 월회비($20)가 있습니다. 불성실 회원의 경우 회칙에 따라 참여 또는 기타 활동이 제한될 수 있습니다.

 

오늘의 주제는 [SQL Server 개발 및 관리 노하우]로 강성욱님께서 발표해 주셨습니다.

 

 

오늘 발표는 SQL Server에 익숙하지 않은 개발자 분들에게 유용한 세션으로 SSMS(SQL Server Management Studio)툴을 이용하여 빠르고 쉽게 SQL Server를 개발하고 관리하는 방법에 대해서 살펴 보았습니다. 특히 SSMS의 숨은 기능에 대해서 살펴보고 활용 방법에 대한 노하우를 공유할 수 있는 소중한 시간이었습니다. 이번 세션의 내용은 2013NDC 세미나에서 발표했던 내용으로 최신의 SQL 버전은 아니지만 그래도 유용하게 사용할 수 있는 팁으로 구성되어 유익한 시간이었습니다.

 

 

 

 

2016-11-22 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

SQL Angeles, LA DB 스터디, SQL Server, SQL 스터디, MS SQL, DBA, SQL PASS, LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server

[LA DB 스터디] 2016-11-15 LA 한인 SQL Server 스터디 모임(가칭)

 

안녕하세요. 강성욱 입니다.

저희 스터디 그룹은 매주 화요일 8PM ~ 10PM (2시간) 스터디를 진행하며(상황에 따라 장소 및 시간은 변경 될 수 있습니다.) SQL Server를 함께 공부하고 업계의 다양한 트렌드 및 이슈를 공유하며 기술 및 네트워크를 공유하는 모임 입니다. LA 한인 SQL Server 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북(https://www.facebook.com/sqlmvp)  메신저, email(jevida@naver.com) 등으로 연락 주시기 바랍니다. 사내 오피스에서 진행되기 때문에 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다.

 

스터디는 회원제로 운영되며 월회비($20)가 있습니다. 불성실 회원의 경우 회칙에 따라 참여 또는 기타 활동이 제한될 수 있습니다.

 

오늘의 주제는 Index deep dive Access pattern에 대해서 다루었으며 Simon Cho (https://www.facebook.com/simon.d.cho)님께서 발표해주셨습니다.

 

 

사이먼님께서는 인덱스의 종류, 특징, 아키텍처 그리고 액세스 패턴에 대해서 상세히 설명해 주셨습니다. 그리고 다양한 예제 스크립트를 준비하여 데모를 통해 실제 현업에서 발생 할 수 있는 다양한 문제점을 공유하고 이를 해결하는 과정 및 다양한 튜닝 팁에 대해서 공유해 주셨습니다.

 

 

 

발표 준비를 너무 잘해 주셔서 2시간이라는 시간이 짧게 느껴질 정도였습니다. 실제 데모 시연 및 튜닝 관련해서 시간이 부족하여 중간에 일부 내용은 스킵하여 아쉬운 마음도 있었으나 다음 발표를 기약하면서 오늘 스터디도 무사히 마쳤습니다.

 

지금까지 스터디가 약 3개월 정도 지나면서 어느 정도 안정화 되었고 스터디 멤버 분들의 실력 또한 일취월장으로 늘어가는 것을 느낄 수 있었습니다. 또한 SQL Server 설치를 시작으로 인덱스 2, 스토리지, 데이터 타입, HA, 조인 등 다양한 내용을 학습하였습니다. 앞으로 당분간은 공식 교재(SQL Server 2014 Unleshed)를 가지고 스터디를 진행 할 예정이며 꾸준히 발전하는 스터디가 되도록 많은 관심 부탁 드립니다.

 

스터디 학습 내용 (계획)

l  11 Databases Backup and Restore (강성욱)

l  5 Profiler (SK)

l  15 Security and User Administartion (Simon Cho)

l  16 Data Encryption (SK)

l  17 Managing Linked Servers (강성욱)

l  20 Createing and Managing Databases / 21 Creating and Managing Tables / 31 Understanding SQL Server Data Structires (Sharon)

l  25 Creating and Managing Stored Procedures / 26 Creating and Managing User_Define Functions (MJ)

l  27 Creating and Managing Triggers (MJ)

l  28 Transanction Management and the Transaction Log (Simon Cho)

l  29 Index and Performance / 34 Unterstanding Query Optimization (YS)

l  35 Manageing the Query Optimizer (DB)

l  36 Query Analysis (DB)

l  37 Locking and Performance (DB)

l  39 Monitoring SQL Server Performance (강성욱)

l  40 SQL Server Databases Engine Tuning Advisor (Ryan)

l  41 Managing Workload with the Resource Governor (YS)

l  38 Databases Design and Performance (Simon Cho)

l  Debugging (Ryan)

 

 

 

 

2016-11-15 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server, sqlmvp, SQL Angeles

[LA DB 스터디] 2016-11-01 LA 한인 SQL Server 스터디 모임(가칭)

 

안녕하세요. 강성욱 입니다.

저희 스터디 그룹은 매주 화요일 8PM ~ 10PM (2시간) 스터디를 진행하며(상황에 따라 장소 및 시간은 변경 될 수 있습니다.) SQL Server를 함께 공부하고 업계의 다양한 트렌드 및 이슈를 공유하며 기술 및 네트워크를 공유하는 모임 입니다. LA 한인 SQL Server 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북 메신져, email(jevida@naver.com) 등으로 연락 주시기 바랍니다. 사내 오피스에서 진행되기 때문에 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다.

 

스터디는 회원제로 운영되며 월회비($20)가 있습니다. 불성실 회원의 경우 회칙에 따라 참여 또는 기타 활동이 제한될 수 있습니다.

 

오늘의 주제는 SQL Server Internals Storage 부분에 대해서 강성욱님께서 발표해 주셨습니다. 지난 시간에 발표했던 스토리지 내용을 이어서 실제 SQL에서 발생할 수 있는 Disk corruption 부분에 대해서 살펴보고 SQL 장애 상황을 재현하여 해결하는 과정을 데모를 통해 직접 보여주었습니다.

 

 

스토리지에 대한 세션은 2주에 걸쳐 진행되었으며 1부에서는 디스크의 유형 및 특징, RAID 구성 등 디스크에 대한 일반적인 기술에 대해서 다루었으며 금일 2부에서는 디스크의 장애 유형, 해결 방법, SQL에서 디스크를 효율적으로 사용하는 방법에 대해서 살펴보았습니다.

 

 

이번 발표는 한국의 SQLTAG 스터디(http://sqltag.org)에서 2012년에 발표했던 내용으로 LA 한인 SQL Server 스터디에서 한번 더 진행하게 되었습니다. 최근에는 스토리지에도 세대교체가 진행되어 대부분의 많은 DB 시스템들이 SSD를 도입하여 사용하고 있어 일부 자료는 트렌드에 뒤쳐진 느낌도 있지만 실제 디스크 커럽션이나 장애 복구에 대한 내용은 여전히 필요한 기술로 직접 데모를 통한 실습으로 실제 데이터를 복구하는 방법에 대해서 다시 한번 살펴 볼 수 있는 시간이었습니다. 아래 이미지는 지난주에 이어 금일 발표했던 2차분의 발표 슬라이드 입니다.

 

 

 

 

 

 

 

파일은 서로 다른 배열에 위치하는 것이 좋다. 가장 좋은 것은 데이터 파일과 로그 파일, tempdb, 백업파일이 서로 다른 배열에 있는 것이다.

 

 

 

일반적으로 로그파일은 1+0에 위치하는것이 좋다. 로그 파일은 많은 쓰기가 필요 하다. RAID 1+0은 빠른 쓰기에 탁월하다. 최적의 디스크 구성은 비즈니스 및 스토리지 벤더의 권고를 참고하여 선택할 수 있도록 한다.

 

 

 

 

가능하면 백업은 디스크를 분리하자. 동일한 드라이브를 사용하지 않기 때문에 드라이브를 읽어서 빠른 기록이 가능하다. 데이터는 데이터드라이브를 스트리밍하고 백업도 가능한 빨리 기록 한다. 그리고 별도 배열에 있기 때문에 데이터 드라이브 손상시 백업이 손실 되지 않는다.

 

 

 

 

 

큰 용량의 소수 디스크보다 적은 용량의 많은 드라이브를 사용하는 것이 성능 면에서는 유리하다.

스핀들 파워라고 하여 디스크의 전체 성능을 고루 사용할 수 있도록 구성한다.

 

 

 

PHYSICAL_ONLY 페이지 및 레코드 헤더의 물리적 구조의 무결성 및 데이터베이스 할당 일관성으로 검사를 제한한다. 이 검사는 데이터베이스의 물리적 일관성 검사의 오버헤드를 줄이기 위한 목적으로 사용하며 사용자의 데이터를 손상시킬 가능성이 있는 조각난 페이지와 체크섬 오류, 그리고 일반적인 하드웨어 오류도 찾을 수 있다.

DBCC CHECKTABLE 전체 실행이 완료되는 데 걸리는 시간이 이전 버전보다 상당히 길 수 있다.. 그 이유는 1)논리적 검사가 더 포괄적 2)검사할 기본 구조 일부가 더 복잡함.

따라서 새로운 기능을 포괄할 수 있도록 여러 가지 검사 작업이 새로 도입되었다. 대형 데이터베이스에서는 PHYSICAL_ONLY 옵션을 사용하여 DBCC CHECKDB 실행 시간을 훨씬 단축시킬 수 있으므로 생산 시스템에서의 잦은 검사 작업에는 이 옵션을 사용하는 것이 좋다. 하지만 정기적으로 DBCC CHECKDB 전체 실행을 수행하는 것이 좋다. 이러한 실행 빈도는 개별 비즈니스 및 프로덕션 환경과 관련된 여러 가지 요소에 따라 달라진다. PHYSICAL_ONLY는 항상 NO_INFOMSGS와 함께 사용되며 어떠한 복구 옵션과도 함께 사용할 수 없다.

 

 

 

REPAIR_REBUILD데이터 손실 가능성이 없는 복구를 수행한다. 여기에는 비클러스터형 인덱스의 누락 행 복구와 같은 빠른 복구 작업과 인덱스 다시 작성과 같이 시간이 오래 걸리는 복구가 모두 포함된다. REPAIR_REBUILD FILESTREAM 데이터 관련 오류를 복구하지 않는다.

 

 

그리고 나머지 실습에서 데모 데이터베이스를 생성하고 Hexedit 툴을 이용하여 디스크의 바이너리를 강제로 수정하여 실제 디스크 일관성 오류 상황을 재현하고 이를 위의 방법을 이용하여 데이터를 복구하는 방법에 대해서 살펴보았습니다.

 

2016-11-01 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server, sqlmvp, SQL Angeles

[LA DB 스터디] 2016-10-25 LA 한인 SQL Server 스터디 모임(가칭)

 

안녕하세요. 강성욱 입니다.

저희 스터디 그룹은 매주 화요일 8PM ~ 10PM (2시간) 스터디를 진행하며(상황에 따라 장소 및 시간은 변경 될 수 있습니다.) SQL Server를 함께 공부하고 업계의 다양한 트렌드 및 이슈를 공유하며 기술 및 네트워크를 공유하는 모임 입니다. LA 한인 SQL Server 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북 메신져, email(jevida@naver.com) 등으로 연락 주시기 바랍니다. 사내 오피스에서 진행되기 때문에 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다.

 

스터디는 회원제로 운영되며 월회비($20)가 있습니다. 불성실 회원의 경우 회칙에 따라 참여 또는 기타 활동이 제한될 수 있습니다.

 

오늘의 주제는 SQL Server Internals Storage 부분에 대해서 강성욱님께서 발표해 주셨습니다. 스토리지에서 사용되는 디스크의 종류, 성능에 대한 이야기, 스토리지 타입 및 RAID 구성 및 노하우 등 SQL 뿐만 아니라 일반적인 시스템 관점에서 자세하고 쉽게 설명해 주었습니다.

 

 

스토리지에 대한 세션은 2주에 걸쳐 진행될 예정이며 1주차에는 디스크에 대해서 자세히 살펴보는 시간을 가졌습니다. 2주차에는 실제 디스크에서 장애가 발생하였을 때 SQL 서버에서 발생할 수 있는 문제점을 공유하고 이를 해결하기 위한 방법에 대해서 다루도록 하겠습니다.

 

이번 발표는 한국의 SQLTAG 스터디(http://sqltag.org)에서 2012년에 발표했던 내용으로 LA 한인 SQL Server 스터디에서 한번 더 진행하게 되었습니다. 이번 발표를 하면서 느낀점은 2012년의 경우 SSD가 등장한지 오래되지 않은 시간으로 아직 SSD에 대한 정보 부족 및 도입에 대한 많은 고민(성능, 비용, 관리 등)이 필요한 시기였지만 4년이 지난 지금 SSD는 대중화 되었으며 성능 또한 그 시절에 비해 비약적으로 발전하여 그때의 트렌드 및 성능 자료가 많이 달라졌다는 것을 느낄 수 있었습니다. 물론 SQL Server 부분에서도 많은 변화가 있었지만 하드웨어 분야에 있어서는 너무 많은 발전이 이루어져 시스템 관점에서는 새로운 시대가 열린 듯 합니다. 기존에 DBA들이 많이 고민했던 부분들에 대해서 고민할 필요가 없어졌으며 튜닝에 대한 접근도 많이 달라져야 한다는 것을 다시 한번 느낄 수 있었습니다.

 

아래 이미지는 금일 진행했던 1차분의 발표 슬라이드 입니다. 2012년에 만들어졌던 자료로 다소 현재의 성능과 맞지 않은 부분도 있지만 전체적인 디스크에 대한 개념을 정리하는 차원에서 다루어보았습니다.

 

 

 

NCQ(Native Command Queuing)는 특정 상황에서 SATA장치의 성능을 향상시키기 위해 도입 되었다. IO 요청을 우선 Queue에 저장한 다음 전체 헤드의 움직임을 최소화 할 수 있도록 요청 순서를 재배열하는 방식이다. IO가 많이 일어나는 서버에서 주로 사용하는 방식이다. 최대 명령어 길이는 32(실제 31)이다. SCSI에서 사용하였다.

 

 

 

DMA 33에서는40, DMA 66 이상에서는 80핀 사용. 이때 80핀에서도 신호 대역폭을 증가 하는 대신 신호 간섭 때문에 (1,3,5), (2,4,6) 이렇게 번갈아 가며 신호를 전송하였다. 이처럼 신호 간섭으로 인해 실제 병렬전송에서 좋은 성능을 나타내지 못하였다.

 

 

 

SSD는 기존의 마그네틱 플래터 대신 플래쉬 메모리를 사용한다. 기존의 하드 드라이브 경우에는 하드 드라이브는 회전하는 자기 플래터와 헤드가 드라이브에 내장되어 오른쪽 섹터로 움직인다. 요청이 들어오면 드라이브 헤드는 레코드 플레이어 위로 바늘을 움직인다. 하드 드라이브가 다른 플래터에 엑세스 해야하는 경우 지연이 발생한다. OLTP에서는 랜덤 액세스가 매우 중요하다. SSD는 이런 패널티가 없이 모든 데이터에 엑세스가 가능하다. 또한 진동에 민감하지 않다.

 

 

 

데이터센터 안의 수 백개의 하드 드라이브 랙에서는 진동과 소음이 발생한다. 이는 디스크의 성능을 떨어 저하시킨다. 실제 한 연구 결과에서는 하드 드라이브 랙에 소음을 가했을 경우 작업 지연의 원인으로 밝혀 졌다.

 

 

 

인터리빙은 연속 블록을 읽을 때 한 블록을 읽은 후 OS에 전달하고 다음 섹터를 바로 읽을 수 없기에 데이터를 일정한 블록 단위로 배치하여 결과를 수신하는데 걸리는 시간을 단축한 것이다.

 

 

 

Raid 5는 드라이브가 데이터의 동일한 부분을 공유한다는 점에서 RAID 0과 유사하지만 하나의 드라이브 실패로 전체 배열이 다운되지 않도록 패리티를 추가하여 데이터를 보호한다. 어느 한 드라이브가 실패하면 다른 드라이브에서 그 내용을 리빌드 한다. 패리티를 계산하는 것은 프로세서 집약적이라 데이터 쓰기를 할 때 여러 블록의 패리티 데이터를 만들기 위해 검사해야 하는데 이때 성능 저하가 발생한다. 최근에는 RAID 컨트롤러의 발달로 전문 프로세서가 빠르게 계산될 수 있도록 디자인 되었다. 예를들어 500G가 드라이브 4개가 있으면 실제 용량은 1.5테라 이다. 다른 드라이브가 추가되는 동안에도 배열을 유지 할 수 있으며 서버다운 없이 가능하다.  리스트라이프가 되는 동안 느려질 수 있으나 추가 스핀들로 인하여 성능이 향상된다. RAID5는 하나의 디스크 깨짐은 방지하지만 2개 이상일때는 보호할 수 없다. RAID6 2개까지 가능하다. SATA처럼 큰 디스크에서는 리빌드 시간이 오래 걸릴 수 있다.

 

 

 

파티션 정렬은 추가 비용 없이 스토리지를 향상 할 수 있는 가장 쉽고 효과적인 방법이다. DBA는 하드웨어 구성이나 스키마 변경없이 작업이 가능하다. 아래 그림에서 상단 파티션은 정렬되어 있지 않아 데이터가 여러 섹터에 걸쳐 있기 때문에 페널티를 얻게 된다.

 

 

 

윈도우 2008 부터는 새로운 파티션은 자동으로 오프셋이 1024로 작동한다.2008 이전의 경우에는 수동으로 정렬 해 주어야 한다. 이때 방법은 아래의 4가지로 정의 할 수 있다. 이 작업은 다운타임을 필요로 한다. 따라서 기존 서버보다 새로 추가되는 서버에 도입하면 좋을 듯 하다.

 

 

 

 

SQL Server에서 가장 손쉽게 성능을 얻을 수 있는 방법은 MS의 권장 가이드대로 64K를 지정하는 방식이다. 그러나 일부 경우데 따라 다르게 지정 해야한다 OLTP에서는 8킬로의 작은 단위가 성능에 이익이 있을 수 있다. 포맷을 한 후에는 설정을 변경할 수 없다.

 

 

하드디스크는 데이터를 저장하는 기본 단위로 섹터를 사용한다. 하드디스크는 기본 저장소 격인 섹터가 여러 개 모인 큰 덩어리인 셈이다. 보통 하드디스크 섹터는 512B로 나뉘어져 있고 섹터마다 에러 수정 코드 ECC를 하나씩 갖고 있다. 4k 어드밴스드 포맷이란 섹터 8개를 합치고 ECC를 하나만 단 걸 말한다. 4k란 명칭은 512B 8개를 합한 4,096B를 섹터 단위 하나로 붙여져서 생긴 말이다. 4k 포맷을 쓰면 ECC가 차지할 자리가 줄어 하드디스크의 물리적 공간은 78% 늘어난다. 같은 용량이라도 포맷 기술 차이 하나로 실제로는 더 많은 데이터를 담을 수 있게 되는 셈이다. 또 액세스 횟수까지 덩달아 줄어 하드디스크 속도까지 빨라지는 효과를 볼 수 있다. 여러 번 액세스하면 에러 발생 확률도 높아지기 마련인데 섹터 단위를 크게 묶어 이 문제를 해결한 것이다.

 

 

다음 주에는 디스크 성능을 테스트하기 위한 툴 소개 및 디스크 커럽션, 장애 유형 및 해결 방안에 대해서 공유하도록 하겠습니다. 오늘도 늦은 시간까지 스터디 하시느라 고생 많으셨습니다.

 

2016-10-25 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server, sqlmvp, SQL Angeles

+ Recent posts