Download SQL Server 2014 Overview - Microsoft Center

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsoft Access wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Tandem Computers wikipedia , lookup

Functional Database Model wikipedia , lookup

Team Foundation Server wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Open Database Connectivity wikipedia , lookup

PL/SQL wikipedia , lookup

SQL wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Clusterpoint wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Transcript
| Basel
SQL Server 2014
Overview
Karl-Heinz Sütterlin
Technology Solution Professional DataPlatform
[email protected]
Microsoft Switzerland
SQL Server 2014 Overview
In-Memory OLTP
25’
Clustered Column Store
15’
Enhanced Features in SQL 2014
20’
Agenda
| Basel
Chapter 1/3
SQL Server 2014
In-Memory OLTP
In-Memory built in
Microsoft in-memory technologies
•
•
•
•
•
•
2014
2014
2012
2012
2014
In-Memory for OLTP
SQL Server engine
New high-performance, memory-optimized
OLTP engine integrated into SQL Server and
architected for modern hardware trends
Memory-optimized
table file group
Transaction log
Data file group
Drivers
In-Memory OLTP Tech Pillars
Benefits
In-Memory OLTP architecture
High-performance
data operations
Main-memory
optimized
•
•
•
•
Optimized for inmemory data
Indexes (hash and
range) exist only in
memory
No buffer pool
Stream-based storage
for durability
•
•
•
Frictionless scale-up
Efficient, businesslogic processing
Hybrid engine and
integrated experience
High concurrency
T-SQL compiled to
machine code
SQL Server
integration
Multiversion optimistic
concurrency control
with full ACID support
Core engine uses lockfree algorithms
No lock manager,
latches, or spinlocks
•
•
•
T-SQL compiled to
machine code via C
code generator and
Visual C compiler
Invoking a procedure is
just a DLL entry-point
Aggressive
optimizations at
compile time
Hardware trends
Steadily declining memory
price, NVRAM
Many-core processors
•
•
•
Same manageability,
administration, and
development
experience
Integrated queries and
transactions
Integrated HA and
backup/restore
Business
Stalling CPU clock rate
TCO
In-Memory OLTP summary
What’s being delivered
High-performance, memory-optimized OLTP engine integrated into SQL Server and
architected for modern hardware trends
Main benefits
Optimized for in-memory data up to 20–30 times throughput
 Indexes (hash and range) exist only in memory; no buffer pool, B-trees
 T-SQL compiled to machine code via C code generator and Visual C compiler
 Core engine uses lock-free algorithms; no lock manager, latches, or spinlocks
