SlideShare une entreprise Scribd logo
1  sur  74
Télécharger pour lire hors ligne
Microsoft SQL Server
2014
NOVEDADES
Por Xavier Saladié
Julio 2014
Microsoft SQL Server 2014
What’s new?
• In-Memory OLTP
• New Cardinality Estimator
• Security Enhancements
• AlwaysOn Enhancements
• Resource Governor I/O
• Working with Azure
SQL Server 2014
In-Memory OLTP
SQL Server engine
In-memory OLTP
4
New high-performance, memory-optimized online
transaction processing (OLTP) engine integrated into
SQL Server and architected for modern hardware
trends
Memory-optimized
table file group
In-Memory OLTP
engine: Memory-
optimized tables &
indexes
Native compiled SPs
& schema
In-Memory OLTP
compiler
Transaction log Data file group
Buffer pool for tables
& indexes
Lock Manager
Proc/plan cache for
ad-hoc, T-SQL;
interpreter, plans, etc.
Parser,
catalog,
optimizer
Suitable application characteristics
5
• Application is suited for in-memory processing
‐ All performance critical data already fits in memory
‐ Transaction locking or physical latching causing stalls and
blocking
• Application is “OLTP-Like”
‐ Relatively short-lived transactions
‐ High degree of concurrent transactions from many
connections
‐ Examples: Stock trading, travel reservations, order
processing
• Application porting simplified if
‐ Stored procedures used
‐ Performance problems isolated to subset of tables and SPs
SQL Server integration
• Same manageability,
administration, and
development experience
• Integrated queries and
transactions
• Integrated HA and
backup/restore
Main-memory optimized
• Optimized for in-memory
data
• Indexes (hash and range)
exist only in memory
• No buffer pool
• Stream-based storage for
durability
High concurrency
• Multiversion optimistic
concurrency control with full
ACID support
• Core engine uses lock-free
algorithms
• No lock manager, latches, or
spinlocks
T-SQL compiled to
machine code
• 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
Steadily declining memory
price, NVRAM
Many-core processors Stalling CPU clock rate TCO
Hardware trends Business
Hybrid engine and
integrated experience
High-performance data
operations
Frictionless scale-up Efficient, business-logic
processing
BenefitsIn-MemoryOLTPTechPillarsDrivers
In-memory OLTP architecture
Main-memory optimized
• Optimized for in-memory
data
• Indexes (hash and ordered)
exist only in memory
• No buffer pool
• Stream-based storage for
durability
Steadily declining memory
price, NVRAM
Hardware trends
Design considerations for memory-optimized
tables
7
Table constructs
Fixed schema; no ALTER TABLE; must drop/recreate/reload
No LOB data types; row size limited to 8,060
No constraints support (primary key only)
No identity or calculated columns, or CLR
Data and table size considerations
Size of tables = (row size * # of rows)
Size of hash index = (bucket_count * 8 bytes)
Max size SCHEMA_AND_DATA = 512 GB
IO for durability
SCHEMA_ONLY vs. SCHEMA_AND_DATA
Memory-optimized filegroup
Data and delta files
Transaction log
Database recovery
High performance data
operations
BenefitsIn-MemoryOLTPTechPillarsDrivers
Create Table DDL
CREATE TABLE [Customer](
[CustomerID] INT NOT NULL
PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 1000000),
[Name] NVARCHAR(250) NOT NULL
INDEX [IName] HASH WITH (BUCKET_COUNT = 1000000),
[CustomerSince] DATETIME NULL
)
WITH ( MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
This table is memory
optimized
This table is durable
Secondary indexes are
specified inline
Hash index
Create Procedure DDL
CREATE PROCEDURE [dbo].[InsertOrder] @id INT, @date DATETIME
WITH
NATIVE_COMPILATION,
SCHEMABINDING,
EXECUTE AS OWNER
AS
BEGIN ATOMIC
WITH
(TRANSACTION
ISOLATION LEVEL = SNAPSHOT,
LANGUAGE = 'us_english')
-- insert T-SQL here
END
This proc is natively compiled
Native procs must be
schema-bound
Atomic blocks
• Create a transaction if
there is none
• Otherwise, create a
savepoint
Execution context is required
Session settings are fixed at
create time
High concurrency
• Multiversion optimistic
concurrency control
with full ACID support
• Core engine uses lock-
free algorithms
• No lock manager,
latches, or spinlocks
Many-core processors
Hardware trends
High-concurrency design considerations
10
Impact of no locks or latches
Write-write conflict: design application for condition with try.catch
Applications dependent on locking; may not be a good candidate
Multiple versions of records
Increases the memory needed by memory-optimized tables
Garbage Collection used to reclaim old versions
Transaction scope
Support for Isolation Levels: Snapshot, Repeatable Read, Serializable
Commit time validation; again must retry logic to deal with failure
Frictionless scale-up
BenefitsIn-MemoryOLTPTechPillarsDrivers
Example: Write conflict
11
Time Transaction T1 (SNAPSHOT) Transaction T2 (SNAPSHOT)
1 BEGIN
2 BEGIN
3 UPDATE t SET c1=‘bla’ WHERE c2=123
4 UPDATE t SET c1=‘bla’ WHERE
c2=123 (write conflict)
First writer wins
Guidelines for usage
12
1. Declare isolation level – no locking hints
2. Use retry logic to handle conflicts and validation
failures
3. Avoid using long-running transactions
T-SQL compiled to
machine code
• 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
Stalling CPU clock rate
Hardware trends
Design considerations for native compiled stored
procedures
13
Efficient business-logic
processing
BenefitsIn-MemoryOLTPTechPillarsDrivers
Native compiled stored
procedures
Non-native
compilation
Performance High. Significantly less
instructions to go through
No different than T-SQL calls
in SQL Server today
Migration strategy Application changes;
development overhead
Easier app migration as can
still access memory-
optimized tables
Access to objects Can only interact with
memory-optimized tables
All objects; access for
transactions across memory
optimized and B-tree tables
Support for T-SQL constructs Limited T-SQL surface area (limit on
memory-optimized
interaction)
Optimization, stats, and query
plan
Statistics utilized at CREATE -
> Compile time
Statistics updates can be used
to modify plan at runtime
Flexibility Limited (no ALTER procedure,
compile-time isolation level)
Ad-hoc query patterns
Performance gains
14
In-Memory
OLTP
Compiler
In-Memory
OLTP
Component
Memory-optimized Table
Filegroup
Data Filegroup
SQL Server.exe
In-Memory OLTP Engine for
Memory_optimized Tables &
Indexes
TDS Handler and Session Management
Natively Compiled
SPs and Schema
Buffer Pool for Tables & Indexes
Proc/Plan cache for ad-hoc T-
SQL and SPs
Client App
Transaction Log
Interpreter for TSQL, query
plans, expressions
Query
Interop
Access Methods
Parser,
Catalog,
Algebrizer,
Optimizer
10-30x more efficient
Reduced log bandwidth
& contention. Log
latency remains
Checkpoints are
background sequential
IO
No improvements in
communication stack,
parameter passing,
result set generation
Key
Existing SQL
Component
Generated .dll
In-memory data structures
15
Rows
• New row format
Structure of the row is optimized for memory residency and
access
• One copy of row
Indexes point to rows, they do not duplicate them
Indexes
• Hash index for point lookups
• Memory-optimized nonclustered index for range and
ordered scans
• Do not exist on disk – recreated during recovery
Memory-optimized table: Row format
Key Points
• Begin/End timestamp determines row’s validity
• No data or index page; just rows
• Row size limited to 8060 bytes to allow data to be moved to disk-based table
• Not every SQL table schema is supported
Row header Payload (table columns)
Begin Ts End Ts StmtId IdxLinkCount
8 bytes 8 bytes 4 bytes 2 bytes
8 bytes * (IdxLinkCount – 1)
Key lookup: B-tree vs. memory-optimized table
Matching index record
Hash index
on Name
R1 R2
R3
Non-clustered index
OLTP Rocket Science
• No DML triggers
• No FOREIGN KEY or CHECK constraints
• No IDENTITY columns
• 8060 byte hard limit for row length
• No UNIQUE indexes other than for the PRIMARY KEY
• A maximum of 8 indexes, including the index supporting the PRIMARY
KEY
• No schema changes are allowed once a table is created (drop/recreate)
• Indexes are always and ONLY created at as part of the table creation
In-Memory OLTP Limitations
Indexes Comparison for different kinds of operations
Operation Memory hash Memory nonclustered Disk
Index Scan, retrieve all table rows. Yes Yes Yes
Index seek (=). Yes (Full key required.) Yes 1 Yes
Index seek (>, <, <=, >=,
BETWEEN).
No (index scan) Yes 1 Yes
Retrieve rows in a sort-order
matching the index definition.
No Yes Yes
Retrieve rows in a sort-order
matching the reverse of the index
definition.
No No Yes
Memory management
21
Data resides in memory at all times
• Must configure SQL server with sufficient memory to store
memory-optimized tables
• Failure to allocate memory will fail transactional workload at
run-time
• Integrated with SQL Server memory manager and reacts to
memory pressure where possible
Integration with Resource Governor
• “Bind” a database to a resource pool
• Mem-opt tables in a database cannot exceed the limit of
the resource pool
• Hard limit (80% of phys. memory) to ensure system remains
stable under memory pressure
Garbage collection
22
Stale Row Versions
• Updates, deletes, and aborted insert operations create
row versions that (eventually) are no longer visible to
any transaction
• Slow down scans of index structures
• Create unused memory that needs to be reclaimed (i.e.
Garbage Collected)
Garbage Collection (GC)
• Analogous to version store cleanup task for disk-based
tables to support Read Committed Snapshot (RCSI)
• System maintains ‘oldest active transaction’ hint
GC Design
• Non-blocking, Cooperative, Efficient, Responsive,
Scalable
• A dedicated system thread for GC
• Active transactions work cooperatively and pick up
parts of GC work
Cooperative garbage collection
Key Points
• Scanners can remove expired rows when
found
• Offloads work from GC thread
• Ensures that frequently visited areas of the
index are cleaned regularly
• A row needs to be removed from all indexes
before memory can be freed
• Garbage collection is most efficient if all
indexes are frequently accessed
100 200 1 John Smith Kirkland
200 ∞ 1 John Smith Redmond
50 100 1 Jim Spring Kirkland
300 ∞ 1 Ken Stone Boston
TX4: Begin = 210
Oldest Active Hint = 175
Durability
24
Memory-optimized tables can be durable or non-durable
• Default is ‘durable’
• Non-durable tables are useful for transient data
Durable tables are persisted in a single memory-optimized
file group
Storage used for memory-optimized has a different access pattern
than for disk tables
File group can have multiple containers (volumes)
Additional containers aid in parallel recovery; recovery happens at
the speed of IO
On-disk storage
25
Filestream is the underlying storage mechanism
Checksums and single-bit correcting ECC on files
Data files
• ~128MB in size, write 256KB chunks at a time
• Stores only the inserted rows (i.e. table content)
• Chronologically organized streams of row versions
Delta files
• File size is not constant, write 4KB chunks at a time.
• Stores IDs of deleted rows
Logging for memory-optimized tables
26
Uses SQL transaction log to store content
Each log record contains a log record header followed by opaque
memory optimized-specific log content
All logging for memory-optimized tables is logical
• No log records for physical structure modifications.
• No index-specific / index-maintenance log records.
• No UNDO information is logged
Recovery Models
All three recovery models are supported
Backup for memory-optimized tables
27
Integrated with SQL Database Backup
• Memory-Optimized file group is backed up as part SQL Server
database backup
• Existing backup scripts work with minimal or no changes
• Transaction log backup includes memory-optimized log records
Not supported
Differential backup
Recovery for memory-optimized tables
28
Analysis Phase
Finds the last completed checkpoint
Data Load
• Load from set of data/delta files from the last completed
checkpoint
• Parallel Load by reading data/delta files using 1 thread / file
Redo phase to apply tail of the log
• Apply the transaction log from last checkpoint
• Concurrent with REDO on disk-based tables
No UNDO phase for memory-optimized tables
Only committed transactions are logged
Myth #1
Reality
SQL Server In-Memory OLTP is a recent
response to competitors’ offerings
Myth #2
Reality
In-Memory OLTP is like DBCC PINTABLE
Myth #3
Reality
In-Memory Databases are new separate
products
Myth #4
Reality
You can use In-Memory OLTP in an existing
SQL Server app with NO changes whatsoever
Myth #5
Reality
Since tables are in memory, the data is not
Durable or Highly Available – I will lose it after
server crash
Demo
In-Memory Tables Performance
In-memory OLTP summary
35
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
SQL Server 2014
Cardinality Enhancements
Cardinality
37
• Execution Plans uses Cardinality in order to get an estimation of number of rows
for each query
• Although the new cardinality still works based on Statistics the algorithm has been
dramatically changed
• Databases in native compatibility level (120) works with the new estimator version
• Change that behavior with the OPTION (QUERYTRACEON 9481) to still be
executed with the old version (per Query basis)
• Databases in compatibility level 110 could be executed with the new version when
using QUERYTRACEON 2312 hint (per Query basis)
Scenarios
38
• New cardinality estimates use an average cardinality for recently added ascending
data (ascending key problem) without Statistics Update
‐ Old Version estimates 0 rows
‐ New Version uses average cardinality
• New cardinality estimates assume filtered predicates on the same table have some
correlation
‐ Old and New Version depends on the specific sample
• New cardinality estimates assume filtered predicates on different tables are
independent
‐ Old and New Version depends on the specific sample
39
• Check the performance of your workloads and do the math
‐ Compatibility Level 110
‐ Compatibility Level 110 and add OPTION (QUERYTRACEON 2312) to some querys
‐ Native Compatibility Level (120)
‐ Native Compatibility Level (120) and add OPTION (QUERYTRACEON 9481) to some querys
Suggestions
Demo
Cardinality
SQL Server 2014
Security Enhancements
Separation of duties enhancement
• Four new permissions
‐ CONNECT ANY DATABASE (server scope)
‐ IMPERSONATE ANY LOGIN (server scope)
‐ SELECT ALL USER SECURABLES (server scope)
‐ ALTER ANY DATABASE EVEN SESSION (database scope)
• Main benefit
‐ Greater role separation to restrict multiple DBA roles
‐ 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
Best practices for separation of duties
• Eliminate the use of superusers (SA login, SYSADMIN server
role, DBO database user)
• Use permission system rather than superuser
• Use CONTROL SERVER (server level) and CONTROL DATABASE
(database level) instead and use DENY for specifics
• Always document the user of ownership chains
Backup encryption
• Increase security of backups stored separate from the instance
(another environment such as the Cloud)
• Encryption keys can be stored on-premises while backup files
in the cloud
• Support non-encrypted databases (don’t need to turn on
Transparent Data Encryption anymore)
• Different policies for databases and their backups
T-SQL BACKUP / RESTORE
BACKUP DATABASE <dbname> TO <device> = <path to device>
WITH
ENCRYPTION
(
ALGORITHM = <Algorithm_name> ,
{ SERVER CERTIFICATE = <Encryptor_Name> |
SERVER ASYMMETRIC KEY = <Encryptor_Name> }
);
No changes to RESTORE
T-SQL views
• msdb.dbo.backupset
• msdb.dbo.backupmediaset
backup_set_id name key_algorithm encryptor_thumbprint encryptor_type
3 Full Backup NULL NULL NULL
4 Full Backup aes_256 0x00B1BD62DAA0196 CERTIFICATE
media_set_id is_password_protected is_compressed is_encrypted
3 0 1 0
4 0 1 1
Additional details
• AES 128, AES 192, AES 256, and Triple DES
• Unique backup key is generated for each backup
• Certificate
• Asymmetric key from an EKM provider only
• All operations require certificate or key
• Appended backup is not supported
• Compression has no effect on pre-encrypted databases
SQL Server 2014
AlwaysOn Enhancements
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
Description
• Increase number of secondaries (4–8)
• Max number of sync secondaries is still two
Increase number of Availability Group secondaries
Reason
• Customers want to use readable secondaries
• One technology to configure and manage
• Many times faster than replication
• Customers are asking for more database replicas (4–8)
• To reduce query latency (large-scale environments)
• To scale out read workloads
Description
Allow FCI customers to configure CSV paths for system and user databases
Support for Windows Server Cluster Shared Volumes
Reason
• Avoid drive letter limitation on SAN (max 24 drives)
• Improves SAN storage utilization and management
• Increased resiliency of storage failover (abstraction of temporary disk-level
failures)
• Migration of SQL Server customers using PolyServe (to be discontinued in 2013)
Description
Allow FCI customers to configure CSV paths for system and user databases
Support for Windows Server Cluster Shared Volumes
Reason
• Avoid drive letter limitation on SAN (max 24 drives)
• Improves SAN storage utilization and management
• Increased resiliency of storage failover (abstraction of temporary disk-level
failures)
• Migration of SQL Server customers using PolyServe (to be discontinued in 2013)
SQL Server 2014
Resource Governor with IO
Resource Governor goals
• Ability to differentiate workloads
• Ability to monitor resource usage per group
• Limit controls to enable throttled execution or
prevent/minimize probability of “run-aways”
• Prioritize workloads
• Provide predictable execution of workloads
• Specify resource boundaries between workloads
Resource Governor components
Complete 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 ])
]
Resource pools
• Minimums across all resource pools can not exceed 100
percent
• Non-shared portion provides minimums
• Shared portion provides maximums
• Pools can define min/max for CPU/Memory/IOPS
‐ Mins defined non-shared
‐ Max defined shared
Steps to implement Resource Governor
• Create workload groups
• Create function to classify requests into workload group
• Register the classification function in the previous step with the
Resource Governor
• Enable Resource Governor
• Monitor resource consumption for each workload group
• Use monitor to establish pools
• Assign workload group to pool
Resource Governor scenarios
• Scenario 1: I just got a new version of SQL Server and would
like to make use of resource governor. How can I use it in my
environment?
• Scenario 2 (based on Scenario 1): Based on monitoring results I
would like to see an event any time a query in the ad-hoc
group (groupAdhoc) runs longer than 30 seconds.
• Scenario 3 (based on Scenario 2): I want to further restrict the
ad-hoc group so it does not exceed 50 percent of CPU usage
when all requests are cumulated.
Monitoring Resource Governor
• System views
‐ sys.resource_governor_resource_pools
‐ sys.resource_governor_configuration
• DMVs
‐ sys.dm_resource_governor_resource_pools
‐ sys.dm_resource_governor_resource_pool_volumes
‐ sys.dm_resource_governor_configuration
• New performance counters
‐ SQL Server:Resource Pool Stats
‐ SQL Server:Workload group
• XEvents
‐ file_read_enqueued
‐ file_write_enqueued
SQL Server 2014
Backup to Cloud
Backup to Windows Azure
What’s being delivered
• SQL Server supports backups to and restores from the Windows Azure Blob storage service
(UI, T-SQL, PowerShell commandlets)
Main benefit: Take advantage of Windows Azure Blob storage
• Flexible, reliable (3-copies geo-DR), and limitless off-site storage
• No need of backup media management
• No overhead of hardware management
CREATE CREDENTIAL mystoragecred
WITH IDENTITY = ‘mystorage',
SECRET = ‘<your storage access key>
BACKUP DATABASE mydb TO URL ='https://mystorage.blob.core.windows.net/backup-container/mydb-
20130411.bak'
WITH CREDENTIAL = ‘mystoragecred',
FORMAT, COMPRESSION, STATS = 5,
MEDIANAME = ‘mydb backup 20130411', MEDIADESCRIPTION = 'Backup of mydb'
Backup to Windows Azure
Windows Azure
storage
WA
WindowsAzure
Blobs
• On-site/off-site storage costs
• Device management costs
Box
• XDrives limited to 1 terabyte
• Max 16 drives
• Manage drives and policy
• Near “bottomless” storage
• Off-site, geo-redundant
• No provisioning
• No device management
• Media safety (decay-free)
• Remote accessibility
Backup to Windows Azure
• Simple configuration UI
• Easy creation of Azure credential
• No overhead
Backup to Windows Azure Tool
• What is it?
‐ Stand-alone Tool that adds backup to Windows
Azure capabilities and backup encryption to prior
versions of SQL Server
• Benefits
‐ One Cloud Backup strategy across prior versions of
SQL Server including 2005, 2008, and 2008 R2
‐ Adds backup encryption to prior versions, locally or
in the cloud
‐ Takes advantage of backup to Azure
‐ Easy configuration
Managed backup to Azure
• What’s being delivered
‐ Agent that manages and automates SQL Server
backup policy
• Main benefit
‐ 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
SQL Server 2014
Database Data and Log
Files in Azure Storage
SQL Server data and log files in Windows Azure
storage
• What’s being delivered
‐ Ability to move data and log files in Windows Azure
Storage, while keeping the compute node of SQL
Server on-premises
‐ Transparent Data Encryption (TDE) is supported
• Main benefits
‐ No application changes required
‐ Centralized copy of data and log files
‐ Enjoy unlimited storage capacity in Azure Storage
(built in HA, SLA, geo-DR)
‐ Secure because TDE encryption key can be stored
on-premises
‐ Restore database is simply an attach operation
SQL Server data and log files in Windows Azure
storage
SQL Server 2014
Deploy Database to
Windows Azure Wizard
Easy on-ramp to cloud
Deploy databases to Windows Azure VM
• What’s being delivered
‐ New wizard to deploy databases to SQL
Server in Windows Azure VM
‐ Can also create a new Windows Azure VM
if needed
• Main benefits
‐ Easy to use
 Perfect for database administrators new to
