DBA/DW, BASIC
THAILAND
SQLServer
2012
Sneak Preview
Industry Trends
Digital data will grow >40x over the next decade
Key Take Away
Required 9s
Blazing Fast
Enhanced Consistent Data
and Visualization
Self Service BI
Superior DW
Scale
Cloud and On Premise
Anywhere
Provides Required 9s of Availability
Without Cost and Complexity
Mission Critical Availability • A unified, simplified solution
• Easy to deploy and Manage Integrated
Flexible
Efficient
•
•
•
•
AlwaysOn Availability Groups for database protection
AlwaysOn Failover Cluster Instances for instance level protection
AlwaysOn Availability Groups(AG)
AlwaysOn Availability Groups is a new feature that enhances and combines database mirroring and log shipping capabilities
Flexible Integrated Efficient
SQLServer 2012
Note: More secondaries (total upto 4) can be added for additional resiliency or read scaleout
Replace Database Mirroring and Log Shipping with Availability Group
Primary Data Center
Synchronous / Asynchronous
Disaster Recovery Data Center
Primary Secondary
Fileshare Witness
Synchronous
Secondary
Windows Server Failover Cluster
Availability Group
Availability Group Architecture
• Inter-node health detection,
• Failover coordination,
• Primary health detection,
• Distributed data store for settings and state,
• Distributed change notifications
Windows Server Failover Cluster
WSFC Common Microsoft Availability
Platform
Database Active Log Synchronization
Database Active Log Synchronization
Availability Group uses Windows Server Failover Cluster (WSFC) for
What about Server Objects?
• Introducing Contained Databases or CDB’s • Unit of application
programmability in Denali
• A DB which establishes a boundary between application and server
• CDBs sever the user–login relationship • Windows users no longer
need matching logins
• Users with passwords replace SQL logins
• CDB can be part of an availability group and can failover across replicas
• Authentication information moves with the CDB
• Limitation Other objects, like jobs are not contained and has to be managed
Application Failover
• Availability Groups Listener allow applications to failover seamlessly to any secondary
– Application reconnects using a virtual name after a failover to a secondary
AG_HR
HR DB
HR DB
Primary Secondary
HR_VNN
-server HR_Listener;-catalog HRDB
Application retry during failover Connect to new primary once failover is complete
and the listener is online
Primary Secondary Secondary
HR DB
ServerA ServerB ServerC
Active Secondary – Making Secondary
Readable
• Readable secondary allow offloading read queries to secondary
• Close to real-time data, latency of log synchronization impact data freshness
DB2 DB1
SQLservr.exe SQLservr.exe
InstanceA
DB2 DB1
Primary Secondary
InstanceB
Reports
Primary Secondary
Reports
Failover
Read-Only Client Connectivity
• Read-Only client connection behavior determined by Availability Replica Option+ ApplicationIntent Property
• ApplicationIntent is a connection property
• Replica option determines whether a replica is enabled for read access when in a secondary role
• Read-Only Routing enables redirection of client connection to new secondary on role change
• Enable seamless redirection of application connection across replicas without manual intervention
Active Secondary: Enabling Backup On
Secondary
• Backups can be done on any replica of a database
• Backups on primary replica still works
• Log backups done on all replicas form a single log chain
• Database Recovery Advisor makes restores simple
R/W workload
Primary
Backups
Secondary
Backups
Secondary
Backups
AlwaysOn Failover Cluster Instances (FCI)
• Multi-site SQL Server failover cluster architecture:
• A single Windows server failover cluster (WSFC) and SQL Server failover cluster instance (FCI) spanning across two sites to provide local High Availability as well as a Disaster Recovery solution
• Uses storage (SAN) level replication for data movement between sites
• Deployments: BigHammer, Queensland Rail, and many more …
subnet 2 subnet 1
SAN Replication
IP1: 192.168.1.30 IP2: 192.168.2.30
Corpnet
OR
Network Name: SqlClus
site 1 site 2
AlwaysOn Multi-site Failover Cluster Instance
Blazing Fast Performance
100x
…
C1 C2 C3 C5 C6 C4
BI Semantic Model
Data model
Business logic and queries
Data access ROLAP MOLAP VertiPaq Direct Query
MDX DAX
Multi- dimensional
Tabular
Third-party applications
Reporting Services Excel PowerPivot
Databases LOB Applications Files OData Feeds Cloud Services
SharePoint Insights
BI Semantic Model: Architecture
BI Semantic Model
• Rich data modeling
capabilities
• Sophisticated business
logic using MDX and
DAX
• Fine-grained security –
row/cell level
• Enterprise capabilities –
multi-language and
perspectives
• Multi-dimensional
and tabular
modeling
experiences
• MDX and DAX for
business logic and
queries
• Cached and
passthrough storage
modes
• Choice of end-user
BI tools
• VertiPaq for high performance, MOLAP for mission critical scale
• DirectQuery and ROLAP for real-time access to data sources
• State-of-the-art compression algorithms
• Scales to largest enterprise servers
• Flexibility • Richness • Scalability
How Should I Build my Model?
Data Model
Business Logic
Data Access and Storage
Recap: What Did We Do in 2008 R2?
• We invested heavily for Corporate BI • Shared DataSets
• Report parts, Report part gallery
• New Visualizations: Map, gauge, sparkline, databar, KPI
• Ajax Report viewer
• Tons of Customer DCRs
• We had to cut a few key scenarios: • Adhoc reporting
• Alerting
SQL Server Provides Rapid Data Exploration
Gartner, “Business Intelligence Purchase Drivers and Adoption Rates, 2009 Survey Results,” Bill Hostmann, Sept. 4, 2009
Only 28% of an organization has access to BI tools*
New SSRS SharePoint Integration Benefits
• SSRS SharePoint 2010 Shared Service
• Hosted in SharePoint Shared Service App pool
• SSRS catalog DBs are SharePoint Service App DBs
• WCF and Claims based communication
• PowerShell Cmdlets
• Central Admin UI for all RS administration
• ULS Logging integration
• Built-in scale-out and load balancer
• Report Performance Improvements
• For reports in AJAX Viewer
• Parity with Denali Native mode performance
• Top SharePoint mode pain point
• Small reports used to be 2-3 times slower: Fixed
• Faster than 2008 R2 SharePoint mode ~ 30-60%
• SQL Setup option for SSRS SharePoint service
Credible, Consistent Data
Versioning
Validation Authoring business rules to ensure
data correctness Modeling
Entities, Attributes, Hierarchies
Enabling Integration & Sharing
MDS Capabilities
MDS
Role-based Security and Transaction Annotation
Master Data Stewardship
External (CRM, ..) Excel DWH
Loading batched data through Staging Tables
Consuming data through Views
Registering to changes through APIs
Excel Add-In Web UI Data Matching
Workflow / Notifications
Knowledge Base
Batch Cleansing - Using SSIS
Matching Policy
Reference Data Definition
SSIS Data Flow
Source DQS Cleansing
Component
SSIS Package
Destination
DQS server
Values/Rules
Scalable Data Warehouse
Offerings
Effort to Build Variable Very Low Moderate Moderate Moderate Moderate Very Low
Capacity Variable 5 TB 14 TB 20 TB 40 TB 80TB 500 TB
Concurrency Variable Light Light Medium Medium High Very High
Query Complexity
Variable Medium Medium Medium Medium High Very High
Architecture SMP SMP SMP SMP SMP SMP MPP
Box Appliance Reference Architecture
Reference Architecture
Reference Architecture
Reference Architecture
Appliance
Scale On Demand
Private Cloud
Economics of cloud fuel evolution
Source: Alinean
Optimized Productivity
Developing Databases is Hard!
• Need to preserve data puts focus on ALTER scripts
• Dependencies make even simple tasks complex • Errors detected late • Drift has to be accommodated • Hard to synchronize app and database versions • Target different editions, cloud
There is a Better Way…
• Declarative not scripted
• Model-based design and validation
• Same tools when connected or offline
• Use schema differencing for
– Incremental import and deployment
– Drift detection and reconciliation
• Schema and app under source code control
• Test locally, deploy to SQL Server or SQL Azure
SQL Server Developer Tools code-
named “Juneau”
SSDT
SSDT Database Services
SSDT
Thank You