Multiversion optimistic concurrency control with full ACID support
On-ramp existing applications
Integrated experience with same manageability, administration, and development
experience
Demo
| Basel
Chapter 2/3
SQL Server 2014
ColumnStore
Traditional storage models
Data stored row-wise: heaps, B-trees, key-value
Relational, dimensional, and map reduce
…
Columnstore storage model
Data stored column-wise: columnstore
Each page stores data from a single
column
Highly compressed
More data fits in memory
Each column can be accessed
independently
Fetch only columns needed
Can dramatically decrease I/O
C1
C2
C3
C4
C5
C6
Columnstore index structure
Row groups and segments
A segment contains values for one column
for a set of rows
Segments for the same set of rows comprise
a row group
Segments are compressed
Each segment stored in a separate LOB
A segment acts as a unit of transfer between
disk and memory
Segments
C1
C2
C3
C4
C5
C6
Row
group
Columnstore index
Processing an example
Horizontally Partition
Row groups
Vertical Partition
Segments
Compress each segment*
Some compress more than others
*Encoding and reordering not shown
Fetch only needed columns
Segment elimination
Fetch only needed segments
Segment elimination
Structure of a columnstore index
How it works
CREATE CLUSTERED COLUMNSTORE
Partition
Organizes and compresses data into columnstore
BULK INSERT
Columnstore
Creates new columnstore row groups
INSERT
Rows are placed in the row store (heap)
When row store is big enough, a new columnstore row group is created
DELETE
Rows are marked in the deleted bitmap
UPDATE
Delete plus insert
Most data is in columnstore format
Row store
Deleted
bitmap
Comparing space savings
101-million row table and index space
19.7 GB
10.9 GB
6.9 GB
5.0 GB
4.0 GB
1.8 GB
1
2
3
4
5
6
Archival compression
What’s new?
Adds an additional layer of compression on top of the
inherent compression used by columnstore
Shrink on-disk database sizes by up to 27 percent
Compression applies per partition and can be set either during index creation or during rebuild
Columnstore enhancements summary
• What’s being delivered
• Clustered and updateable columnstore index
• Columnstore archive option for data compression
• Global batch aggregation
• Main benefits
• Real-time super fast data warehouse engine
• Ability to continue queries while updating without the need to drop and
recreate index or partition switching
• Huge disk space saving due to compression
• Ability to compress data 5–15x using archival per-partition compression
• Better performance and more efficient (less memory) batch query processing
using batch mode rather than row mode
Demo
| Basel
Chapter 3/3
SQL Server 2014
New & Enhanced Features
AlwaysOn in SQL Server 2014
• What’s being delivered
•
•
•
•
Increase number of secondaries from four to eight
Increase availability of readable secondaries
Support for Windows Server 2012 CSV
Enhanced diagnostics
• Main benefits
• Further scale out read workloads across (possibly geo-distributed) replicas
• Use readable secondaries despite network failures (important in geo-distributed environments)
• Improve SAN storage utilization
• Avoid drive letter limitation (max 24 drives) via CSV paths
• Increase resiliency of storage failover
• Ease troubleshooting
Hybrid cloud solutions
Typical configuration
SSD Buffer Pool Extension and scale up
• What’s being delivered
• Use of non-volatile drives (SSD) to extend buffer pool
• NUMA-Aware large page and BUF array allocation
• Main benefits
• BP extension for SSDs
• Improve OLTP query performance with no application changes
• No risk of data loss (using clean pages only)
• Easy configuration optimized for OLTP workloads on commodity servers (32 GB RAM)
Example:
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
(FILENAME = 'F:\SSDCACHE\EXAMPLE.BPE‘,
SIZE = 50 GB)
• Scalability improvements for systems with more than eight sockets
Query processing enhancements
• What’s being delivered
• New cardinality estimator
• Incremental statistics for partition
• Parallel SELECT INTO
• Main benefits
• Better query performance:
• Better choice of query plans
• Faster and more frequent statistics refresh on partition level
• Consistent query performance
• Better supportability using two steps (decision making and execution) to enable better query plan
troubleshooting
• Loading speed into table improved significantly using parallel operation
Online ops enhancements
• What’s being delivered
• Single partition online index rebuild
• Managing Lock Priority for table SWITCH and online index rebuild
• Built-in diagnostics
• Main benefits
• Increased concurrency and application availability
• New partition-level granularity for online index rebuild enables lower
resource (CPU/memory) usage for customers who need uninterrupted
access
• Provide customers with greater control over impacting running
transactions if using switch partition or online index rebuild commands
Separation of duties enhancement
• What’s being delivered
• Three new permissions (CONNECT ANY DATABASE, IMPERSONATE ANY LOGIN, and SELECT ALL
USER SECURABLES)
• Main benefit
• Greater role separation
• Ability to create new roles for database administrators who are not sysadmin (super user)
• Ability to create new roles for users or apps with specific purposes
Examples:
1. Database administrators but cannot see user data
2. Database administrators but cannot modify logins
3. Database administrators but cannot impersonate any logins
4. New roles (for example, auditors) to read all data but not database administrators
5. New roles to read all metadata for monitoring purposes (for example, SCOM) but cannot see user
data
6. New roles for middle tier app to impersonate any login except sa, sysadmin, or other high
privilege logins
Example
Database administrators who cannot see user data
-- Create a login
CREATE LOGIN Mary WITH PASSWORD = 'strongpassword'
-- Create a new server role and we will limit the access
CREATE SERVER ROLE MyLimitedAdmin AUTHORIZATION sysadmin
-- Add login Mary into the newly created server role
ALTER SERVER ROLE MyLimitedAdmin ADD MEMBER Mary
-- Add CONTROL SERVER permission to the new server role to manage the database instance
GRANT CONTROL SERVER to MyLimitedAdmin
-- However, we deny the new server role to see any user data but can do other DBA tasks,
such as backup the databases
DENY SELECT ALL USER SECURABLES to MyLimitedAdmin
IO Resource Governance
• What’s being delivered
• Add max/min IOPS per volume to Resource Governor pools
• Add DMVs and perfcounters for IO statistics per pool per volume
• Update SSMS Intellisense for new T-SQL
• Update SMO and DOM for new T-SQL and objects
• Main benefits
• Better isolation (CPU, memory, and IO) for multitenant workloads
• Guarantee performance in private cloud and hosters scenario
Resource Pools
Represents physical resources of server
Can have one or more workloads assigned to pool
Pool divided into shared and non-shared
Pools control min/max for CPU/memory and now IOPS
CREATE RESOURCE POOL pool_name
[ WITH
( [ MIN_CPU_PERCENT = value ]
[ [ , ] MAX_CPU_PERCENT = value ]
[ [ , ] CAP_CPU_PERCENT = value ]
[ [ , ] AFFINITY {SCHEDULER = AUTO |
(Scheduler_range_spec) | NUMANODE =
(NUMA_node_range_spec)} ]
[ [ , ] MIN_MEMORY_PERCENT = value ]
[ [ , ] MAX_MEMORY_PERCENT = value ]
[ [ , ] MIN_IOPS_PER_VOLUME = value ]
[ [ , ] MAX_IOPS_PER_VOLUME = value ])
]
Backup to Windows Azure
What’s being delivered
SQL Server supports backups to and restores from the Windows Azure Blob storage service
(T-SQL and PowerShell commandlets)
Main benefit: Take advantage of Windows Azure Blob storage
Flexible, reliable, and limitless off-site storage
Backup archive
No overhead of hardware management
Cost benefits
CREATE CREDENTIAL mystoragecred
WITH IDENTITY = ‘mystorage',
SECRET = ‘<your storage access key>
BACKUP DATABASE mydb TO URL ='https://mystorage.blob.core.windows.net/backupcontainer/mydb-20130411.bak'
WITH CREDENTIAL = ‘mystoragecred',
FORMAT, COMPRESSION, STATS = 5,
MEDIANAME = ‘mydb backup 20130411', MEDIADESCRIPTION = 'Backup of mydb'
Backup to Azure (Automatic)
• Agent that manages and automates SQL Server backup policy
• Large-scale management and no need to manage backup policy
•
•
•
Context-aware – for example, workload/throttling
Minimal knobs – control retention period
Manage whole instance or particular databases
• Take advantage of backup to Azure
•
•
•
•
Inherently off-site
Geo-redundant
Minimal storage costs
Zero hardware management
Example:
EXEC smart_admin.sp_set_db_backup
@database_name='TestDB',
@storage_url=<storage url>,
@retention_days=30,
@credential_name='MyCredential',
@enable_backup=1
Easy on-ramp to cloud
Download SQL Server 2014 CTP2
Call to action
Stay tuned for availability
www.microsoft.com/sqlserver