Azure and for ad hoc scenarios
‐ Complexity hidden
 Detailed Azure knowledge not needed
 Almost no overhead: defining factor for
time-to-transfer is database size
Call to
action
• Download Trial SQL Server 2014
http://technet.microsoft.com/en-US/evalcenter/dn205290.aspx
• Trial Azure
http://azure.microsoft.com/en-us/pricing/free-trial/
• SQL Server
http://www.microsoft.com/SQLServer

Contenu connexe

Tendances

SQL Explore 2012: P&T Part 2
SQL Explore 2012: P&T Part 2SQL Explore 2012: P&T Part 2
SQL Explore 2012: P&T Part 2sqlserver.co.il
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4Gianluca Hotz
 
SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)
SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)
SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)BT Akademi
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017Gianluca Hotz
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 PerformanceMYXPLAIN
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 
My sql performance tuning course
My sql performance tuning courseMy sql performance tuning course
My sql performance tuning courseAlberto Centanni
 
SQL Explore 2012: P&T Part 3
SQL Explore 2012: P&T Part 3SQL Explore 2012: P&T Part 3
SQL Explore 2012: P&T Part 3sqlserver.co.il
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices Ted Wennmark
 
SQL 2014 In-Memory OLTP
SQL 2014 In-Memory  OLTPSQL 2014 In-Memory  OLTP
SQL 2014 In-Memory OLTPAmber Keyse
 
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)SQL Server Best Practices - Install SQL Server like a boss (RELOADED)
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)Andre Essing
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014Ryusuke Kajiyama
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB plc
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBob Ward
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8 Ted Wennmark
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLMorgan Tocker
 
Introducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQLIntroducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQLMariaDB plc
 
Evolution of DBA in the Cloud Era
 Evolution of DBA in the Cloud Era Evolution of DBA in the Cloud Era
Evolution of DBA in the Cloud EraMydbops
 
Remote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts
 

Tendances (20)

SQL Explore 2012: P&T Part 2
SQL Explore 2012: P&T Part 2SQL Explore 2012: P&T Part 2
SQL Explore 2012: P&T Part 2
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
 
SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)
SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)
SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)
 
MySQL Tuning
MySQL TuningMySQL Tuning
MySQL Tuning
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 Performance
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 
My sql performance tuning course
My sql performance tuning courseMy sql performance tuning course
My sql performance tuning course
 
SQL Explore 2012: P&T Part 3
SQL Explore 2012: P&T Part 3SQL Explore 2012: P&T Part 3
SQL Explore 2012: P&T Part 3
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
 
SQL 2014 In-Memory OLTP
SQL 2014 In-Memory  OLTPSQL 2014 In-Memory  OLTP
SQL 2014 In-Memory OLTP
 
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)SQL Server Best Practices - Install SQL Server like a boss (RELOADED)
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
 
Introducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQLIntroducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQL
 
Evolution of DBA in the Cloud Era
 Evolution of DBA in the Cloud Era Evolution of DBA in the Cloud Era
