'sql2014'에 해당되는 글 4건

  1. VLF 생성 알고리즘 변경 SQL2014 이후 버젼 (1)
  2. Hekaton native 저장 프로시져 실행 계획 보기는 어떻게?
  3. Microsoft® SQL Server® 2014 CTP1 Product Guide
  4. SQL Server 2014 - Hekaton


http://www.sqlskills.com/blogs/paul/important-change-vlf-creation-algorithm-sql-server-2014/


For SQL Server 2014, the algorithm is now:

  • Is the growth size less than 1/8 the size of the log?
  • Yes: create 1 new VLF equal to the growth size
  • No: use the formula above

So on SQL Server 2014, if you created your log at 1GB and it auto-grow in chunks of 512 MB to 200 GB, you’d have:

  • 16 VLFs from the initial log creation
  • All growths up to the log being 4.5 GB would use the formula, so growths at 1, 1.5, 2, 2.5, 3, 3.5, 4 GB would each add 8 VLFs * = 56 VLFs
  • All growths over 4 GB will only create 1 VLF per growth = (200 – 4) x 2 = 392 VLFs
  • Total = 392 + 56 + 16 = 464 VLFs

464 is a much more reasonable number of VLFs than 3200, and will be far less of a performance problem.

정말 궁굼했다^ 벤자민 아저씨가 트위터에서 알려주셨어요. 

Starting with CTP2, we will be supporting SHOWPLAN_XML (also called the “estimated execution plan” in Management Studio), so you will be able to see the plan that was used to compile the procedure.”


Microsoft® SQL Server® 2014 CTP1 Product Guide 문서가 아래와 같이 다운로드를 할 수가 있습니다.

http://www.microsoft.com/en-us/download/details.aspx?id=39269&WT.mc_id=rss_alldownloads_all

   

다운로드 파일을 압축 해제하게 되면 ./documents/ 폴더 가이드 문서가 주루룩 나오네요~

SQL Server 2014 - Hekaton

SQL2014 버전에 대한 많은 정보가 공유되고 있는데, OLTP 시스템 중 인 메모리 부분이 관심이 되고 있습니다. 기존 RDBMS에서 처리 속도에 비해 16배 정도 속도 차이가 있다고 하지요.

   

평가판에 대한 일반인 오픈은 되고 있지 않은 상태입니다.

아래의 링크를 통해서 알림 등록 가능합니다.

http://www.microsoft.com/en-us/sqlserver/sql-server-2014.aspx?WT.mc_id=OO_Technet_Home_General_EN_US

   

   

   

칼렌님이 올려주신 white paper에는 2014에 대한 내부 아키텍쳐 정보를 살짝 볼 수 있습니다.

SQL Server In-Memory OLTP Internals Overview for CTP1
http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/05/hekaton-whitepaper.aspx

   

안습이게도 모두 영어네요 bb… 영어진짜 못하는데~ bb        

   

SQL Server 엔진에 포함된 In-Memory Component들… 모든 클라이언트들은 TDS 핸들러를 통해서 동일한 방법으로 접속을 합니다. Disk기반 테이블과 메모리 최적화 테이블들의 접근하는 컴포넌트가 다르며, 가장 큰 차이점은 메모리 기반 테이블을 엑세스 할때 디스크로부터 캐쉬 page를 읽을 필요가 없다.

   

  • 트랜잭션 로그도 기존 디스크 기반과 동일하게 기록이 된다.
  • SCHEMA_ONLY 옵션으로 메모리에만 존재할 수 있는 테이블 옵션. 휘발성인 데이터에 쓰면 좋겠다. 예를 들어 자주 쓰는 정보이지만 메모리에만 넣어두면 좋을 것들~~ 카운팅, 최신 뉴스~ 등등. 웹 세션 상태, . 좀더 고민해봐야겠다
  • 메모리 기반 테이블들은 전통적인 B-Tree 형태로 저장하지 않는다. 해쉬 인덱스 기반으로 특별한 BW-Tree를 사용하여 저장 한다. 모든 테이블은 적어도 하나의 인덱스를 가져야 하며, 디스크 기반의 테이블들과 같이 힙 형태로 저장할 수 없다.
  • 메모리 기반 테이블은 완전히 낙관성 다중 버전 동시성 제어를 사용하며, 이에 대기할 필요가 없다.
  • natively compiled stored procedures으로 최고 성능 실행을 얻을 수 있다.

   

   

SQL2014는 64bit 기반의 OS에서만 설치 가능하다.

   

데이타베이스 생성

기존 데이타베이스 생성 방식과 비슷하며, 추가적으로 CONTAINS MEMORY_OPTIMIZED_DATA 키워드로 메모리 기반 테이블용 파일 그룹을 지정 한다.

  • 바이너리 collation을 지정
  • 메모리 기반 테이블 경로 지정, 만약 메모리 기반 테이블이 여러 개 있을 경우 각각의 경로를 지정을 해야 할 듯?

   

테이블 생성

   

지원되는 데이터 타입

XML, CLR, MAX 데이터 형식으로 지정하는게 없고, n으로 특정 크기를 지정해야 한다. .

   

   

기존 테이블 생성한는 방법과 동일하며, 아래와 같이 빨간줄 부분만 추가하면 된다.

인 메모리 기반 제약 사항