SQL Server 2016 : Everything built-in built-in built-in built-in built-in built-in $2,230 80 70 60 50 43 69 49 SQL Server SQL Server SQL Server 40 30 20 10 0 34 29 22 20 22 18 15 6 4 5 0 1 3 3 0 0 2010 2011 2012 2013 2014 2015 #1 #2 #3 Oracle is #5 $480 $120 Microsoft Tableau Oracle SQL Server Oracle MySQL2 SAP HANA TPC-H Self-service BI per user at massive scale In-memory across all workloads Consistent experience from on-premises to cloud 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. National Institute of Standards and Technology Comprehensive Vulnerability Database update 5/4/2015 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
SQL Server 2016 : Everything built-in 성능및확장성 향상된인메모리 OLTP, DW AlwaysOn 가용성그룹 Stretch Database 보안 행수준보안항시암호화동적데이터마스킹 고급분석 PolyBase R Service 리포팅서비스 모바일중심의 BI 3
성능및확장성 In-memory OLTP & DW 메모리최적화된데이터베이스크기증가 T-SQL 지원범위확장 병렬처리및 TDE 지원 AlwaysOn 가용성그룹 최대 3 개의동기모드의장애조치노드구성가능 보조서버간라운드로빈방식으로로드밸런싱 데이터베이스상태에따른자동장애초치 Stretch Database 온프레미스의이력데이터를 Azure 로자연스럽게이관하여저장비용절감 상시암호화및행수준보안유지가능 4
In-Memory OLTP & DW 5
SQL Server 인메모리기술 Performance & Mission critical Self-service BI Cloud-ready productivity Mission critical & cloud performance Advanced analytics & rich visualizations Management studio SQL Server 2005 Compression / Policy-based mgmt. / Programmability SQL Server 2008 PowerPivot (In-Memory) / SharePoint integration / Master data services SQL Server 2008 R2 AlwaysOn / In-Memory ColumnStore / Data quality services / Power View / Cloud SQL Server 2012 In-memory across workloads / Performance & scale / Hybrid cloud optimized / HDInsight service / Cloud BI SQL Server 2014 Operational Analytics / Structured & unstructured data / Built-in advanced analytics / Rich visualizations for BI / Security / Hybrid Hyperscale SQL Server 2016
일반적인 OLTP/DW 시스템구성 일반사용자 데이터분석 IIS Server 복잡한시스템구성도 즉각적인분석의어려움
In-memory OLTP Row header Payload(table column) 해쉬타입의인덱스 R1 R2 Begin Ts End Ts StmtId IdxLinkcount R3
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
ColumnStore Index 메모리 ProductID 및 OrderDate 디스크모두Cost 사용 310 2014-10-01 2171.29 기존하드웨어사용가능 311 2014-10-01 415.09 10~100 배속도개선 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 필요한컬럼만을접근하여 Disk I/O의 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
인메모리기술향상으로인한 Operational Analytics 가능 일반사용자 일반사용자 데이터분석 데이터분석 IIS Server IIS Server
AlwaysOn 가용성그룹 12
AlwaysOn 가용성그룹 Mart Backup Report Primary Replica1 Replica2 Replica3 Azure VMs Sync Auto Failover Async
AlwaysOn 가용성그룹 복제본개수증가 읽기전용 AD 없이가용성그룹구성가능 최대 8 개의보조복제본 3 개의동기모드복제본 읽기전용라우터목록을통한로드밸런싱장애조치중에도읽기전용연결지속 Window Server 2016 부터가능..
스트레치데이터베이스 15
스트레치데이터베이스 온프레미스 Azure Hot/ 활성데이터 Cold/ 마감데이터 소량의데이터이동과원격쿼리처리 Orders In-memory OLTP 테이블 Order history 늘어난테이블 온프렘 & 클라우드용 BI 통합
스트레치데이터베이스 데이터베이스 쿼리가능 안정성 운영데이터베이스에서과거데이터의가용성을경제적으로확보가능 응용프로그램의변경없이단일테이블처럼쿼리및변경가능 상시암호와와행수준암호화지원
보안 6 년연속가장적은취약점 보안계층 위협감지 80 70 69 69 상태모니터 SQL 서버감사 60 50 40 30 20 10 0 53 53 55 43 34 28 29 29 25 21 22 20 16 16 11 13 9 8 8 5 6 6 0 2 4 0 1 49 22 18 15 5 6 3 3 3 0 0 0 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 접근통제 윈도우인증 행수준보안 동적데이터마스킹 상시암호화 SQL Server Oracle DB2 MySQL SAP HANA 데이터보호 투명한데이터암호화 18
보안 상시암호화행수준보안동적데이터마스킹 민감한데이터를클라이언트단에서암호화하며 DBMS 에서는복호화불가능 정적에따른상세보안설정 서버와클라이언트라이브러리향상으로최소한의응용프로그램변경 19
상시암호화 Always Encrypted 20
상시암호화란? ADO.NET 라이브러리가투명한클라이언트단의암호화제공 응용프로그램 신뢰구간 SQL Server SELECT Name FROM Patients WHERE SSN=@SSN SELECT Name FROM Patients WHERE SSN=@SSN @SSN='198-33-0987' Query 클라이언트단 향상된 ADO.NET 라이브러리 @SSN=0x7ff654ae6d Column Master Key 결과집합 Name Jim Gray 결과집합 Name Jim Gray dbo.patients Name Jane Doe 암호문 SSN 1x7fg655se2e 243-24-9812 Country USA Jim Gray 0x7ff654ae6d 198-33-0987 USA John Smith 0y8fj754ea2c 123-82-1095 USA Column Encryption Key
상시암호화효과 데이터노출방지 민감한데이터를클라이언트단에서암호화. 사용된키는 DBMS 로보내지지않음. 암호화된데이터에쿼리 JOIN, Group by, distinct 등의등가비교지원. 응용프로그램의투명성 서버와클라이언트라이브러리향상으로최소한의응용프로그램변경.
행수준보안 Row Level Security 23
행수준보안 정책관리자 필터조건자와보안정책을 T-SQL 로생성, 조건자를환자테이블에연결앱사용자 ( 예 : 간호사 ) 는환자테이블조회보안정책이필터조건자적용을위한쿼리를투명하게재작성 간호사 Database 정책관리자 보안정책 Filter Predicate: INNER JOIN 응용프로그램 SELECT * FROM Patients Patients CREATE FUNCTION dbo.fn_securitypredicate(@wing int) RETURNS TABLE WITH SCHEMABINDING AS return SELECT 1 as [fn_securitypredicate_result] FROM SELECT * StaffDuties FROM Patients d INNER JOIN Employees e SEMIJOIN ON (d.empid APPLY dbo.fn_securitypredicate(patients.wing); = e.empid) WHERE e.usersid = SUSER_SID() AND @wing = d.wing; SELECT CREATE Patients.* SECURITY POLICY FROM Patients, dbo.secpol StaffDuties ADD FILTER d PREDICATE INNER JOIN dbo.fn_securitypredicate(wing) Employees e ON (d.empid = e.empid) ON Patients WHERE WITH e.usersid (STATE = ON) = SUSER_SID() AND Patients.wing = d.wing;
행수준보안효과 미세접근통제 다중테넌트디비를안전하게유지하여, 같은테이블을사용하는다른사용자의접근제한 응용프로그램투명성 행수준보안은쿼리수행시투명하게동작하여, 앱을변경불필요 다른제품들에서도행수준보안사용가능 중앙집중식보안로직 강제로직은디비내에보관스키마 - 바운드테이블로더나은보안제공
동적데이터마스킹 Dynamics Data Masking 26
동적데이터마스킹 1) 보안담당자가, Employee 테이블의민감한컬럼에동적데이터마스킹정책을 T-SQL 로정의 2) 앱사용자가, Employee 테이블에서필요한데이터요청 3) 동적데이터마스킹정책이, 쿼리결과에서민감한데이터를알아볼수없게처리 업무용앱 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 보안담당자 SELECT [Name], [SocialSecurityNumber], [Email], [Salary] FROM [Employee] 다른로그인 관리자 1 로그인
동적데이터마스킹효과 규제준수 민감한데이터보호 신속함 & 투명성 규제기관에서제안하는프라이버시요건을충족하기위해응용프로그램에꼭필요한요건 응응프로그램에서민감한데이터에접근하는비인가사용자나운영 DB 에접근하는개발자나 DBA 로부터데이터보호. 기반데이터는온전하게유지되는채로, 민감한데이터만언제어디서나마스킹된상태로노출
고급분석 R Polybase 통계분석언어 R 서로다른두플랫폼을연결해주는기술 29
분석을위한 R 30
R 이란? Open source 사실상표준어 글로벌커뮤니티 생태계 분석, 컴퓨팅, 모델링 수백만명의사용자 7,000+ 패키지 31
예측모델링절차 https://azure.microsoft.com/ko-kr/documentation/learning-paths/cortana-analytics-process/
오픈소스 R 의한계 $? 기업관점에서 TCO 와 ROI 에대한불확실성 ( 오픈소스프로젝트관리를위한인력구성, 교육, 기술지원영역 ) 체계적인관리가되지않을경우, 데이터인프라와통합이복잡하고 Silo 를방지하기쉽지않음 스케일과성능문제 데이터이동으로인하여효율적인데이터모델링이방해받음
In-database 고급분석 with SQL Server 2016 데이터를이동할필요없이실시간으로운영데이터분석 R 과인메모리고성능분석을동시에병렬쓰레드 / 프로세싱 R 함수활용 데이터사이언티스트데이터와직접상호작용 SQL 개발자및 DBA 데이터와분석로직을함께관리 확장모듈 R 통합모듈 Analytics library T-SQL 인터페이스 관계형데이터 01001 0 10010 0 01010 1
SQL Server 내에서의 R 스크립트실행 기존 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_model with result sets ((name varchar(100), length int, width int, species varchar(30))); yellow : Original R script 내에포함된 SQL Query aqua : SQL variable 에 Bind 된 R variable 35
SQL Server 2016 R 서비스 친숙한툴제공 데이터이관작업최소화 빠른처리가능 데이터분석가들이나 DBA 들이원하는툴로친숙하게사용가능 데이터베이스와 R 이같은엔진에위치함으로써이관작업최소화 오픈소스 R 대비 ( 싱글스레드 ) 빠른병렬처리성능 (ScaleR- RevoScaleR, RevoPemaR)
플랫폼연결을위한 PolyBase 37
PolyBase 란? Hadoop 쿼리 PolyBase 결과 Azure Blob Storage 서로다른두플랫폼을연결하는기술 T-SQL 을이용하여양쪽의데이터를연계 / 분석하고데이터이동을쉽게해주는확장성있는쿼리처리프레임웍
PolyBase 사용시나리오 Hadoop 데이터에대한고성능데이터조회 RDBMS 데이터를 Hadoop 으로 Archiving (move) RDBMS 데이터를 Hadoop 으로 Export (copy) Hadoop 데이터를 RDBMS 로 Import (copy)
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 ); SELECT InsuranceCustomers.FirstName, InsuranceCustomers.LastName, SensorData.Speed FROM InsuranceCustomers INNER JOIN SensorData ON InsuranceCustomers.CustomerKey = SensorData.CustomerKey WHERE SensorData.Speed > 65 ORDER BY SensorData.Speed DESC -- 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 ); yellow : 하둡비정형데이터 aqua : SQL Server 정형데이터
PolyBase 고유성 빅데이터전문어플라이언스 APS 와 SQL Server 2016 Microsoft 만이가진고유기능 정형 / 비정형연계분석 정형, 비정형데이터를 T- SQL 을사용하여조회및분석이가능 양방향 하둡에서 SQL Server 로의 Import 뿐만아니라 Hadoop 으로의 Export 지원
리포팅서비스 쉽고빠르게 어느플랫폼에서나 42
리포팅서비스로드맵 보고서 / 대시보드작성 보고서 / 대시보드게시 보고서 / 대시보드소비 Power BI 전용보고서작성툴 클라우드 Power BI 구독형태로바로생성관리요소최소화 모바일전용앱 (Power BI 앱 ) 윈도우폰용앱안드로이드폰용앱 모바일대시보드개발툴 정형보고서개발툴형보고서개발툴 온프레미스 Reporting Services 모바일대시보드및정형보고서를하나의포털에서온프레미스 웹포털 ios 용앱 마이크로소프트엑셀 SharePoint 엑셀보고서의웹게시가능 엑셀이중요한요건인경우 인터넷브라우저 43
리포팅서비스보고서제작과정 제작 게시 소비 Mobile Report Publisher Reporting Services Reporting Services 웹포털 Power BI 모바일앱
리포팅서비스 생산성 드래드앱드롭방식으로쉬운보고서작성및대시보드구축가능 세련된그래프및 UI 모던한디자인으로변경및다양한그래프추가 하나의포털 모바일대시보드및정형보고서를하나의포털에서소비가능
SQL Server 2016 미션크리티컬한데이터베이스로성능및고가용성을제공합니다. 가장안전한데이터베이스로써사용자의정보를지킵니다. SQL Server 2016 Everything Built-in R, Polybase 를이용한빅데이타접근및분석이가능합니다. 가치있는비즈니스인사이트를쉽게발굴해낼수있습니다. 46
SQL Server 2016 features by edition Express Standard Enterprise 1 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) Security Data warehousing Basic security (Row-level security, data masking, basic auditing, separation of duties) New Advanced security (Transparent Data Encryption, Always Encrypted) New Advanced data integration (Fuzzy grouping and look ups, change data capture) Data warehousing (In-Memory ColumnStore, Partitioning) New Programmability & developer t ools (T-SQL, CLR, Data Types, FileTable, JSON) New Basic reporting & analytics Business intelligence 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 analytics Basic 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.
어떻게시작하나요? Next steps 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 SQL MSDN 사이트 SQL Server 블로그 SQL2016_kr@microsoft.com 49