Evolution of DBA in the Cloud Era
 
Remote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New Features
 

En vedette

netmind: Certificaciones PMI
netmind: Certificaciones PMInetmind: Certificaciones PMI
netmind: Certificaciones PMInetmind
 
¿Es cara la arquitectura empresarial?
¿Es cara la arquitectura empresarial?¿Es cara la arquitectura empresarial?
¿Es cara la arquitectura empresarial?Matersys
 
netmind - Introducción al Business Analysis
netmind - Introducción al Business Analysisnetmind - Introducción al Business Analysis
netmind - Introducción al Business Analysisnetmind
 
Certificaciones en Gestión de Proyectos
Certificaciones en Gestión de ProyectosCertificaciones en Gestión de Proyectos
Certificaciones en Gestión de Proyectosnetmind
 
Tendencias TIC: Seminario de netmind para Orange
Tendencias TIC: Seminario de netmind para OrangeTendencias TIC: Seminario de netmind para Orange
Tendencias TIC: Seminario de netmind para Orangenetmind
 
Tendencias en la Economía Digital: Big Data, Cloud y Movilidad
Tendencias en la Economía Digital: Big Data, Cloud y MovilidadTendencias en la Economía Digital: Big Data, Cloud y Movilidad
Tendencias en la Economía Digital: Big Data, Cloud y Movilidadnetmind
 
Certificaciones Profesionales TIC
Certificaciones Profesionales TICCertificaciones Profesionales TIC
Certificaciones Profesionales TICnetmind
 
Transición a Proyectos Ágiles - netmind
Transición a Proyectos Ágiles - netmindTransición a Proyectos Ágiles - netmind
Transición a Proyectos Ágiles - netmindnetmind
 
Seminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológicoSeminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológiconetmind
 
Gigatic 2015 - Digital business through it people
Gigatic 2015 - Digital business through it peopleGigatic 2015 - Digital business through it people
Gigatic 2015 - Digital business through it peoplenetmind
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágilesnetmind
 
Arquitectura Empresarial
Arquitectura EmpresarialArquitectura Empresarial
Arquitectura EmpresarialBOC Ibérica
 
Project Management & Business Analysis
Project Management & Business AnalysisProject Management & Business Analysis
Project Management & Business Analysisnetmind
 
Tech tuesday Big data with horton works
Tech tuesday Big data with horton worksTech tuesday Big data with horton works
Tech tuesday Big data with horton worksnetmind
 
Gic vista desde los procesos de negocio
Gic vista desde los procesos de negocioGic vista desde los procesos de negocio
Gic vista desde los procesos de negocioMarta Silvia Tabares
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2netmind
 
NETMIND - Catálogo de Formación 2014 -2015
NETMIND - Catálogo de Formación 2014 -2015NETMIND - Catálogo de Formación 2014 -2015
NETMIND - Catálogo de Formación 2014 -2015netmind
 
Alineación del departamento de TI con el negocio
Alineación del departamento de TI con el negocioAlineación del departamento de TI con el negocio
Alineación del departamento de TI con el negocionetmind
 
Techtuesday Arquitectura Empresarial
Techtuesday Arquitectura Empresarial Techtuesday Arquitectura Empresarial
Techtuesday Arquitectura Empresarial netmind
 
Uml for IT Business Analyst a practical guide
Uml for IT Business Analyst a practical guideUml for IT Business Analyst a practical guide
Uml for IT Business Analyst a practical guideRicardo Quezada Rey
 

En vedette (20)

netmind: Certificaciones PMI
netmind: Certificaciones PMInetmind: Certificaciones PMI
netmind: Certificaciones PMI
 
¿Es cara la arquitectura empresarial?
¿Es cara la arquitectura empresarial?¿Es cara la arquitectura empresarial?
¿Es cara la arquitectura empresarial?
 
netmind - Introducción al Business Analysis
netmind - Introducción al Business Analysisnetmind - Introducción al Business Analysis
netmind - Introducción al Business Analysis
 
Certificaciones en Gestión de Proyectos
Certificaciones en Gestión de ProyectosCertificaciones en Gestión de Proyectos
Certificaciones en Gestión de Proyectos
 
Tendencias TIC: Seminario de netmind para Orange
Tendencias TIC: Seminario de netmind para OrangeTendencias TIC: Seminario de netmind para Orange
Tendencias TIC: Seminario de netmind para Orange
 
Tendencias en la Economía Digital: Big Data, Cloud y Movilidad
Tendencias en la Economía Digital: Big Data, Cloud y MovilidadTendencias en la Economía Digital: Big Data, Cloud y Movilidad
Tendencias en la Economía Digital: Big Data, Cloud y Movilidad
 
Certificaciones Profesionales TIC
Certificaciones Profesionales TICCertificaciones Profesionales TIC
Certificaciones Profesionales TIC
 
Transición a Proyectos Ágiles - netmind
Transición a Proyectos Ágiles - netmindTransición a Proyectos Ágiles - netmind
Transición a Proyectos Ágiles - netmind
 
Seminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológicoSeminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológico
 
Gigatic 2015 - Digital business through it people
Gigatic 2015 - Digital business through it peopleGigatic 2015 - Digital business through it people
Gigatic 2015 - Digital business through it people
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágiles
 
Arquitectura Empresarial
Arquitectura EmpresarialArquitectura Empresarial
Arquitectura Empresarial
 
Project Management & Business Analysis
Project Management & Business AnalysisProject Management & Business Analysis
Project Management & Business Analysis
 
Tech tuesday Big data with horton works
Tech tuesday Big data with horton worksTech tuesday Big data with horton works
Tech tuesday Big data with horton works
 
Gic vista desde los procesos de negocio
Gic vista desde los procesos de negocioGic vista desde los procesos de negocio
Gic vista desde los procesos de negocio
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
NETMIND - Catálogo de Formación 2014 -2015
NETMIND - Catálogo de Formación 2014 -2015NETMIND - Catálogo de Formación 2014 -2015
NETMIND - Catálogo de Formación 2014 -2015
 
Alineación del departamento de TI con el negocio
Alineación del departamento de TI con el negocioAlineación del departamento de TI con el negocio
Alineación del departamento de TI con el negocio
 
Techtuesday Arquitectura Empresarial
Techtuesday Arquitectura Empresarial Techtuesday Arquitectura Empresarial
Techtuesday Arquitectura Empresarial
 
Uml for IT Business Analyst a practical guide
Uml for IT Business Analyst a practical guideUml for IT Business Analyst a practical guide
Uml for IT Business Analyst a practical guide
 

Similaire à Novedades SQL Server 2014

SQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationSQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationDavid J Rosenthal
 
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...Microsoft
 
SQL Server In-Memory OLTP: What Every SQL Professional Should Know
SQL Server In-Memory OLTP: What Every SQL Professional Should KnowSQL Server In-Memory OLTP: What Every SQL Professional Should Know
SQL Server In-Memory OLTP: What Every SQL Professional Should KnowBob Ward
 
Hekaton introduction for .Net developers
Hekaton introduction for .Net developersHekaton introduction for .Net developers
Hekaton introduction for .Net developersShy Engelberg
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore IndexSolidQ
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
Best Practices –  Extreme Performance with Data Warehousing  on Oracle Databa...Best Practices –  Extreme Performance with Data Warehousing  on Oracle Databa...
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...Edgar Alejandro Villegas
 
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerGeek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerIDERA Software
 
Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7MarketingArrowECS_CZ
 
Best storage engine for MySQL
Best storage engine for MySQLBest storage engine for MySQL
Best storage engine for MySQLtomflemingh2
 
