데이터의변화 CONNECTED DIGITAL ANALOG CLOUD / IoT MOBILE 1985 1990 1995 2000 2005 2010 2015 2020
SQL Server 2016: Everything built-in 향상된 In-memory OLTP : 메모리최적화된데이터베이스크기증가, T-SQL 지원범위확장, 병렬처리및 TDE 지원 Operational Analytics: 메모리최적화및디스크기반의시스템에서도효율적인데이터분석가능 Query store: 쿼리실행이력을관리및모니터링하여보다최적의실행계획파악가능 JSON: JSON 의지원으로 SQL Server 로데이터를가져오거나내보내는기능가능 Temporal database: 변경된데이터이력관리가능 향상된 AlwaysOn: 최대 3 개의동기모드의장애조치노드구성가능 보조서버간라운드로빈방식으로로드밸런싱 DTC 및 SSIS 지원 데이터베이스의상태에따른자동장애조치 성능및확장성 : Spatial, memory management, maintenance, auto soft- NUMA, TempDB optimization Windows Server 2016 지원 : AD 없이도 AlwaysOn AG 구성가능, 향상된 OS 기능활용가능 Always Encrypted: Application 의변경없이도향상된데이터보호가능 Row level security: 지정한정책 ( 사용자기준..) 에따라데이터접근수준조정가능 Dynamic data masking: 사용자권한에따라기밀데이터의 Masking 처리가능 In-memory columnstore: Batch 및 Pushdown 방식의쿼리성능향상 PolyBase: 기본 T-SQL 구문만으로도다양향데이터원천과의쿼리실행가능 DirectQuery: Excel, Power BI 혹은다른보고서툴등에서다양한 SQL Server Analysis Services 모델과연결가능하며 DirectQuery 모드를통해직접 OLTP 와연결및쿼리수행가능 향상된 SSIS: 이전버전의 SSIS Designer 지원, Power Query 지원 엔터프라이즈급 Analysis Services: 복잡도높은업무 ( 데이터 ) 를보다쉽게모델링할수있고, In-Memory 기술을활용한 Tabular 모드의기능향상 Visual Studio 2015 기반의 SSDT: 기존의 Visual Studio 2015 를이용할수있어하나의툴에서풍부한분석기반의프로젝트구현 Enhanced MDS: Excel add-in 15X faster, more granular security roles, archival options for transaction logs and reuse entities across models Mobile BI: Windows, ios 및 Android 를모두지원하며온프레미스의데이터에대한통찰력을현대적이고다양한차트등으로구현 향상된 Reporting Services: 보다세련되고다양한기능을제공하며일반적인웹브라우저는물론각종모바일디바이스에도최적화된보고서작성가능 기본탑재된 Advanced Analytics: SQL Server 를통해 R 을접할수있고, R 을통한데이터분석및그에대한예측등을손쉽게할수있도록기능제공 In database analytics: 데이터이동을최소화하여고급분석기능이용가능 Scale R / Distribute R / ConnectR Stretch Database: On-Premise 의이력데이터를 Aure 로자연스럽게이관하여저장비용절감가능, Always Encrypted 및 RLS 유지가능 On-Premise 의데이터로 Power BI 이용 : Analysis Services 와의연동가능. 실제데이터는 Cloud 가아닌본래의위치에저장되며 SSRS 에서작성한보고서를 Power BI 의대시보드에추가할수있는기능제공 SSIS 하이브리드시나리오 : SSIS 에서 Azure Data Factory 연결가능 Azure 로의백업 : 스토리지공간 50% 절감가능, Block blobs 스토리지를이용해대용량데이터베이스백업수행가능 On-premise 의 SQL Server 를손쉽게 Azure 마이그레이션 AlwaysOn 의 Azure Replica 를간편하게구성 : AlwaysOn 을통해 On-Premise 와 Azure 가쉽게결합되어고가용성과재해복구를동시에구성가능 개발, 운영, 관리가한자리에서가능한툴제공 SQL Server On-premise 에서의경험을그대로 Azure IaaS and PaaS 에서사용가능
IIS Server 일반사용자 데이터분석 복잡한시스템구성 (2대이상의서버필요 즉각적인데이터분석어려움발생 (OLTP > DW > Analysis > Report)
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
SQL Server Engine Ad-hoc Query & Stored Procedures Transaction Log Data File Group
SQL Server Engine In-Memory OLTP Compiler Native compiled SPs & Schema Ad-hoc Query & Stored Procedures In-Memory OLTP Engine: Memoryoptimized tables & indexes Memory-optimized File Group Transaction Log Data File Group
1000000) NONCLUSTERED HASH WITH (BUCKET_COUNT = HASH WITH (BUCKET_COUNT = 1000000) MEMORY_OPTIMIZED = ON DURABILITY = SCHEMA_AND_DATA
항목 SQL Server 2016 SQL Server 2014 Max Size (GB)* 2048 250 ALTER TABLE* (INDEX REBUILD) ADD/REMOVE COLUMN ADD/DROP/REBUILD (BUCKET_COUNT 조정 ) X ALTER PROCEDURE O X CONSTRAINT (FK, CHECK, UNIQUE) Offline checkpoint thr eads O Multiple X Single Collation Full Collations Support Limited (code page 1252) Parallelism O X Security TDE / Always Encrypted / RLS X LOB (n)varchar(max) / varbinary(max) X T-SQL 상당수제한완화 구문제약
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 및 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
CLUSTERED COLUMNSTORE
CLUSTERED COLUMNSTORE
CLUSTERED COLUMNSTORE
항목 SQL Server 2016 SQL Server 2014 Clustered Columnstore Index Non Clustered Columnstore Index 일정범위조건조회 10 배이상의압축효과기대가능 B-Tree (Non-Clustered) 인덱스추가가능 ( 일정범위쿼리에대한성능향상 ) PK 및 FK 제약조건설정가능 업데이트가능 OLTP 와 Analytics 겸용가능 Filtered NCCI 가능 분할된테이블적용가능 Non Clustered Index 적용으로일정범위에대한쿼리성능향상 10 배이상의압축효과기대가능 별도의인덱스추가불가능 PK 및 FK 제약조건설정불가 (Indexed View 활용 ) SQL Server 2012 에서처음소개 읽기전용 분할된테이블적용가능 파티션수준의스캔발생 인덱스스캔발생 Aggregate Pushdown (MIN, MAX, SUM, COUNT, AVG)
Table 'COLUMNSTORETABLE'. Scan count 36, logical reads 29976, physical reads 0, read-ahead reads 7591, lob logical reads 131824, lob physical reads 1, lob read-ahead reads 395064. Table 'COLUMNSTORETABLE'. Segment reads 88, segment skipped 260. Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 1268 ms, elapsed time = 10,522 ms. Table 'ROWSTORETABLE'. Scan count 36, logical reads 2770148, physical reads 58, read-ahead reads 499642, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 28545 ms, elapsed time = 151,264 ms. * COLUMNSTORE 테이블은약 9 천만건, ROWSTORE 테이블은약 2 천 5 백만건의데이터가존재하는상황에서수행한결과로동일데이터량이존재하는경우로고려하면 10.5 초와 543.6 초 (151 초의 3.6 배 ) 로약 52 배의쿼리수행속도차이를보임
In-memory ColumnStore 일반사용자 데이터분석 IIS Server In-memory OLTP
AlwaysOn AG Failover Clustering Database Mirroring Log Shipping 고가용성단위데이터베이스인스턴스데이터베이스데이터베이스 응용프로그램연결투명성 가용성그룹수신기 (Listener) 가상이름 (IP Address) Failover Partner 지정필요 - 읽기전용 읽기전용보조서버 - 데이터베이스스냅숏 STANDBY 모드 자동장애조치 O O O X 보조서버다수 - 단일다수 서버구성단일서버공유자원필요단일서버단일서버
Failover Cluster Instances Availability Groups 이전버전 (7.0) 부터사용 서버수준장애조치 Node1 Node2 시스템통합시나리오에다수적용 공유스토리지 (SAN / SMB) 30초 ~ 1분동안의장애조치시간 서버서비스재시작 Passive secondary SAN Nodes Read/Write Read Read SQL Server 2012에서소개데이터베이스수준장애조치 Primary Application 의기준에따라분리가능 직접연결된 Primary Auto 스토리지 Failover Secondary1 30 초이내의장애조치시간 보조서버는항상온라인 Sync Active Secondary Replicas Async Secondary2
Failover Cluster Instances Availability Groups 이전버전 (7.0) 부터사용서버수준장애조치 시스템통합시나리오에다수적용 공유스토리지 (SAN / SMB) 30초 ~ 1분동안의장애조치시간 서버서비스재시작 Passive secondary Nodes SQL Server 2012에서소개데이터베이스수준장애조치 Application 의기준에따라분리가능 직접연결된스토리지 30초이내의장애조치시간 보조서버는항상온라인 Active Secondary Replicas
구성마법사를통한쉬운구성 최대 8 개의보조복제본 Mart Backup Report 3 개의동기모드복제본 읽기전용라우터목록을통한로드밸런싱 Primary Replica1 Replica2 Replica3 장애조치중에도읽기전용연결지속 Azure VMs Basic AG 구성 (Standard Edition, 2 Nodes) Sync Auto Failover Async AD 없이 AG 구성가능 (Windows Server 2016)
AlwaysOn AG (HA+DR) 지역간통신 Azure 지역1 보조서버 Azure VPN tunnel Azure 지역 2 보조서버 Azure VPN 비동기모드 BI 확장 동기모드 주서버 보조서버 On-Premises
Write Read 환경 / 구성 Sync Async Backup 운영상황 Async Sync Variable devices `
Cloud 예측불가의요청증가에대한유연한확장 사용한만큼만비용지불 On-premises BUILD YOUR OWN 시스템구현을위한엄격한조건만족 안전하고효율적인데이터관리가능 PRE-ENGINEERED 성능에가장최적화되어구성된 H/W&S/W 제공 (APS) APS 대비비용절감이가능하며 DW 최적화환경제공 (FTDW) APS with HP CS300 +
SQL Server 2016: Everything built-in $ vs. $$$ On-premises 부터 Cloud 까지모두구성가능 *National Institute of Standards and Technology Comprehensive Vulnerability Database updated 5/4/2015