SQL Server 2016 : Everything built-in
The above graphics were published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Microsoft. Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.
Consistent experience from on-premises to cloud
Microsoft Tableau Oracle
$120
$480
$2,230
Self-service BI per user
In-memory across all workloads
built-inbuilt-in built-in built-in built-in
TPC-H non-clustered results as of 04/06/15, 5/04/15, 4/15/14 and 11/25/13, respectively. http://www.tpc.org/tpch/results/tpch_perf_results.asp?resulttype=noncluster
at massive scale
0 14
0 03
3429
22
15
5
22
6
43
20
69
18
49
3
0
10
20
30
40
50
60
70
80
2010 2011 2012 2013 2014 2015
SQL Server Oracle MySQL2 SAP HANA TPC-H
Oracle is #5#2
SQL Server
#1
SQL Server
#3
SQL Server
National Institute of Standards and Technology Comprehensive Vulnerability Database update 5/4/2015
SQL Server 2016 : Everything built-in
성능및확장성
향상된인메모리 OLTP,
DW
AlwaysOn 가용성그룹Stretch Database
리포팅서비스
모바일중심의 BI
고급분석
PolyBase
R Service
보안
행수준보안항시암호화동적데이터마스킹
3
4
AlwaysOn
가용성그룹
In-memory OLTP
& DWStretch Database
• 최대 3개의동기모드의장애조치노드구성가능
• 보조서버간라운드로빈방식으로로드밸런싱
• 데이터베이스상태에따른자동장애초치
• 온프레미스의이력데이터를 Azure로자연스럽게이관하여저장비용절감
• 상시암호화및행수준보안유지가능
• 메모리최적화된데이터베이스크기증가
• T-SQL지원범위확장• 병렬처리및 TDE 지원
성능및확장성
In-Memory OLTP & DW
5
Management studio SQL Server 2005
Compression / Policy-based mgmt. / Programmability
PowerPivot (In-Memory) / SharePoint integration / Master data services
AlwaysOn / In-Memory ColumnStore / Data quality services / Power View / Cloud
In-memory across workloads / Performance & scale / Hybrid cloud optimized / HDInsight service / Cloud BI
Operational Analytics / Structured & unstructured data / Built-in advanced analytics / Rich visualizations for BI / Security / Hybrid Hyperscale
SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014
Performance &
productivityMission critical Self-service BI Cloud-ready
Mission critical &
cloud performance
Advanced analytics
& rich visualizations
SQL Server 2016
SQL Server 인메모리 기술
IIS Server
데이터분석일반사용자
일반적인 OLTP/DW 시스템 구성
복잡한시스템구성도
즉각적인분석의어려움
Row header Payload(table column)
Begin Ts End Ts StmtId IdxLinkcount
해쉬타입의인덱스
R1 R2
R3
In-memory OLTP
ProductID OrderDate Cost
310 2014-10-01 2171.29
311 2014-10-01 415.09
312 2014-10-20 1919.03
313 2014-10-20 1295.00
ProductID OrderDate Cost
314 2015-03-01 641.22
315 2015-03-01 798.09
316 2015-03-01 1433.03
317 2016-04-06 2016.00
RowStore Index
ProductID OrderDate Cost
310 2014-10-01 2171.29
311 2014-10-01 415.09
312 2014-10-20 1919.03
313 2014-10-20 1295.00
ProductID OrderDate Cost
314 2015-03-01 641.22
315 2015-03-01 798.09
316 2015-03-01 1433.03
317 2016-04-06 2016.00
ProductID
310
311
312
313
314
315
316
317
OrderDate
2014-10-01
--
2014-10-20
--
2015-03-01
--
--
2016-04-06
Cost
2171.29
415.09
1919.03
1295.00
641.22
798.09
1433.03
2016.00
• 메모리및디스크모두사용
• 기존하드웨어사용가능
• 10~100배속도개선
• 디자인변경최소화
• 각각의페이지는단일컬럼데이터저장
• 높은압축률 (더많은데이터의메모리로드가능)
• 필요한컬럼만을접근하여 Disk I/O의최소화
• 배치, 푸시다운실행으로리소스사용최적화
ColumnStore Index
인메모리 기술 향상으로 인한 Operational Analytics 가능
IIS Server
데이터분석일반사용자 데이터분석일반사용자
IIS Server
AlwaysOn 가용성그룹
12
Azure VMs
Mart Backup
Replica3Primary
Async
Sync
Auto Failover
Report
Replica2Replica1
AlwaysOn 가용성 그룹
복제본개수증가
최대 8개의보조복제본3개의동기모드복제본
.
읽기전용
읽기전용라우터목록을통한로드밸런싱장애조치중에도읽기전용연결지속
AD없이가용성그룹구성가능
Window Server 2016부터가능
.
AlwaysOn 가용성 그룹
스트레치데이터베이스
15
온프렘& 클라우드용
BI 통합
Cold/마감데이터
OrdersIn-memoryOLTP 테이블
Hot/활성데이터
Order history늘어난테이블
소량의데이터이동과원격쿼리처리
온프레미스 Azure
스트레치 데이터베이스
데이터베이스
운영데이터베이스에서과거데이터의가용성을경제적으로확보가능
쿼리가능
응용프로그램의변경없이단일테이블처럼쿼리및변경가능
안정성
상시암호와와행수준암호화지원
스트레치 데이터베이스
“
6년연속가장적은취약점
0 2
118
0 14
0 03
69
53 53 55
3429
22
15
5
22
5
2825
29
21
6
13
30
6
16 16
9 8 6
43
20
69
18
49
3
0
10
20
30
40
50
60
70
80
2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
SQL Server Oracle DB2 MySQL SAP HANA
보안계층
데이터보호
• 상시암호화
• 투명한데이터암호화
상태모니터
• 위협감지
• SQL 서버감사
접근통제
• 윈도우인증
• 행수준 보안
• 동적 데이터 마스킹
보안
18
19
상시암호화 행수준보안 동적데이터마스킹
서버와클라이언트라이브러리향상으로최소한의응용프로그램변경
정적에따른상세보안설정민감한데이터를클라이언트단에서암호화하며 DBMS에서는복호화불가능
보안
20
상시암호화Always Encrypted
dbo.Patients
Jane Doe
Name
243-24-9812
SSN
USA
Country
Jim Gray 198-33-0987 USA
John Smith 123-82-1095 USA
dbo.Patients
Jane Doe
Name
1x7fg655se2e
SSN
USA
Jim Gray 0x7ff654ae6d USA
John Smith 0y8fj754ea2c USA
Country
결과집합
Jim Gray
Name
Jane Doe
Name
1x7fg655se2e
SSN
USA
Country
Jim Gray 0x7ff654ae6d USA
John Smith 0y8fj754ea2c USA
dbo.Patients
SQL Server
Query
신뢰구간응용프로그램
SELECT Name FROM
Patients WHERE SSN=@SSN
@SSN='198-33-0987'
결과집합
Jim Gray
Name
SELECT Name FROM
Patients WHERE SSN=@SSN
@SSN=0x7ff654ae6d
Column Encryption
Key
향상된ADO.NET
라이브러리
ColumnMasterKey
클라이언트단
암호문
ADO.NET 라이브러리가투명한클라이언트단의암호화제공
상시 암호화란?
데이터노출방지
민감한데이터를클라이언트단에서암호화. 사용된키는DBMS로보내지지않음.
암호화된데이터에쿼리
JOIN, Group by, distinct 등의등가비교지원.
응용프로그램의투명성
서버와클라이언트라이브러리향상으로최소한의응용프로그램변경.
상시 암호화 효과
23
행수준보안Row Level Security
정책관리자 –필터조건자와보안정책을 T-SQL로생성, 조건자를환자테이블에연결앱사용자(예: 간호사)는환자테이블조회보안정책이필터조건자적용을위한쿼리를투명하게재작성
Database 정책관리자
CREATE FUNCTION dbo.fn_securitypredicate(@wing int)
RETURNS TABLE WITH SCHEMABINDING AS
return SELECT 1 as [fn_securitypredicate_result] FROM
StaffDuties d INNER JOIN Employees e
ON (d.EmpId = e.EmpId)
WHERE e.UserSID = SUSER_SID() AND @wing = d.Wing;
CREATE SECURITY POLICY dbo.SecPol
ADD FILTER PREDICATE dbo.fn_securitypredicate(Wing) ON Patients
WITH (STATE = ON)
Filter
Predicate:
INNER
JOIN…
보안정책
응용프로그램
Patients
간호사
SELECT * FROM Patients
SELECT * FROM Patients
SEMIJOIN APPLY dbo.fn_securitypredicate(patients.Wing);
SELECT Patients.* FROM Patients,
StaffDuties d INNER JOIN Employees e ON (d.EmpId = e.EmpId)
WHERE e.UserSID = SUSER_SID() AND Patients.wing = d.Wing;
행 수준 보안
미세접근통제
다중테넌트디비를안전하게유지하여, 같은테이블을사용하는다른사용자의접근제한
응용프로그램투명성
• 행수준보안은쿼리수행시투명하게동작하여,
앱을변경불필요• 다른제품들에서도행수준보안사용가능
중앙집중식보안로직
강제로직은디비내에보관스키마-바운드테이블로더나은보안제공
행 수준 보안 효과
26
동적데이터마스킹Dynamics Data Masking
1) 보안담당자가, Employee테이블의민감한컬럼에동적데이터마스킹정책을 T-SQL로정의2) 앱사용자가, Employee테이블에서필요한데이터요청3) 동적데이터마스킹정책이, 쿼리결과에서민감한데이터를알아볼수없게처리
SELECT [Name],
[SocialSecurityNumber],
[Email],
[Salary]
FROM [Employee]
관리자1 로그인다른로그인
업무용앱
업무용앱
ALTER TABLE [Employee] ALTER COLUMN [SocialSecurityNumber]ADD MASKED WITH (FUNCTION = ‘SSN()’)
ALTER TABLE [Employee] ALTER COLUMN [Email]ADD MASKED WITH (FUNCTION = ‘EMAIL()’)
ALTER TABLE [Employee] ALTER COLUMN [Salary] ADD MASKED WITH (FUNCTION = ‘RANDOM(1,20000)’)
GRANT UNMASK to admin1
보안담당자
동적 데이터 마스킹
규제준수
규제기관에서제안하는프라이버시요건을충족하기위해응용프로그램에꼭필요한요건
민감한데이터보호
응응프로그램에서민감한데이터에접근하는비인가사용자나운영DB에접근하는개발자나DBA로부터데이터보호.
신속함 & 투명성
기반데이터는온전하게유지되는채로, 민감한데이터만언제어디서나마스킹된상태로노출
동적 데이터 마스킹 효과
29
PolybaseR
통계분석언어 R 서로다른두플랫폼을연결해주는기술
고급분석
30
분석을위한 R
31
R이란?
Open source “사실상 표준어”
분석, 컴퓨팅, 모델링
글로벌 커뮤니티
수백만 명의사용자
7,000+ 패키지
생태계
https://azure.microsoft.com/ko-kr/documentation/learning-paths/cortana-analytics-process/
예측 모델링 절차
$?
기업 관점에서TCO와 ROI에 대한불확실성
(오픈소스 프로젝트관리를 위한인력구성, 교육, 기술지원 영역)
체계적인 관리가되지 않을 경우, 데이터 인프라와통합이 복잡하고Silo를 방지하기쉽지 않음
스케일과 성능 문제 데이터 이동으로인하여 효율적인데이터 모델링이방해받음
오픈소스 R의 한계
In-database 고급 분석 with SQL Server 2016
데이터 사이언티스트
데이터와 직접 상호작용
SQL 개발자 및 DBA데이터와 분석로직을
함께 관리
확장모듈
010010
100100
010101
관계형 데이터
Analytics libraryT-SQL 인터페이스
R 통합모듈
데이터를 이동할 필요 없이실시간으로 운영데이터 분석
R과 인메모리 고성능 분석을 동시에병렬 쓰레드/프로세싱 R 함수 활용
35
기존 R 스크립트:
IrisPredict <- function(data, model){library(e1071)predicted_species <- predict(model, data)return(predicted_species)
}
library(RODBC)conn <- odbcConnect("MySqlAzure", uid = myUser, pwd = myPassword);Iris_data <-sqlFetch(conn, "Iris_Data");Iris_model <-sqlQuery(conn, "select model from my_iris_model");IrisPredict (Iris_data, model);
SQL Server에서의 R 스크립트 실행:
/* Input table schema */create table Iris_Data (name varchar(100), length int, width int);/* Model table schema */create table my_iris_model (model varbinary(max));
declare @iris_model varbinary(max) = (select model from my_iris_model);exec sp_execute_external_script@language = 'R'
, @script = 'IrisPredict <- function(data, model){library(e1071)predicted_species <- predict(model, data)return(predicted_species)
}IrisPredict(input_data_1, model);', @parallel = default, @input_data_1 = N'select * from Iris_Data', @params = N'@model varbinary(max)', @model = @iris_modelwith result sets ((name varchar(100), length int, width int, species varchar(30)));
yellow : Original R script내에포함된 SQL Queryaqua : SQL variable에 Bind된 R variable
SQL Server 내에서의 R 스크립트 실행
SQL Server 2016 R 서비스
친숙한툴제공
데이터분석가들이나DBA들이원하는툴로친숙하게사용가능
데이터이관작업최소화
데이터베이스와 R이같은엔진에위치함으로써이관작업최소화
빠른처리가능
오픈소스 R 대비(싱글스레드)
빠른병렬처리성능(ScaleR-
RevoScaleR, RevoPemaR)
37
플랫폼연결을위한 PolyBase
서로 다른 두 플랫폼을 연결하는 기술
T-SQL을 이용하여 양쪽의 데이터를 연계/분석하고 데이터이동을 쉽게 해주는 확장성 있는 쿼리 처리 프레임웍
쿼리
결과
PolyBase
Hadoop
Azure Blob
Storage
PolyBase란?
Hadoop 데이터에 대한 고성능 데이터 조회
RDBMS 데이터를 Hadoop 으로 Archiving (move)
RDBMS 데이터를 Hadoop 으로 Export (copy)
Hadoop 데이터를 RDBMS 로 Import (copy)
PolyBase 사용 시나리오
PolyBase 사용 시나리오 – 하둡 데이터에 의한 고성능 데이터 조회
하둡 데이터 소스 및 테이블 생성
-- Create an external data source.-- LOCATION (Required) : Hadoop Name Node IP address and port.-- RESOURCE MANAGER LOCATION (Optional): Hadoop Resource Manager location to enable pushdown computation.-- CREDENTIAL (Optional): the database scoped credential, created above.
CREATE EXTERNAL DATA SOURCE MyHadoopCluster WITH (TYPE = HADOOP, LOCATION ='hdfs://10.xxx.xx.xxx:xxxx', RESOURCE_MANAGER_LOCATION = '10.xxx.xx.xxx:xxxx', CREDENTIAL = HadoopUser1
);
-- Create an external table pointing to data stored in Hadoop.-- LOCATION: path to file or directory that contains the data (relative to HDFS root).
CREATE EXTERNAL TABLE [dbo].[CarSensor_Data] ([SensorKey] int NOT NULL, [CustomerKey] int NOT NULL, [GeographyKey] int NULL, [Speed] float NOT NULL, [YearMeasured] int NOT NULL
)WITH (LOCATION='/Demo/',
DATA_SOURCE = MyHadoopCluster,FILE_FORMAT = TextFileFormat
);
정형 데이터
SELECT InsuranceCustomers.FirstName, InsuranceCustomers.LastName, SensorData.Speed
FROM InsuranceCustomers INNER JOIN SensorDataON InsuranceCustomers.CustomerKey = SensorData.CustomerKeyWHERE SensorData.Speed > 65 ORDER BY SensorData.Speed DESC
yellow : 하둡비정형데이터aqua : SQL Server 정형데이터
PolyBase
고유성
빅데이터전문어플라이언스APS와 SQL Server 2016
Microsoft만이가진고유기능
정형/비정형연계분석
정형, 비정형데이터를 T-
SQL을사용하여조회및분석이가능
양방향
하둡에서 SQL Server로의Import 뿐만아니라Hadoop으로의 Export 지원
“
쉽고빠르게
어느플랫폼에서나
리포팅서비스
42
43
보고서 / 대시보드게시
클라우드
Reporting Services
모바일대시보드및 정형
보고서를하나의포털에서
온프레미스
보고서 / 대시보드소비
안드로이드 폰용 앱
정형보고서개발툴형보고서개발툴
Power BI 전용보고서작성툴
보고서 / 대시보드작성
마이크로소프트엑셀
모바일대시보드개발툴
SharePoint
엑셀보고서의웹 게시 가능
엑셀이중요한요건인 경우
온프레미스
Power BI
구독형태로 바로생성
관리요소 최소화
모바일전용 앱 (Power BI 앱)
윈도우 폰용 앱
안드로이드 폰용 앱
iOS 용앱
인터넷 브라우저
웹 포털
리포팅 서비스 로드맵
게시
Reporting Services
제작
Mobile Report Publisher
소비
Reporting Services 웹 포털Power BI 모바일 앱
리포팅 서비스 보고서 제작 과정
리포팅 서비스
생산성
드래드앱드롭방식으로쉬운보고서작성및대시보드구축가능
세련된그래프및UI
모던한디자인으로변경및
다양한그래프추가
하나의포털
모바일 대시보드 및 정형
보고서를 하나의 포털에서
소비 가능
SQL Server
2016
Everything Built-in
46
R, Polybase를이용한빅데이타접근및 분석이가능합니다.
가장안전한데이터베이스로써사용자의정보를지킵니다.
미션크리티컬한데이터베이스로성능및고가용성을제공합니다.
SQL Server 2016
가치있는비즈니스인사이트를쉽게발굴해낼수있습니다.
Express Standard Enterprise1
Maximum number of cores New 4 cores 24 cores Unlimited
Maximum memory utilized per instance 1 GB 128 GB OS Max
Maximum size 10 GB 524 PB 524 PB
Basic OLTP
Manageability (Management Studio, Policy-Based Management)
Basic high availability (2-node single database failover, non-readable secondary) New
Enterprise data management (Master Data Services, Data Quality Services)
Advanced OLTP (In-memory OLTP, Operational analytics) New
Advanced HA (Always On - multi-node, multi-db failover, readable secondaries)
SecurityBasic security (Row-level security, data masking, basic auditing, separation of duties) New
Advanced security (Transparent Data Encryption, Always Encrypted) New
Data warehousingAdvanced data integration (Fuzzy grouping and look ups, change data capture)
Data warehousing (In-Memory ColumnStore, Partitioning) New
Business
intelligence
Programmability & developer t ools (T-SQL, CLR, Data Types, FileTable, JSON) New
Basic reporting & analytics
Basic data integration (SSIS, built-in connectors)
Basic Corporate Business Intelligence (Multi-dimensional models, Basic tabular model) New
Mobile BI (Datazen) New
Advanced Corporate Business Intelligence (Advanced tabular model, Direct query,
in-memory analytics, advanced data mining)New
Advanced analyticsBasic “R” integration (Connectivity to R Open, Limited parallelism for RRE) New
Advanced “R” integration (Full parallelism for RRE) New
Hybrid cloud Stretch Database New
1 SQL Server 2016 Developer Edition offers the full feature set of SQL Server 2016 Enterprise Edition, but Developer Edition is for development and test only, and not for production environments or use with production data.
© 2016 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. This
document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. You may modify this document for your internal, reference purposes.
SQL Server 2016 features by edition
SQL Server 설치• SQL Server 2016
https://www.microsoft.com/ko-kr/events/2016/sqlserver_launch
https://www.microsoft.com/en-us/server-cloud/products/sql-server-2016/default.aspx
어떻게시작하나요?Next steps
SQL MSDN 사이트
SQL Server 블로그
49