An introduction to column store indexes and batch mode
An introduction to column store indexes and batch modeAn introduction to column store indexes and batch mode
An introduction to column store indexes and batch modeChris Adkin
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analyticsGUSS
 
Jss 2015 in memory and operational analytics
Jss 2015   in memory and operational analyticsJss 2015   in memory and operational analytics
Jss 2015 in memory and operational analyticsDavid Barbarin
 
SQL Server 2014 Memory Optimised Tables - Advanced
SQL Server 2014 Memory Optimised Tables - AdvancedSQL Server 2014 Memory Optimised Tables - Advanced
SQL Server 2014 Memory Optimised Tables - AdvancedTony Rogerson
 
MemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks WebcastMemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks WebcastSingleStore
 
MySQL: Know more about open Source Database
MySQL: Know more about open Source DatabaseMySQL: Know more about open Source Database
MySQL: Know more about open Source DatabaseMahesh Salaria
 
Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Antonios Chatzipavlis
 

Similaire à Novedades SQL Server 2014 (20)

SQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationSQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
 
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...
 
SQL Server In-Memory OLTP: What Every SQL Professional Should Know
SQL Server In-Memory OLTP: What Every SQL Professional Should KnowSQL Server In-Memory OLTP: What Every SQL Professional Should Know
SQL Server In-Memory OLTP: What Every SQL Professional Should Know
 
Hekaton introduction for .Net developers
Hekaton introduction for .Net developersHekaton introduction for .Net developers
Hekaton introduction for .Net developers
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore Index
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
Best Practices –  Extreme Performance with Data Warehousing  on Oracle Databa...Best Practices –  Extreme Performance with Data Warehousing  on Oracle Databa...
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
 
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerGeek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
 
Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7
 
Best storage engine for MySQL
Best storage engine for MySQLBest storage engine for MySQL
Best storage engine for MySQL
 
An introduction to column store indexes and batch mode
An introduction to column store indexes and batch modeAn introduction to column store indexes and batch mode
An introduction to column store indexes and batch mode
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics
 
Jss 2015 in memory and operational analytics
Jss 2015   in memory and operational analyticsJss 2015   in memory and operational analytics
Jss 2015 in memory and operational analytics
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
SQL Server 2014 Memory Optimised Tables - Advanced
SQL Server 2014 Memory Optimised Tables - AdvancedSQL Server 2014 Memory Optimised Tables - Advanced
SQL Server 2014 Memory Optimised Tables - Advanced
 
MemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks WebcastMemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks Webcast
 
MySQL: Know more about open Source Database
MySQL: Know more about open Source DatabaseMySQL: Know more about open Source Database
MySQL: Know more about open Source Database
 
Hekaton (xtp) introduction
Hekaton (xtp) introductionHekaton (xtp) introduction
Hekaton (xtp) introduction
 
Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014
 
Cassandra training
Cassandra trainingCassandra training
Cassandra training
 

Plus de netmind

Kanban Method Lean Kanban University
Kanban Method Lean Kanban UniversityKanban Method Lean Kanban University
Kanban Method Lean Kanban Universitynetmind
 
DSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management OfficesDSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management Officesnetmind
 
Team Kanban Practitioner
Team Kanban PractitionerTeam Kanban Practitioner
Team Kanban Practitionernetmind
 
KMP I: Kanban System Design
KMP I: Kanban System DesignKMP I: Kanban System Design
KMP I: Kanban System Designnetmind
 
DASA Meetup Madrid 2018
DASA Meetup Madrid 2018DASA Meetup Madrid 2018
DASA Meetup Madrid 2018netmind
 
Escape from Earth en PMI ® EMEA 2018
Escape from Earth en PMI ® EMEA 2018Escape from Earth en PMI ® EMEA 2018
Escape from Earth en PMI ® EMEA 2018netmind
 
Las 5 claves de la gamificación en el aprendizaje de COBIT®
Las 5 claves de la gamificación en el aprendizaje de COBIT®Las 5 claves de la gamificación en el aprendizaje de COBIT®
Las 5 claves de la gamificación en el aprendizaje de COBIT®netmind
 
DevOps - Certificación oficial DASA
DevOps - Certificación oficial DASADevOps - Certificación oficial DASA
DevOps - Certificación oficial DASAnetmind
 
Comunidades de Práctica
Comunidades de PrácticaComunidades de Práctica
Comunidades de Prácticanetmind
 
PMBOK® 6ª edición NOVEDADES
PMBOK® 6ª edición NOVEDADESPMBOK® 6ª edición NOVEDADES
PMBOK® 6ª edición NOVEDADESnetmind
 
CERTIFICACIONES PMI®
CERTIFICACIONES PMI®CERTIFICACIONES PMI®
CERTIFICACIONES PMI®netmind
 
Seminario Tendencias en Gestión de Proyectos
Seminario Tendencias en Gestión de ProyectosSeminario Tendencias en Gestión de Proyectos
Seminario Tendencias en Gestión de Proyectosnetmind
 
MSP Managing Successful Programmes
MSP Managing Successful ProgrammesMSP Managing Successful Programmes
MSP Managing Successful Programmesnetmind
 
MoP - Management of Portfolios
MoP - Management of PortfoliosMoP - Management of Portfolios
MoP - Management of Portfoliosnetmind
 
Foundations of the Scaled Agile Framework® (SAFe® ) 4.5
Foundations of the Scaled Agile Framework® (SAFe® ) 4.5Foundations of the Scaled Agile Framework® (SAFe® ) 4.5
Foundations of the Scaled Agile Framework® (SAFe® ) 4.5netmind
 
Management 3.0
Management 3.0Management 3.0
Management 3.0netmind
 
Arquitectura de Empresa TOGAF
Arquitectura de Empresa TOGAFArquitectura de Empresa TOGAF
Arquitectura de Empresa TOGAFnetmind
 
CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room
CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room
CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room netmind
 
CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...
CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...
CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...netmind
 
CAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product Owner
CAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product OwnerCAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product Owner
CAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product Ownernetmind
 

Plus de netmind (20)

Kanban Method Lean Kanban University
Kanban Method Lean Kanban UniversityKanban Method Lean Kanban University
Kanban Method Lean Kanban University
 
DSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management OfficesDSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management Offices
 
Team Kanban Practitioner
Team Kanban PractitionerTeam Kanban Practitioner
Team Kanban Practitioner
 
KMP I: Kanban System Design
KMP I: Kanban System DesignKMP I: Kanban System Design
KMP I: Kanban System Design
 
DASA Meetup Madrid 2018
DASA Meetup Madrid 2018DASA Meetup Madrid 2018
DASA Meetup Madrid 2018
 
Escape from Earth en PMI ® EMEA 2018
Escape from Earth en PMI ® EMEA 2018Escape from Earth en PMI ® EMEA 2018
Escape from Earth en PMI ® EMEA 2018
 
Las 5 claves de la gamificación en el aprendizaje de COBIT®
Las 5 claves de la gamificación en el aprendizaje de COBIT®Las 5 claves de la gamificación en el aprendizaje de COBIT®
Las 5 claves de la gamificación en el aprendizaje de COBIT®
 
DevOps - Certificación oficial DASA
DevOps - Certificación oficial DASADevOps - Certificación oficial DASA
DevOps - Certificación oficial DASA
 
Comunidades de Práctica
Comunidades de PrácticaComunidades de Práctica
Comunidades de Práctica
 
PMBOK® 6ª edición NOVEDADES
PMBOK® 6ª edición NOVEDADESPMBOK® 6ª edición NOVEDADES
PMBOK® 6ª edición NOVEDADES
 
CERTIFICACIONES PMI®
CERTIFICACIONES PMI®CERTIFICACIONES PMI®
CERTIFICACIONES PMI®
 
Seminario Tendencias en Gestión de Proyectos
Seminario Tendencias en Gestión de ProyectosSeminario Tendencias en Gestión de Proyectos
Seminario Tendencias en Gestión de Proyectos
 
MSP Managing Successful Programmes
MSP Managing Successful ProgrammesMSP Managing Successful Programmes
MSP Managing Successful Programmes
 
MoP - Management of Portfolios
MoP - Management of PortfoliosMoP - Management of Portfolios
MoP - Management of Portfolios
 
Foundations of the Scaled Agile Framework® (SAFe® ) 4.5
Foundations of the Scaled Agile Framework® (SAFe® ) 4.5Foundations of the Scaled Agile Framework® (SAFe® ) 4.5
Foundations of the Scaled Agile Framework® (SAFe® ) 4.5
 
Management 3.0
Management 3.0Management 3.0
Management 3.0
 
Arquitectura de Empresa TOGAF
Arquitectura de Empresa TOGAFArquitectura de Empresa TOGAF
Arquitectura de Empresa TOGAF
 
CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room
CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room
CAS 2017 Miquel Rodríguez - Taller Training from the BACK of the Room
 
CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...
CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...
CAS 2017 Aleix Palau - Peer Learning Universities. Aprendiendo de los desafío...
 
CAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product Owner
CAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product OwnerCAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product Owner
CAS 2017 Alfred Maeso - Business Analysis: Superpoderes para el Product Owner
 

Dernier

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 

Dernier (20)

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 

Novedades SQL Server 2014

  • 1. Microsoft SQL Server 2014 NOVEDADES Por Xavier Saladié Julio 2014
  • 2. Microsoft SQL Server 2014 What’s new? • In-Memory OLTP • New Cardinality Estimator • Security Enhancements • AlwaysOn Enhancements • Resource Governor I/O • Working with Azure
  • 4. SQL Server engine In-memory OLTP 4 New high-performance, memory-optimized online transaction processing (OLTP) engine integrated into SQL Server and architected for modern hardware trends Memory-optimized table file group In-Memory OLTP engine: Memory- optimized tables & indexes Native compiled SPs & schema In-Memory OLTP compiler Transaction log Data file group Buffer pool for tables & indexes Lock Manager Proc/plan cache for ad-hoc, T-SQL; interpreter, plans, etc. Parser, catalog, optimizer
  • 5. Suitable application characteristics 5 • Application is suited for in-memory processing ‐ All performance critical data already fits in memory ‐ Transaction locking or physical latching causing stalls and blocking • Application is “OLTP-Like” ‐ Relatively short-lived transactions ‐ High degree of concurrent transactions from many connections ‐ Examples: Stock trading, travel reservations, order processing • Application porting simplified if ‐ Stored procedures used ‐ Performance problems isolated to subset of tables and SPs
  • 6. SQL Server integration • Same manageability, administration, and development experience • Integrated queries and transactions • Integrated HA and backup/restore Main-memory optimized • Optimized for in-memory data • Indexes (hash and range) exist only in memory • No buffer pool • Stream-based storage for durability High concurrency • Multiversion optimistic concurrency control with full ACID support • Core engine uses lock-free algorithms • No lock manager, latches, or spinlocks T-SQL compiled to machine code • 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 Steadily declining memory price, NVRAM Many-core processors Stalling CPU clock rate TCO Hardware trends Business Hybrid engine and integrated experience High-performance data operations Frictionless scale-up Efficient, business-logic processing BenefitsIn-MemoryOLTPTechPillarsDrivers In-memory OLTP architecture
  • 7. Main-memory optimized • Optimized for in-memory data • Indexes (hash and ordered) exist only in memory • No buffer pool • Stream-based storage for durability Steadily declining memory price, NVRAM Hardware trends Design considerations for memory-optimized tables 7 Table constructs Fixed schema; no ALTER TABLE; must drop/recreate/reload No LOB data types; row size limited to 8,060 No constraints support (primary key only) No identity or calculated columns, or CLR Data and table size considerations Size of tables = (row size * # of rows) Size of hash index = (bucket_count * 8 bytes) Max size SCHEMA_AND_DATA = 512 GB IO for durability SCHEMA_ONLY vs. SCHEMA_AND_DATA Memory-optimized filegroup Data and delta files Transaction log Database recovery High performance data operations BenefitsIn-MemoryOLTPTechPillarsDrivers
  • 8. Create Table DDL CREATE TABLE [Customer]( [CustomerID] INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 1000000), [Name] NVARCHAR(250) NOT NULL INDEX [IName] HASH WITH (BUCKET_COUNT = 1000000), [CustomerSince] DATETIME NULL ) WITH ( MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA); This table is memory optimized This table is durable Secondary indexes are specified inline Hash index
  • 9. Create Procedure DDL CREATE PROCEDURE [dbo].[InsertOrder] @id INT, @date DATETIME WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = 'us_english') -- insert T-SQL here END This proc is natively compiled Native procs must be schema-bound Atomic blocks • Create a transaction if there is none • Otherwise, create a savepoint Execution context is required Session settings are fixed at create time
  • 10. High concurrency • Multiversion optimistic concurrency control with full ACID support • Core engine uses lock- free algorithms • No lock manager, latches, or spinlocks Many-core processors Hardware trends High-concurrency design considerations 10 Impact of no locks or latches Write-write conflict: design application for condition with try.catch Applications dependent on locking; may not be a good candidate Multiple versions of records Increases the memory needed by memory-optimized tables Garbage Collection used to reclaim old versions Transaction scope Support for Isolation Levels: Snapshot, Repeatable Read, Serializable Commit time validation; again must retry logic to deal with failure Frictionless scale-up BenefitsIn-MemoryOLTPTechPillarsDrivers
  • 11. Example: Write conflict 11 Time Transaction T1 (SNAPSHOT) Transaction T2 (SNAPSHOT) 1 BEGIN 2 BEGIN 3 UPDATE t SET c1=‘bla’ WHERE c2=123 4 UPDATE t SET c1=‘bla’ WHERE c2=123 (write conflict) First writer wins
  • 12. Guidelines for usage 12 1. Declare isolation level – no locking hints 2. Use retry logic to handle conflicts and validation failures 3. Avoid using long-running transactions
  • 13. T-SQL compiled to machine code • 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 Stalling CPU clock rate Hardware trends Design considerations for native compiled stored procedures 13 Efficient business-logic processing BenefitsIn-MemoryOLTPTechPillarsDrivers Native compiled stored procedures Non-native compilation Performance High. Significantly less instructions to go through No different than T-SQL calls in SQL Server today Migration strategy Application changes; development overhead Easier app migration as can still access memory- optimized tables Access to objects Can only interact with memory-optimized tables All objects; access for transactions across memory optimized and B-tree tables Support for T-SQL constructs Limited T-SQL surface area (limit on memory-optimized interaction) Optimization, stats, and query plan Statistics utilized at CREATE - > Compile time Statistics updates can be used to modify plan at runtime Flexibility Limited (no ALTER procedure, compile-time isolation level) Ad-hoc query patterns
  • 14. Performance gains 14 In-Memory OLTP Compiler In-Memory OLTP Component Memory-optimized Table Filegroup Data Filegroup SQL Server.exe In-Memory OLTP Engine for Memory_optimized Tables & Indexes TDS Handler and Session Management Natively Compiled SPs and Schema Buffer Pool for Tables & Indexes Proc/Plan cache for ad-hoc T- SQL and SPs Client App Transaction Log Interpreter for TSQL, query plans, expressions Query Interop Access Methods Parser, Catalog, Algebrizer, Optimizer 10-30x more efficient Reduced log bandwidth & contention. Log latency remains Checkpoints are background sequential IO No improvements in communication stack, parameter passing, result set generation Key Existing SQL Component Generated .dll
  • 15. In-memory data structures 15 Rows • New row format Structure of the row is optimized for memory residency and access • One copy of row Indexes point to rows, they do not duplicate them Indexes • Hash index for point lookups • Memory-optimized nonclustered index for range and ordered scans • Do not exist on disk – recreated during recovery
  • 16. Memory-optimized table: Row format Key Points • Begin/End timestamp determines row’s validity • No data or index page; just rows • Row size limited to 8060 bytes to allow data to be moved to disk-based table • Not every SQL table schema is supported Row header Payload (table columns) Begin Ts End Ts StmtId IdxLinkCount 8 bytes 8 bytes 4 bytes 2 bytes 8 bytes * (IdxLinkCount – 1)
  • 17. Key lookup: B-tree vs. memory-optimized table Matching index record Hash index on Name R1 R2 R3 Non-clustered index
  • 19. • No DML triggers • No FOREIGN KEY or CHECK constraints • No IDENTITY columns • 8060 byte hard limit for row length • No UNIQUE indexes other than for the PRIMARY KEY • A maximum of 8 indexes, including the index supporting the PRIMARY KEY • No schema changes are allowed once a table is created (drop/recreate) • Indexes are always and ONLY created at as part of the table creation In-Memory OLTP Limitations
  • 20. Indexes Comparison for different kinds of operations Operation Memory hash Memory nonclustered Disk Index Scan, retrieve all table rows. Yes Yes Yes Index seek (=). Yes (Full key required.) Yes 1 Yes Index seek (>, <, <=, >=, BETWEEN). No (index scan) Yes 1 Yes Retrieve rows in a sort-order matching the index definition. No Yes Yes Retrieve rows in a sort-order matching the reverse of the index definition. No No Yes
  • 21. Memory management 21 Data resides in memory at all times • Must configure SQL server with sufficient memory to store memory-optimized tables • Failure to allocate memory will fail transactional workload at run-time • Integrated with SQL Server memory manager and reacts to memory pressure where possible Integration with Resource Governor • “Bind” a database to a resource pool • Mem-opt tables in a database cannot exceed the limit of the resource pool • Hard limit (80% of phys. memory) to ensure system remains stable under memory pressure
  • 22. Garbage collection 22 Stale Row Versions • Updates, deletes, and aborted insert operations create row versions that (eventually) are no longer visible to any transaction • Slow down scans of index structures • Create unused memory that needs to be reclaimed (i.e. Garbage Collected) Garbage Collection (GC) • Analogous to version store cleanup task for disk-based tables to support Read Committed Snapshot (RCSI) • System maintains ‘oldest active transaction’ hint GC Design • Non-blocking, Cooperative, Efficient, Responsive, Scalable • A dedicated system thread for GC • Active transactions work cooperatively and pick up parts of GC work
  • 23. Cooperative garbage collection Key Points • Scanners can remove expired rows when found • Offloads work from GC thread • Ensures that frequently visited areas of the index are cleaned regularly • A row needs to be removed from all indexes before memory can be freed • Garbage collection is most efficient if all indexes are frequently accessed 100 200 1 John Smith Kirkland 200 ∞ 1 John Smith Redmond 50 100 1 Jim Spring Kirkland 300 ∞ 1 Ken Stone Boston TX4: Begin = 210 Oldest Active Hint = 175
  • 24. Durability 24 Memory-optimized tables can be durable or non-durable • Default is ‘durable’ • Non-durable tables are useful for transient data Durable tables are persisted in a single memory-optimized file group Storage used for memory-optimized has a different access pattern than for disk tables File group can have multiple containers (volumes) Additional containers aid in parallel recovery; recovery happens at the speed of IO
  • 25. On-disk storage 25 Filestream is the underlying storage mechanism Checksums and single-bit correcting ECC on files Data files • ~128MB in size, write 256KB chunks at a time • Stores only the inserted rows (i.e. table content) • Chronologically organized streams of row versions Delta files • File size is not constant, write 4KB chunks at a time. • Stores IDs of deleted rows
  • 26. Logging for memory-optimized tables 26 Uses SQL transaction log to store content Each log record contains a log record header followed by opaque memory optimized-specific log content All logging for memory-optimized tables is logical • No log records for physical structure modifications. • No index-specific / index-maintenance log records. • No UNDO information is logged Recovery Models All three recovery models are supported
  • 27. Backup for memory-optimized tables 27 Integrated with SQL Database Backup • Memory-Optimized file group is backed up as part SQL Server database backup • Existing backup scripts work with minimal or no changes • Transaction log backup includes memory-optimized log records Not supported Differential backup
  • 28. Recovery for memory-optimized tables 28 Analysis Phase Finds the last completed checkpoint Data Load • Load from set of data/delta files from the last completed checkpoint • Parallel Load by reading data/delta files using 1 thread / file Redo phase to apply tail of the log • Apply the transaction log from last checkpoint • Concurrent with REDO on disk-based tables No UNDO phase for memory-optimized tables Only committed transactions are logged
  • 29. Myth #1 Reality SQL Server In-Memory OLTP is a recent response to competitors’ offerings
  • 30. Myth #2 Reality In-Memory OLTP is like DBCC PINTABLE
  • 31. Myth #3 Reality In-Memory Databases are new separate products
  • 32. Myth #4 Reality You can use In-Memory OLTP in an existing SQL Server app with NO changes whatsoever
  • 33. Myth #5 Reality Since tables are in memory, the data is not Durable or Highly Available – I will lose it after server crash
  • 35. In-memory OLTP summary 35 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
  • 37. Cardinality 37 • Execution Plans uses Cardinality in order to get an estimation of number of rows for each query • Although the new cardinality still works based on Statistics the algorithm has been dramatically changed • Databases in native compatibility level (120) works with the new estimator version • Change that behavior with the OPTION (QUERYTRACEON 9481) to still be executed with the old version (per Query basis) • Databases in compatibility level 110 could be executed with the new version when using QUERYTRACEON 2312 hint (per Query basis)
  • 38. Scenarios 38 • New cardinality estimates use an average cardinality for recently added ascending data (ascending key problem) without Statistics Update ‐ Old Version estimates 0 rows ‐ New Version uses average cardinality • New cardinality estimates assume filtered predicates on the same table have some correlation ‐ Old and New Version depends on the specific sample • New cardinality estimates assume filtered predicates on different tables are independent ‐ Old and New Version depends on the specific sample
  • 39. 39 • Check the performance of your workloads and do the math ‐ Compatibility Level 110 ‐ Compatibility Level 110 and add OPTION (QUERYTRACEON 2312) to some querys ‐ Native Compatibility Level (120) ‐ Native Compatibility Level (120) and add OPTION (QUERYTRACEON 9481) to some querys Suggestions
  • 41. SQL Server 2014 Security Enhancements
  • 42. Separation of duties enhancement • Four new permissions ‐ CONNECT ANY DATABASE (server scope) ‐ IMPERSONATE ANY LOGIN (server scope) ‐ SELECT ALL USER SECURABLES (server scope) ‐ ALTER ANY DATABASE EVEN SESSION (database scope) • Main benefit ‐ Greater role separation to restrict multiple DBA roles ‐ 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
  • 43. Best practices for separation of duties • Eliminate the use of superusers (SA login, SYSADMIN server role, DBO database user) • Use permission system rather than superuser • Use CONTROL SERVER (server level) and CONTROL DATABASE (database level) instead and use DENY for specifics • Always document the user of ownership chains
  • 44. Backup encryption • Increase security of backups stored separate from the instance (another environment such as the Cloud) • Encryption keys can be stored on-premises while backup files in the cloud • Support non-encrypted databases (don’t need to turn on Transparent Data Encryption anymore) • Different policies for databases and their backups
  • 45. T-SQL BACKUP / RESTORE BACKUP DATABASE <dbname> TO <device> = <path to device> WITH ENCRYPTION ( ALGORITHM = <Algorithm_name> , { SERVER CERTIFICATE = <Encryptor_Name> | SERVER ASYMMETRIC KEY = <Encryptor_Name> } ); No changes to RESTORE
  • 46. T-SQL views • msdb.dbo.backupset • msdb.dbo.backupmediaset backup_set_id name key_algorithm encryptor_thumbprint encryptor_type 3 Full Backup NULL NULL NULL 4 Full Backup aes_256 0x00B1BD62DAA0196 CERTIFICATE media_set_id is_password_protected is_compressed is_encrypted 3 0 1 0 4 0 1 1
  • 47. Additional details • AES 128, AES 192, AES 256, and Triple DES • Unique backup key is generated for each backup • Certificate • Asymmetric key from an EKM provider only • All operations require certificate or key • Appended backup is not supported • Compression has no effect on pre-encrypted databases
  • 48. SQL Server 2014 AlwaysOn Enhancements
  • 49. 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
  • 50. Description • Increase number of secondaries (4–8) • Max number of sync secondaries is still two Increase number of Availability Group secondaries Reason • Customers want to use readable secondaries • One technology to configure and manage • Many times faster than replication • Customers are asking for more database replicas (4–8) • To reduce query latency (large-scale environments) • To scale out read workloads
  • 51. Description Allow FCI customers to configure CSV paths for system and user databases Support for Windows Server Cluster Shared Volumes Reason • Avoid drive letter limitation on SAN (max 24 drives) • Improves SAN storage utilization and management • Increased resiliency of storage failover (abstraction of temporary disk-level failures) • Migration of SQL Server customers using PolyServe (to be discontinued in 2013)
  • 52. Description Allow FCI customers to configure CSV paths for system and user databases Support for Windows Server Cluster Shared Volumes Reason • Avoid drive letter limitation on SAN (max 24 drives) • Improves SAN storage utilization and management • Increased resiliency of storage failover (abstraction of temporary disk-level failures) • Migration of SQL Server customers using PolyServe (to be discontinued in 2013)
  • 53. SQL Server 2014 Resource Governor with IO
  • 54. Resource Governor goals • Ability to differentiate workloads • Ability to monitor resource usage per group • Limit controls to enable throttled execution or prevent/minimize probability of “run-aways” • Prioritize workloads • Provide predictable execution of workloads • Specify resource boundaries between workloads
  • 56. Complete 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
  • 57. 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 ]) ]
  • 58. Resource pools • Minimums across all resource pools can not exceed 100 percent • Non-shared portion provides minimums • Shared portion provides maximums • Pools can define min/max for CPU/Memory/IOPS ‐ Mins defined non-shared ‐ Max defined shared
  • 59. Steps to implement Resource Governor • Create workload groups • Create function to classify requests into workload group • Register the classification function in the previous step with the Resource Governor • Enable Resource Governor • Monitor resource consumption for each workload group • Use monitor to establish pools • Assign workload group to pool
  • 60. Resource Governor scenarios • Scenario 1: I just got a new version of SQL Server and would like to make use of resource governor. How can I use it in my environment? • Scenario 2 (based on Scenario 1): Based on monitoring results I would like to see an event any time a query in the ad-hoc group (groupAdhoc) runs longer than 30 seconds. • Scenario 3 (based on Scenario 2): I want to further restrict the ad-hoc group so it does not exceed 50 percent of CPU usage when all requests are cumulated.
  • 61. Monitoring Resource Governor • System views ‐ sys.resource_governor_resource_pools ‐ sys.resource_governor_configuration • DMVs ‐ sys.dm_resource_governor_resource_pools ‐ sys.dm_resource_governor_resource_pool_volumes ‐ sys.dm_resource_governor_configuration • New performance counters ‐ SQL Server:Resource Pool Stats ‐ SQL Server:Workload group • XEvents ‐ file_read_enqueued ‐ file_write_enqueued
  • 63. Backup to Windows Azure What’s being delivered • SQL Server supports backups to and restores from the Windows Azure Blob storage service (UI, T-SQL, PowerShell commandlets) Main benefit: Take advantage of Windows Azure Blob storage • Flexible, reliable (3-copies geo-DR), and limitless off-site storage • No need of backup media management • No overhead of hardware management CREATE CREDENTIAL mystoragecred WITH IDENTITY = ‘mystorage', SECRET = ‘<your storage access key> BACKUP DATABASE mydb TO URL ='https://mystorage.blob.core.windows.net/backup-container/mydb- 20130411.bak' WITH CREDENTIAL = ‘mystoragecred', FORMAT, COMPRESSION, STATS = 5, MEDIANAME = ‘mydb backup 20130411', MEDIADESCRIPTION = 'Backup of mydb'
  • 64. Backup to Windows Azure Windows Azure storage WA WindowsAzure Blobs • On-site/off-site storage costs • Device management costs Box • XDrives limited to 1 terabyte • Max 16 drives • Manage drives and policy • Near “bottomless” storage • Off-site, geo-redundant • No provisioning • No device management • Media safety (decay-free) • Remote accessibility
  • 65. Backup to Windows Azure • Simple configuration UI • Easy creation of Azure credential • No overhead
  • 66. Backup to Windows Azure Tool • What is it? ‐ Stand-alone Tool that adds backup to Windows Azure capabilities and backup encryption to prior versions of SQL Server • Benefits ‐ One Cloud Backup strategy across prior versions of SQL Server including 2005, 2008, and 2008 R2 ‐ Adds backup encryption to prior versions, locally or in the cloud ‐ Takes advantage of backup to Azure ‐ Easy configuration
  • 67. Managed backup to Azure • What’s being delivered ‐ Agent that manages and automates SQL Server backup policy • Main benefit ‐ 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
  • 68. SQL Server 2014 Database Data and Log Files in Azure Storage
  • 69. SQL Server data and log files in Windows Azure storage • What’s being delivered ‐ Ability to move data and log files in Windows Azure Storage, while keeping the compute node of SQL Server on-premises ‐ Transparent Data Encryption (TDE) is supported • Main benefits ‐ No application changes required ‐ Centralized copy of data and log files ‐ Enjoy unlimited storage capacity in Azure Storage (built in HA, SLA, geo-DR) ‐ Secure because TDE encryption key can be stored on-premises ‐ Restore database is simply an attach operation
  • 70. SQL Server data and log files in Windows Azure storage
  • 71. SQL Server 2014 Deploy Database to Windows Azure Wizard
  • 73. Deploy databases to Windows Azure VM • What’s being delivered ‐ New wizard to deploy databases to SQL Server in Windows Azure VM ‐ Can also create a new Windows Azure VM if needed • Main benefits ‐ Easy to use  Perfect for database administrators new to Azure and for ad hoc scenarios ‐ Complexity hidden  Detailed Azure knowledge not needed  Almost no overhead: defining factor for time-to-transfer is database size
  • 74. Call to action • Download Trial SQL Server 2014 http://technet.microsoft.com/en-US/evalcenter/dn205290.aspx • Trial Azure http://azure.microsoft.com/en-us/pricing/free-trial/ • SQL Server http://www.microsoft.com/SQLServer

Notes de l'éditeur

  1. select * from [sql] select * from [sql] where c1>100000 Insert 5000 rows into [sql] Try Estimated plan Ctrl-L for all those querys at the same time select * from [sql] where c1>100000 option (querytraceon 2312) select * from [sql] where c1>100000 option (querytraceon 9481) select * from [sql] where c1>100000
  2. You can use the Transact-SQL ALTER TABLE...SWITCH statement to quickly and efficiently transfer subsets of your data in the following ways: Assigning a table as a partition to an already existing partitioned table. Switching a partition from one partitioned table to another. Reassigning a partition to form a single table.
  3. Not only are we enabling new unique hybrid scenarios, we are also simplify cloud adoption for our customers. With SQL Server 2014 we will also ship a new migration wizard that will help DBAs easily migrate their on-premises SQL Server instance to Windows Azure and again directly through SSMS as you can see in the screen shot there, point and click and you instance will be up and running in Azure in no time. Once you become familiar with Windows Azure you can start to take advantage of the Windows Azure Virtual Machine to run many scenarios in the cloud including fast dev/test of your SQL Server applications, moving existing applications, doing hybrid scenarios like we talked about, BI scenarios in the cloud because you have full SQL Server functionality including all of the BI services. In addition you have full control over the VM so if you want to put your corporate anti-virus on the VM you can. Once you have become comfortable with the Windows Azure environment you can take advantage of Windows Azure SQL Database service offering that will speed development of your new database application even faster because you don’t have to manage the database, it is a service, you don’t have to patch the OS or database we take care of that, all you do is develop your application using the service. The SQL Database service also has unique cloud features like dynamic scalability of the database using Federations like Flavorus did to achieve their business goals. In addition this database service also offers an SLA for the database running inside the VM and you don’t have think about setting up high availability because it is built-in to the database service by default. This is where we see cloud applications doing fast development, less maintenance and faster time to market.