SlideShare ist ein Scribd-Unternehmen logo
1 von 51
#damag | damagcommunity@outlook.com
Le novità di SQL Server 2019
Gianluca Hotz
#damag | damagcommunity@outlook.com
• Gianluca Hotz | @glhotz | ghotz@ugiss.org
• Independent Consultant
• 20+ years on SQL Server (from 4.21 in 1996)
• Database modeling and development, sizing and administration, upgrade and
migration, performance tuning
• Interests
• Relational model, DBMS architecture, Security, High Availability and Disaster Recovery
• Community
• 20 years Microsoft MVP SQL Server (from 1998)
• Founder and President UGISS
• User Group Italiano SQL Server (PASS Chapter)
Who am I?
#damag | damagcommunity@outlook.com
Configuration
#damag | damagcommunity@outlook.com
• Most new things in 2016/2017
• Separate downloads
• IFI and tempdb configuration
• Linux
• R and Python integration
• Integration Services Scale-out
• Polybase
• New best practices added in 2019
• MaxDOP configuration
• Min/Max Server memory configuration
Installation
#damag | damagcommunity@outlook.com
SQL Server 2019 new DBE configuration options
#damag | damagcommunity@outlook.com
PolyBase Java Connector for HDFS (< CTP 3.2)
#damag | damagcommunity@outlook.com
PolyBase Java Connector for HDFS (CTP 3.2+)
#damag | damagcommunity@outlook.com
• Azul System’s Zulu OpenJDK
• Starting from CTP 3.2+
• No need to install separately
• Polybase, Spark, Java Extensibility
• Free support
• Jointly by Microsoft & Azul
• Open Source
• Other Java flavors supported
Free Supported Java
#damag | damagcommunity@outlook.com
Polybase
• Data Virtualization
• External Data Source
• External Tables
• SQL Server 2016+
• Azure Blob Storage, Hadoop
• SQL Server 2019
• SQL Server (all flavors), Oracle, Teradata, MongoDB, CosmosDB (Mongo API)
• ODBC Generic Type (e.g. DB2, SAP Hana, Excel, …)
#damag | damagcommunity@outlook.com
External Tables
Database Scoped
ODBC Drivers
Read-only*
Scale out queries with push-down
Failover with AG
Basic authentication
Distributed Transactions not supported
Linked Servers
Instance Scoped
OLEDB Providers
Read/write
Single threaded queries with push-down
Requires separate config from AG
Basic and integrated authentication
Distributed Transactions supported
External Tables vs Linked Servers
#damag | damagcommunity@outlook.com
Polybase Scale-Out Groups
#damag | damagcommunity@outlook.com
SQL Server on Linux
• Replication
• Snapshot, Transactional & Merge
• No immediate update subscribers, no Oracle publishing
• Microsoft Distributed Transaction Coordinator (MSDTC)
• OpenLDAP support for third-party AD providers
• Machine Learning Services
• Change Data Capture
• Polybase
#damag | damagcommunity@outlook.com
• New container registry
• Always On Availability Group on
Docker containers with
Kubernetes
• Not supported as of RC1 and
not available in RTM
Containers
#damag | damagcommunity@outlook.com
Compute pool
SQL Compute
Node
SQL Compute
Node
SQL Compute
Node
…
Compute pool
SQL Compute
Node
IoT data
Directly
read from
HDFS
Persistent storage
…
Storage pool
SQL
Server
Spark
HDFS Data Node
SQL
Server
Spark
HDFS Data Node
SQL
Server
Spark
HDFS Data Node
Kubernetes pod
Analytics
Custom
apps BI
SQL Server
master instance
Node Node Node Node Node Node Node
SQL
Data mart
SQL Data
Node
SQL Data
Node
Compute pool
SQL Compute
Node
Storage Storage
Big Data Clusters
#damag | damagcommunity@outlook.com
Administration
#damag | damagcommunity@outlook.com
• SQL Server Management Studio V18
• Azure Data Studio (was Operations Studio)
• Windows, MacOS, Linux
• Azure SQL Database, Azure SQL Data Warehouse, PostgreSQL
• SQL Server 2019 extensions including Big Data Cluster (Hadoop etc.)
• Notebooks
Tools
#damag | damagcommunity@outlook.com
• Resume after failure (e.g. out of disk space)
• Pause and resume later (e.g. free temporarily resources)
• Manage large indexes using less log an shorter transactions
• Fit rebuild operations into limited maintenance windows
• REBUILD
WITH (ONLINE = ON, RESUMABLE = ON, MAX_DURATION = 30
MINUTES);
• SQL Server 2017+ Resumable Index Rebuild
• SQL Server 2019+ Resumable Index Create
Resumable online index operations
#damag | damagcommunity@outlook.com
Transparent Data Encryption
• ALTER DATABASE … SET ENCRYPTION SUSPEND
• ALTER DATABASE … SET ENCRYPTION RESUME
#damag | damagcommunity@outlook.com
Columnstore Indexes
• Online build/rebuild Clustered Columnstore
• E.g. conversion from row-store to Columnstore
#damag | damagcommunity@outlook.com
DBCC CLONEDATABASE
• Instantaneous schema-only copy of a database for troubleshooting
• No data, full-schema, statistics and Query Store
• Non-blocking
• Read-only by default (can be changed)
• Optionally NO_STATISTICS, NO_QUERYSTORE
• SQL Server 2012 SP4, 2014 SP2 CU3, 2016 SP1, 2017
• New in SQL Server 2019
• Columnstore Statistics
#damag | damagcommunity@outlook.com
Accelerated Database Recovery
• Benefits
• Fast and consistent database recovery
• Number/size of active transactions don’t impact recovery time
• Instantaneous transaction rollback
• Active time and number of updates don’t impact rollback time
• Aggressive Log Truncation
• Even with long running transactions, prevents growing out of control
• High level
• Versioning all physical database modifications
• Only logical operations undone (are limited and can be undone instantly)
• Active transactions at crash time are marked as aborted
• Versions generated by aborted transactions can be ignored by user queries
• Currently available in Preview in Azure SQL Database and CTP2.3+!
#damag | damagcommunity@outlook.com
• Query Waiting for synchronous update operations
• Now sys.dm_exec_requests shows SELECT (STATMAN)
• New WAIT_ON_SYNC_STATISTICS_REFRESH wait stat
Improved diagnostic data for stats blocking
#damag | damagcommunity@outlook.com
Availability Groups Enhancements
• More synchronous replicas
• SQL Server 2012 4 replicas, 2 synchronous
• SQL Server 2014 8 replicas, 2 synchronous
• SQL Server 2017 8 replicas, 3 synchronous
• SQL Server 2019 8 replicas, 5 synchronous
• Secondary-to-primary read/write redirection
• READ_WRITE_ROUTING_URL and ApplicationIntent=ReadWrite (default)
• Killer feature to replace Listener
• Cluster technology not offering listener-like features
• Multi-subnet scenarios too complex to setup/maintain (e.g. Pacemaker)
• Read scale-out or DR with cluster type NONE
#damag | damagcommunity@outlook.com
Storage Class Memory / PMEM
• Allows low latency I/O
• memory-mapped memcpy-like operations in user mode
• SQL Server 2016 SP1
• NVDIMM-N for tail of the log caching
• SQL Server 2019
• PMEM devices Linux
• support for data, log In-Memory OLTP checkpoint files placement
• Hybrid Buffer Pool
• Clean pages direct referenced on PMEM devices without copy
• Dirty pages still kept in DRAM
#damag | damagcommunity@outlook.com
• sp_estimate_data_compression_savings
• Returns specified object’s current size and estimates
• SQL Server < 2019
• ROW and PAGE compression
• SQL Server 2019+
• Adds COLUMNSTORE and COLUMNSTORE_ARCHIVE compression
• Object type determines Columnstore type
• E.g. Heap -> Clustered, Clustered index -> Clustered
Estimating Data Compression savings
#damag | damagcommunity@outlook.com
Query Profiling Infrastructure
• Run-time information on query execution plans
• E.g. live query statistics
• Lightweight profiling
• introduced in SQL Server 2014 SP2, 2016 SP1+
• 2% expected CPU overhead vs. 75%
• SQL Server 2019+
• Enabled by default
• XEvents query_post_execution_plan_profile (vs query_post_execution_showplan)
• DMF sys.dm_exec_query_plan_stats() last known *actual* execution plan
#damag | damagcommunity@outlook.com
• Undocumented DBCC PAGE
• New in SQL Server 2019
• sys.dm_db_page_info(DatabaseId, FileId, PageId, Mode)
• page_resource column in sys.dm_exec_requests and sys.sysprocesses
• sys.fn_PageResCracker(page_resource) to get db_id, file_id, page_id
Internal database pages information
#damag | damagcommunity@outlook.com
• Capture mode AUTO is now the default
• Support for custom capture mode e.g.
• QUERY_CAPTURE_MODE = CUSTOM,
QUERY_CAPTURE_POLICY = (
STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
)
Query Store Enhancements
#damag | damagcommunity@outlook.com
Development
#damag | damagcommunity@outlook.com
• Error message 8152 too generic
• String or binary data would be truncated
• SQL Server 2019 introduces message 2628
• String or binary data would be truncated in table '%.*ls', column '%.*ls'.
Truncated value: '%.*ls’
• Enabled with Trace Flag 460
• Opt-in required to avoid breaking parsing applications
Truncation error messages
#damag | damagcommunity@outlook.com
Extensibility Framework
• Secure external script execution
• Scale/optimization opportunities
• SQL Server integration (e.g. store procedures, PREDICT)
• Language Support
• SQL Server 2016+ Support for R
• SQL Server 2017+ Support for Python
• SQL Server 2019+ Support for Java
#damag | damagcommunity@outlook.com
UTF-8 Support
• Full support for import/export, collations, replication, …
• Still not for Linked Servers, In-Memory OLTP, External Table (Polybase)
• CHAR and VARCHAR support (Windows collations only)
• UTF8 in collation names
• E.g. LATIN1_GENERAL_100_CI_AS_SC_UTF8
• Can provide storage savings
• E.g. up to 50% from NCHAR(10) to CHAR(10) with UTF8 vs UTF16
#damag | damagcommunity@outlook.com
SQL Graph enhancements
• Derived tables and view support in MATCH queries
• Set of nodes/edges using UNION ALL
• Useful for heterogeneous entities or connections between them
• MATCH support in MERGE
• Edge Constraints
• CONNECTION constraint
• SHORTEST_PATH function in MATCH
• Shortest path between two nodes/entities
• Single source shortest path
• Shortest path from multiple source to multiple destinations
#damag | damagcommunity@outlook.com
Security
#damag | damagcommunity@outlook.com
Certificate Management
• Extended in SQL Server Configuration manager
• View and validate certificates installed
• View certificates close to expiration
• Deploy Certificates across machine in Availability Groups
• Deploy Certificates across machine in Failover Cluster Instances
#damag | damagcommunity@outlook.com
SQL Server Sensitivity Classification
• SQL Server 2019+
• (already available in Azure SQL Database)
• T-SQL command ADD|DROP SENSITIVITY CLASSIFICATION
• applies to tables, columns
• LABEL, LAtBEL_ID, INFORMATION_TYPE, INFORMATION_TYPE_ID
• Metadata stored in sys.sensitivity_classifications
• SQL Server Audit add column data_sensitivity_information
#damag | damagcommunity@outlook.com
SQL Data Discovery and Classification
• Discovery & Recommendations, Labeling, Reporting
• SQL Server management Studio Tool (V17.5+)
• Support for SQL Server 2008+ and Azure SQL Database
• Metadata con be persisted and queried
• Based on Extended Properties in older versions
• sys_information_type_name, sys_sensitivity_label_name
• Based on SQL Server Sensitivity Classification in newer versions
#damag | damagcommunity@outlook.com
Data Discovery and Classification Demo
#damag | damagcommunity@outlook.com
• Basic architecture as SQL Server 2016+ implementation
• Now allows server-side computation on encrypted columns
• In-Place Encryption (ALTER TABLE for initial encryption)
• Rich computations (e.g. range comparisons, LIKE predicates, indexing, …)
• Inside secure enclaves
• Virtualization-based Security (VBS) secure memory enclaves
• also known as Virtual Secure Mode(VSM) enclaves
• Operation on plaintexts cannot be disclosed outside enclave
• Column Master Keys sent over secure channel by client driver
• Still some limitations
• Performance optimizations pending…
Always Encrypted with Secure Enclaves
#damag | damagcommunity@outlook.com
Performance
#damag | damagcommunity@outlook.com
• Common problem inserting
• PAGELATCH_EX waits on last page in the b+-tree
• https://support.microsoft.com/en-us/help/4460004
• New index option
• OPTIMIZE_FOR_SEQUENTIAL_KEY
• Addresses “convoy” specifically problems
• Latency may be higher but stable throughput
• New wait type BTREE_INSERT_FLOW_CONTROL
Sequential Keys Optimization
#damag | damagcommunity@outlook.com
• ALTER SERVER CONFIGURATION
SET MEMORY_OPTIMIZED TEMPDB_METADATA = ON
• Limitations
• Instance restart needed
• Tempdb system tables not accessible by transactions using other memory-
optimized tables in user databases
• Locking hints on tempdb system tables not honored
• Issues with Columnstore indexes on temporary tables (fixed by RTM?)
Memory-Optimized Tempdb Metadata
#damag | damagcommunity@outlook.com
Intelligent QP
Adaptive QP
Adaptive Joins Batch Mode
Interleaved
Execution
Memory Grant
Feedback
Row Mode Batch Mode
Approximate
QP
Approximate
Count Distinct
Table Variable
Deferred
Compilation
Batch Mode on
Row Store
Scalar UDF
Inlining
Intelligent Query Processing
#damag | damagcommunity@outlook.com
Execution Modes
• Row Mode
• Execution tree iterators consume 1 row at a time
• Traditional execution mode for Rowstore
• Batch Mode
• Execution tree iterators consume a batch of rows at a time
• Optimal with large scan operations (e.g. large table aggregates or joins)
• SQL Server 2012 introduced to leverage Columnstore Indexes
• SQL Server 2016/2017 extended usage scenarios for CI
• SQL Server 2019 extended usage scenarios to Rowstore
#damag | damagcommunity@outlook.com
Memory Grant Feedback
• Post-execution evaluation
• Updates grant value for cached plan
• E.g. more memory if spilled, less if excessive grant
• Version support
• SQL Server 2017+ Batch Mode
• SQL Server 2019+ Row Mode
• Plan caching
• Not persistent (i.e. not saved in Query Store)
• OPTION(RECOMPILE) prevents caching and memory grant feedback
#damag | damagcommunity@outlook.com
Table Variable Deferred Compilation
• Before SQL Server 2019
• Statement referencing TV compiled before population
• Number of row estimate fixed at 1
• Starting with SQL Server 2019
• Behaves like Temporary Tables
• Statement referencing non existing TV is deferred until first execution
• Number of row estimate much better
• Control
• On by default with database compatibility level 150+
• ALTER DATABASE SCOPED CONFIGURATION
SET DEFERRED_COMPILATION_TV = ON|OFF
• OPTION (USE HINT ('DISABLE_DEFERRED_COMPILATION_TV'));
#damag | damagcommunity@outlook.com
Scalar UDF inlining
• T-SQL user defined functions that returns a single data value
• Performance problems
• Iterative invocation
• once per row, context switching especially with query execution
• Lack of costing
• before, only relational operators were costed, assumption to be cheap…
• Interpreted execution
• each statement executes in isolation, no cross-statement optimizations
• Serial execution
• Intra-query parallelism not allowed
#damag | damagcommunity@outlook.com
Scalar UDF Automatic inlining
• In SQL Server 2019 Scalar UDF automatically transformed into
• Scalar Expressions
• Scalar Subqueries
• Optimize the whole plan (UDFs no longer visible)
• Control
• On by default with database compatibility level 150+
• ALTER DATABASE SCOPED CONFIGURATION
SET TSQL_SCALAR_UDF_INLINING = ON|OFF
• OPTION (USE HINT ('DISABLE_TSQL_SCALAR_UDF_INLINING'));
• CREATE FUNCTION … WITH INLINE = ON | OFF
#damag | damagcommunity@outlook.com
Scalar UDF inlining example
Query without UDF Query with UDF (no inlining) Query with UDF (inlining)
Execution time 1.6 seconds 29 minutes 11 seconds 1.6 seconds
CREATE FUNCTION dbo.discount_price(@price DECIMAL(12,2), @discount DECIMAL(12,2))
RETURNS DECIMAL (12,2) AS BEGIN RETURN @price * (1 - @discount); END
SELECT L_SHIPDATE, O_SHIPPRIORITY
, SUM(dbo.discount_price(L_EXTENDEDPRICE, L_DISCOUNT))
FROM LINEITEM, ORDERS
WHERE O_ORDERKEY = L_ORDERKEY
GROUP BY L_SHIPDATE, O_SHIPPRIORITY
ORDER BY L_SHIPDATE
10GB CCI compressed TPC-H Schema, 2 x CPUs (12 cores), 96GB RAM, SSD storage
#damag | damagcommunity@outlook.com
• Returns approximate number of unique non-null values in groups
• HyperLogLog algorithm guarantees
up to 2% error rate within 97% probability
• Fast data exploration with low memory footprint
• E.g. dashboards, trend analysis, feature selection, etc.
• Think 10 billion rows,
1 user using 1,5GB memory vs 100 users using 12MBs
• Tradeoff: precision, only scenarios where exact values are not necessary!
APPROX_COUNT_DISTINCT
#damag | damagcommunity@outlook.com
- - - - T h a n k y o u - - -
Subscribe to our meetups
http://tiny.cc/damag

Weitere ähnliche Inhalte

Was ist angesagt?

Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins Colin Charles
 
Sql Server 2014 In Memory
Sql Server 2014 In MemorySql Server 2014 In Memory
Sql Server 2014 In MemoryRavi Okade
 
Novedades SQL Server 2014
Novedades SQL Server 2014Novedades SQL Server 2014
Novedades SQL Server 2014netmind
 
KoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just beganKoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just beganTobias Koprowski
 
Scaling Up and Out Your Virtualized SQL Servers
Scaling Up and Out Your Virtualized SQL ServersScaling Up and Out Your Virtualized SQL Servers
Scaling Up and Out Your Virtualized SQL ServersFortified Data
 
KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloudKoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloudTobias Koprowski
 
Fontys Lecture - The Evolution of the Oracle Database 2016
Fontys Lecture -  The Evolution of the Oracle Database 2016Fontys Lecture -  The Evolution of the Oracle Database 2016
Fontys Lecture - The Evolution of the Oracle Database 2016Lucas Jellema
 
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
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Colin Charles
 
Databases in the hosted cloud
Databases in the hosted cloudDatabases in the hosted cloud
Databases in the hosted cloudColin Charles
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices Ted Wennmark
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Colin Charles
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionTravis Wright
 
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterWebseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterMariaDB Corporation
 
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
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)Colin Charles
 
Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Mydbops
 
PowerDNS with MySQL
PowerDNS with MySQLPowerDNS with MySQL
PowerDNS with MySQLI Goo Lee
 

Was ist angesagt? (20)

Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
 
Sql Server 2014 In Memory
Sql Server 2014 In MemorySql Server 2014 In Memory
Sql Server 2014 In Memory
 
Novedades SQL Server 2014
Novedades SQL Server 2014Novedades SQL Server 2014
Novedades SQL Server 2014
 
KoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just beganKoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just began
 
Scaling Up and Out Your Virtualized SQL Servers
Scaling Up and Out Your Virtualized SQL ServersScaling Up and Out Your Virtualized SQL Servers
Scaling Up and Out Your Virtualized SQL Servers
 
01 dev room2_kung_fu_migration_scottklein_23Kung Fu Migration to Windows Azur...
01 dev room2_kung_fu_migration_scottklein_23Kung Fu Migration to Windows Azur...01 dev room2_kung_fu_migration_scottklein_23Kung Fu Migration to Windows Azur...
01 dev room2_kung_fu_migration_scottklein_23Kung Fu Migration to Windows Azur...
 
KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloudKoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloud
 
Fontys Lecture - The Evolution of the Oracle Database 2016
Fontys Lecture -  The Evolution of the Oracle Database 2016Fontys Lecture -  The Evolution of the Oracle Database 2016
Fontys Lecture - The Evolution of the Oracle Database 2016
 
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
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015
 
Databases in the hosted cloud
Databases in the hosted cloudDatabases in the hosted cloud
Databases in the hosted cloud
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
 
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterWebseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
 
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 Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
 
Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.
 
PowerDNS with MySQL
PowerDNS with MySQLPowerDNS with MySQL
PowerDNS with MySQL
 

Ähnlich wie Le novità di sql server 2019

SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceGianluca Hotz
 
Damag - EmPower your BI Architecture
Damag - EmPower your BI ArchitectureDamag - EmPower your BI Architecture
Damag - EmPower your BI ArchitectureRiccardo Perico
 
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...Denny Lee
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksDatabricks
 
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Continuent
 
CCI2017 - Considerations for Migrating Databases to Azure - Gianluca Sartori
CCI2017 - Considerations for Migrating Databases to Azure - Gianluca SartoriCCI2017 - Considerations for Migrating Databases to Azure - Gianluca Sartori
CCI2017 - Considerations for Migrating Databases to Azure - Gianluca Sartoriwalk2talk srl
 
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya
 
eGrove Systems Review - "Features of Magento 2.0"
eGrove Systems Review - "Features of Magento 2.0"eGrove Systems Review - "Features of Magento 2.0"
eGrove Systems Review - "Features of Magento 2.0"Egrove Systems Corporation
 
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle Cloud
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle CloudOTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle Cloud
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle CloudMark Rittman
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauSam Palani
 
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015Mark Rittman
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSPC Adriatics
 
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...Deepak Chandramouli
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDSDenish Patel
 
How SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GameHow SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GamePARIKSHIT SAVJANI
 
Configuring Sage 500 for Performance
Configuring Sage 500 for PerformanceConfiguring Sage 500 for Performance
Configuring Sage 500 for PerformanceRKLeSolutions
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure Antonios Chatzipavlis
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure Antonios Chatzipavlis
 

Ähnlich wie Le novità di sql server 2019 (20)

SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & Performance
 
Exploring sql server 2016
Exploring sql server 2016Exploring sql server 2016
Exploring sql server 2016
 
Damag - EmPower your BI Architecture
Damag - EmPower your BI ArchitectureDamag - EmPower your BI Architecture
Damag - EmPower your BI Architecture
 
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
 
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
 
CCI2017 - Considerations for Migrating Databases to Azure - Gianluca Sartori
CCI2017 - Considerations for Migrating Databases to Azure - Gianluca SartoriCCI2017 - Considerations for Migrating Databases to Azure - Gianluca Sartori
CCI2017 - Considerations for Migrating Databases to Azure - Gianluca Sartori
 
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
 
eGrove Systems Review - "Features of Magento 2.0"
eGrove Systems Review - "Features of Magento 2.0"eGrove Systems Review - "Features of Magento 2.0"
eGrove Systems Review - "Features of Magento 2.0"
 
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle Cloud
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle CloudOTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle Cloud
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle Cloud
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
 
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDS
 
How SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GameHow SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the Game
 
Configuring Sage 500 for Performance
Configuring Sage 500 for PerformanceConfiguring Sage 500 for Performance
Configuring Sage 500 for Performance
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
 

Mehr von Gianluca Hotz

Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseGianluca Hotz
 
Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Gianluca Hotz
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingGianluca Hotz
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022Gianluca Hotz
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudGianluca Hotz
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerGianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraGianluca Hotz
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSGianluca Hotz
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Gianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksGianluca Hotz
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaGianluca Hotz
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSGianluca Hotz
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseGianluca Hotz
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseGianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 

Mehr von Gianluca Hotz (20)

Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
 
Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query Processing
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database Ledger
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWS
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed Disks
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: Sicurezza
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWS
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with Polybase
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 

Kürzlich hochgeladen

Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...HyderabadDolls
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...nirzagarg
 
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...kumargunjan9515
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numberssuginr1
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteedamy56318795
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...Health
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...gajnagarg
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...kumargunjan9515
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxchadhar227
 
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...gragchanchal546
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...gajnagarg
 
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...HyderabadDolls
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1ranjankumarbehera14
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...gajnagarg
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Klinik kandungan
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 

Kürzlich hochgeladen (20)

Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
 
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbers
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptx
 
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
 

Le novità di sql server 2019

  • 1. #damag | damagcommunity@outlook.com Le novità di SQL Server 2019 Gianluca Hotz
  • 2. #damag | damagcommunity@outlook.com • Gianluca Hotz | @glhotz | ghotz@ugiss.org • Independent Consultant • 20+ years on SQL Server (from 4.21 in 1996) • Database modeling and development, sizing and administration, upgrade and migration, performance tuning • Interests • Relational model, DBMS architecture, Security, High Availability and Disaster Recovery • Community • 20 years Microsoft MVP SQL Server (from 1998) • Founder and President UGISS • User Group Italiano SQL Server (PASS Chapter) Who am I?
  • 4. #damag | damagcommunity@outlook.com • Most new things in 2016/2017 • Separate downloads • IFI and tempdb configuration • Linux • R and Python integration • Integration Services Scale-out • Polybase • New best practices added in 2019 • MaxDOP configuration • Min/Max Server memory configuration Installation
  • 5. #damag | damagcommunity@outlook.com SQL Server 2019 new DBE configuration options
  • 6. #damag | damagcommunity@outlook.com PolyBase Java Connector for HDFS (< CTP 3.2)
  • 7. #damag | damagcommunity@outlook.com PolyBase Java Connector for HDFS (CTP 3.2+)
  • 8. #damag | damagcommunity@outlook.com • Azul System’s Zulu OpenJDK • Starting from CTP 3.2+ • No need to install separately • Polybase, Spark, Java Extensibility • Free support • Jointly by Microsoft & Azul • Open Source • Other Java flavors supported Free Supported Java
  • 9. #damag | damagcommunity@outlook.com Polybase • Data Virtualization • External Data Source • External Tables • SQL Server 2016+ • Azure Blob Storage, Hadoop • SQL Server 2019 • SQL Server (all flavors), Oracle, Teradata, MongoDB, CosmosDB (Mongo API) • ODBC Generic Type (e.g. DB2, SAP Hana, Excel, …)
  • 10. #damag | damagcommunity@outlook.com External Tables Database Scoped ODBC Drivers Read-only* Scale out queries with push-down Failover with AG Basic authentication Distributed Transactions not supported Linked Servers Instance Scoped OLEDB Providers Read/write Single threaded queries with push-down Requires separate config from AG Basic and integrated authentication Distributed Transactions supported External Tables vs Linked Servers
  • 12. #damag | damagcommunity@outlook.com SQL Server on Linux • Replication • Snapshot, Transactional & Merge • No immediate update subscribers, no Oracle publishing • Microsoft Distributed Transaction Coordinator (MSDTC) • OpenLDAP support for third-party AD providers • Machine Learning Services • Change Data Capture • Polybase
  • 13. #damag | damagcommunity@outlook.com • New container registry • Always On Availability Group on Docker containers with Kubernetes • Not supported as of RC1 and not available in RTM Containers
  • 14. #damag | damagcommunity@outlook.com Compute pool SQL Compute Node SQL Compute Node SQL Compute Node … Compute pool SQL Compute Node IoT data Directly read from HDFS Persistent storage … Storage pool SQL Server Spark HDFS Data Node SQL Server Spark HDFS Data Node SQL Server Spark HDFS Data Node Kubernetes pod Analytics Custom apps BI SQL Server master instance Node Node Node Node Node Node Node SQL Data mart SQL Data Node SQL Data Node Compute pool SQL Compute Node Storage Storage Big Data Clusters
  • 16. #damag | damagcommunity@outlook.com • SQL Server Management Studio V18 • Azure Data Studio (was Operations Studio) • Windows, MacOS, Linux • Azure SQL Database, Azure SQL Data Warehouse, PostgreSQL • SQL Server 2019 extensions including Big Data Cluster (Hadoop etc.) • Notebooks Tools
  • 17. #damag | damagcommunity@outlook.com • Resume after failure (e.g. out of disk space) • Pause and resume later (e.g. free temporarily resources) • Manage large indexes using less log an shorter transactions • Fit rebuild operations into limited maintenance windows • REBUILD WITH (ONLINE = ON, RESUMABLE = ON, MAX_DURATION = 30 MINUTES); • SQL Server 2017+ Resumable Index Rebuild • SQL Server 2019+ Resumable Index Create Resumable online index operations
  • 18. #damag | damagcommunity@outlook.com Transparent Data Encryption • ALTER DATABASE … SET ENCRYPTION SUSPEND • ALTER DATABASE … SET ENCRYPTION RESUME
  • 19. #damag | damagcommunity@outlook.com Columnstore Indexes • Online build/rebuild Clustered Columnstore • E.g. conversion from row-store to Columnstore
  • 20. #damag | damagcommunity@outlook.com DBCC CLONEDATABASE • Instantaneous schema-only copy of a database for troubleshooting • No data, full-schema, statistics and Query Store • Non-blocking • Read-only by default (can be changed) • Optionally NO_STATISTICS, NO_QUERYSTORE • SQL Server 2012 SP4, 2014 SP2 CU3, 2016 SP1, 2017 • New in SQL Server 2019 • Columnstore Statistics
  • 21. #damag | damagcommunity@outlook.com Accelerated Database Recovery • Benefits • Fast and consistent database recovery • Number/size of active transactions don’t impact recovery time • Instantaneous transaction rollback • Active time and number of updates don’t impact rollback time • Aggressive Log Truncation • Even with long running transactions, prevents growing out of control • High level • Versioning all physical database modifications • Only logical operations undone (are limited and can be undone instantly) • Active transactions at crash time are marked as aborted • Versions generated by aborted transactions can be ignored by user queries • Currently available in Preview in Azure SQL Database and CTP2.3+!
  • 22. #damag | damagcommunity@outlook.com • Query Waiting for synchronous update operations • Now sys.dm_exec_requests shows SELECT (STATMAN) • New WAIT_ON_SYNC_STATISTICS_REFRESH wait stat Improved diagnostic data for stats blocking
  • 23. #damag | damagcommunity@outlook.com Availability Groups Enhancements • More synchronous replicas • SQL Server 2012 4 replicas, 2 synchronous • SQL Server 2014 8 replicas, 2 synchronous • SQL Server 2017 8 replicas, 3 synchronous • SQL Server 2019 8 replicas, 5 synchronous • Secondary-to-primary read/write redirection • READ_WRITE_ROUTING_URL and ApplicationIntent=ReadWrite (default) • Killer feature to replace Listener • Cluster technology not offering listener-like features • Multi-subnet scenarios too complex to setup/maintain (e.g. Pacemaker) • Read scale-out or DR with cluster type NONE
  • 24. #damag | damagcommunity@outlook.com Storage Class Memory / PMEM • Allows low latency I/O • memory-mapped memcpy-like operations in user mode • SQL Server 2016 SP1 • NVDIMM-N for tail of the log caching • SQL Server 2019 • PMEM devices Linux • support for data, log In-Memory OLTP checkpoint files placement • Hybrid Buffer Pool • Clean pages direct referenced on PMEM devices without copy • Dirty pages still kept in DRAM
  • 25. #damag | damagcommunity@outlook.com • sp_estimate_data_compression_savings • Returns specified object’s current size and estimates • SQL Server < 2019 • ROW and PAGE compression • SQL Server 2019+ • Adds COLUMNSTORE and COLUMNSTORE_ARCHIVE compression • Object type determines Columnstore type • E.g. Heap -> Clustered, Clustered index -> Clustered Estimating Data Compression savings
  • 26. #damag | damagcommunity@outlook.com Query Profiling Infrastructure • Run-time information on query execution plans • E.g. live query statistics • Lightweight profiling • introduced in SQL Server 2014 SP2, 2016 SP1+ • 2% expected CPU overhead vs. 75% • SQL Server 2019+ • Enabled by default • XEvents query_post_execution_plan_profile (vs query_post_execution_showplan) • DMF sys.dm_exec_query_plan_stats() last known *actual* execution plan
  • 27. #damag | damagcommunity@outlook.com • Undocumented DBCC PAGE • New in SQL Server 2019 • sys.dm_db_page_info(DatabaseId, FileId, PageId, Mode) • page_resource column in sys.dm_exec_requests and sys.sysprocesses • sys.fn_PageResCracker(page_resource) to get db_id, file_id, page_id Internal database pages information
  • 28. #damag | damagcommunity@outlook.com • Capture mode AUTO is now the default • Support for custom capture mode e.g. • QUERY_CAPTURE_MODE = CUSTOM, QUERY_CAPTURE_POLICY = ( STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS, EXECUTION_COUNT = 30, TOTAL_COMPILE_CPU_TIME_MS = 1000, TOTAL_EXECUTION_CPU_TIME_MS = 100 ) Query Store Enhancements
  • 30. #damag | damagcommunity@outlook.com • Error message 8152 too generic • String or binary data would be truncated • SQL Server 2019 introduces message 2628 • String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls’ • Enabled with Trace Flag 460 • Opt-in required to avoid breaking parsing applications Truncation error messages
  • 31. #damag | damagcommunity@outlook.com Extensibility Framework • Secure external script execution • Scale/optimization opportunities • SQL Server integration (e.g. store procedures, PREDICT) • Language Support • SQL Server 2016+ Support for R • SQL Server 2017+ Support for Python • SQL Server 2019+ Support for Java
  • 32. #damag | damagcommunity@outlook.com UTF-8 Support • Full support for import/export, collations, replication, … • Still not for Linked Servers, In-Memory OLTP, External Table (Polybase) • CHAR and VARCHAR support (Windows collations only) • UTF8 in collation names • E.g. LATIN1_GENERAL_100_CI_AS_SC_UTF8 • Can provide storage savings • E.g. up to 50% from NCHAR(10) to CHAR(10) with UTF8 vs UTF16
  • 33. #damag | damagcommunity@outlook.com SQL Graph enhancements • Derived tables and view support in MATCH queries • Set of nodes/edges using UNION ALL • Useful for heterogeneous entities or connections between them • MATCH support in MERGE • Edge Constraints • CONNECTION constraint • SHORTEST_PATH function in MATCH • Shortest path between two nodes/entities • Single source shortest path • Shortest path from multiple source to multiple destinations
  • 35. #damag | damagcommunity@outlook.com Certificate Management • Extended in SQL Server Configuration manager • View and validate certificates installed • View certificates close to expiration • Deploy Certificates across machine in Availability Groups • Deploy Certificates across machine in Failover Cluster Instances
  • 36. #damag | damagcommunity@outlook.com SQL Server Sensitivity Classification • SQL Server 2019+ • (already available in Azure SQL Database) • T-SQL command ADD|DROP SENSITIVITY CLASSIFICATION • applies to tables, columns • LABEL, LAtBEL_ID, INFORMATION_TYPE, INFORMATION_TYPE_ID • Metadata stored in sys.sensitivity_classifications • SQL Server Audit add column data_sensitivity_information
  • 37. #damag | damagcommunity@outlook.com SQL Data Discovery and Classification • Discovery & Recommendations, Labeling, Reporting • SQL Server management Studio Tool (V17.5+) • Support for SQL Server 2008+ and Azure SQL Database • Metadata con be persisted and queried • Based on Extended Properties in older versions • sys_information_type_name, sys_sensitivity_label_name • Based on SQL Server Sensitivity Classification in newer versions
  • 38. #damag | damagcommunity@outlook.com Data Discovery and Classification Demo
  • 39. #damag | damagcommunity@outlook.com • Basic architecture as SQL Server 2016+ implementation • Now allows server-side computation on encrypted columns • In-Place Encryption (ALTER TABLE for initial encryption) • Rich computations (e.g. range comparisons, LIKE predicates, indexing, …) • Inside secure enclaves • Virtualization-based Security (VBS) secure memory enclaves • also known as Virtual Secure Mode(VSM) enclaves • Operation on plaintexts cannot be disclosed outside enclave • Column Master Keys sent over secure channel by client driver • Still some limitations • Performance optimizations pending… Always Encrypted with Secure Enclaves
  • 41. #damag | damagcommunity@outlook.com • Common problem inserting • PAGELATCH_EX waits on last page in the b+-tree • https://support.microsoft.com/en-us/help/4460004 • New index option • OPTIMIZE_FOR_SEQUENTIAL_KEY • Addresses “convoy” specifically problems • Latency may be higher but stable throughput • New wait type BTREE_INSERT_FLOW_CONTROL Sequential Keys Optimization
  • 42. #damag | damagcommunity@outlook.com • ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED TEMPDB_METADATA = ON • Limitations • Instance restart needed • Tempdb system tables not accessible by transactions using other memory- optimized tables in user databases • Locking hints on tempdb system tables not honored • Issues with Columnstore indexes on temporary tables (fixed by RTM?) Memory-Optimized Tempdb Metadata
  • 43. #damag | damagcommunity@outlook.com Intelligent QP Adaptive QP Adaptive Joins Batch Mode Interleaved Execution Memory Grant Feedback Row Mode Batch Mode Approximate QP Approximate Count Distinct Table Variable Deferred Compilation Batch Mode on Row Store Scalar UDF Inlining Intelligent Query Processing
  • 44. #damag | damagcommunity@outlook.com Execution Modes • Row Mode • Execution tree iterators consume 1 row at a time • Traditional execution mode for Rowstore • Batch Mode • Execution tree iterators consume a batch of rows at a time • Optimal with large scan operations (e.g. large table aggregates or joins) • SQL Server 2012 introduced to leverage Columnstore Indexes • SQL Server 2016/2017 extended usage scenarios for CI • SQL Server 2019 extended usage scenarios to Rowstore
  • 45. #damag | damagcommunity@outlook.com Memory Grant Feedback • Post-execution evaluation • Updates grant value for cached plan • E.g. more memory if spilled, less if excessive grant • Version support • SQL Server 2017+ Batch Mode • SQL Server 2019+ Row Mode • Plan caching • Not persistent (i.e. not saved in Query Store) • OPTION(RECOMPILE) prevents caching and memory grant feedback
  • 46. #damag | damagcommunity@outlook.com Table Variable Deferred Compilation • Before SQL Server 2019 • Statement referencing TV compiled before population • Number of row estimate fixed at 1 • Starting with SQL Server 2019 • Behaves like Temporary Tables • Statement referencing non existing TV is deferred until first execution • Number of row estimate much better • Control • On by default with database compatibility level 150+ • ALTER DATABASE SCOPED CONFIGURATION SET DEFERRED_COMPILATION_TV = ON|OFF • OPTION (USE HINT ('DISABLE_DEFERRED_COMPILATION_TV'));
  • 47. #damag | damagcommunity@outlook.com Scalar UDF inlining • T-SQL user defined functions that returns a single data value • Performance problems • Iterative invocation • once per row, context switching especially with query execution • Lack of costing • before, only relational operators were costed, assumption to be cheap… • Interpreted execution • each statement executes in isolation, no cross-statement optimizations • Serial execution • Intra-query parallelism not allowed
  • 48. #damag | damagcommunity@outlook.com Scalar UDF Automatic inlining • In SQL Server 2019 Scalar UDF automatically transformed into • Scalar Expressions • Scalar Subqueries • Optimize the whole plan (UDFs no longer visible) • Control • On by default with database compatibility level 150+ • ALTER DATABASE SCOPED CONFIGURATION SET TSQL_SCALAR_UDF_INLINING = ON|OFF • OPTION (USE HINT ('DISABLE_TSQL_SCALAR_UDF_INLINING')); • CREATE FUNCTION … WITH INLINE = ON | OFF
  • 49. #damag | damagcommunity@outlook.com Scalar UDF inlining example Query without UDF Query with UDF (no inlining) Query with UDF (inlining) Execution time 1.6 seconds 29 minutes 11 seconds 1.6 seconds CREATE FUNCTION dbo.discount_price(@price DECIMAL(12,2), @discount DECIMAL(12,2)) RETURNS DECIMAL (12,2) AS BEGIN RETURN @price * (1 - @discount); END SELECT L_SHIPDATE, O_SHIPPRIORITY , SUM(dbo.discount_price(L_EXTENDEDPRICE, L_DISCOUNT)) FROM LINEITEM, ORDERS WHERE O_ORDERKEY = L_ORDERKEY GROUP BY L_SHIPDATE, O_SHIPPRIORITY ORDER BY L_SHIPDATE 10GB CCI compressed TPC-H Schema, 2 x CPUs (12 cores), 96GB RAM, SSD storage
  • 50. #damag | damagcommunity@outlook.com • Returns approximate number of unique non-null values in groups • HyperLogLog algorithm guarantees up to 2% error rate within 97% probability • Fast data exploration with low memory footprint • E.g. dashboards, trend analysis, feature selection, etc. • Think 10 billion rows, 1 user using 1,5GB memory vs 100 users using 12MBs • Tradeoff: precision, only scenarios where exact values are not necessary! APPROX_COUNT_DISTINCT
  • 51. #damag | damagcommunity@outlook.com - - - - T h a n k y o u - - - Subscribe to our meetups http://tiny.cc/damag

Hinweis der Redaktion

  1. https://www.sqlshack.com/enhanced-polybase-sql-2019-installation-and-basic-overview https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-guide?view=sql-server-ver15
  2. https://www.sqlshack.com/enhanced-polybase-sql-2019-installation-and-basic-overview https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-guide?view=sql-server-ver15
  3. https://cloudblogs.microsoft.com/sqlserver/2019/07/24/free-supported-java-in-sql-server-2019-is-now-available
  4. https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-configure-odbc-generic
  5. https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-faq
  6. https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-scale-out-groups
  7. https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-ver15?view=sqlallproducts-allversions#sql-server-on-linux
  8. https://cloudblogs.microsoft.com/sqlserver/2018/12/10/availability-groups-on-kubernetes-in-sql-server-2019-preview
  9. 14
  10. https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms https://docs.microsoft.com/en-us/sql/azure-data-studio/download
  11. https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-ver15?view=sqlallproducts-allversions#ctp-22 https://azure.microsoft.com/en-us/blog/modernize-index-maintenance-with-resumable-online-index-rebuild
  12. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-accelerated-database-recovery
  13. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-accelerated-database-recovery
  14. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-accelerated-database-recovery
  15. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-accelerated-database-recovery
  16. https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/11/13/diagnostic-data-for-synchronous-statistics-update-blocking
  17. https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/secondary-replica-connection-redirection-always-on-availability-groups?view=sqlallproducts-allversions
  18. https://blogs.msdn.microsoft.com/sqlserverstorageengine/2016/12/02/transaction-commit-latency-acceleration-using-storage-class-memory-in-windows-server-2016sql-server-2016-sp1 https://blogs.msdn.microsoft.com/bobsql/2016/11/08/how-it-works-it-just-runs-faster-non-volatile-memory-sql-server-tail-of-log-caching-on-nvdimm https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/hybrid-buffer-pool
  19. https://docs.microsoft.com/en-us/sql/relational-databases/performance/query-profiling-infrastructure?view=sqlallproducts-allversions#lwp
  20. https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-page-info-transact-sq https://docs.microsoft.com/en-us/sql/relational-databases/system-functions/sys-fn-pagerescracker-transact-sql
  21. https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-set-options?view=sqlallproducts-allversions
  22. https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-ver15?view=sqlallproducts-allversions#databaseengine https://support.microsoft.com/en-us/help/4468101
  23. https://docs.microsoft.com/en-us/sql/advanced-analytics/concepts/extensibility-framework
  24. https://docs.microsoft.com/en-us/sql/advanced-analytics/concepts/extensibility-framework
  25. https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-shortest-path https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/09/28/public-preview-of-graph-edge-constraints-on-sql-server-2019 https://techcommunity.microsoft.com/t5/SQL-Server/Public-Preview-of-Shortest-Path-on-SQL-Server-2019/ba-p/721240 https://www.red-gate.com/simple-talk/sql/sql-development/sql-server-2019-graph-database-and-shortest_path
  26. https://www.mssqltips.com/sqlservertip/5715/new-command-in-sql-server-2019-add-sensitivity-classification https://docs.microsoft.com/en-us/sql/t-sql/statements/add-sensitivity-classification-transact-sql
  27. https://docs.microsoft.com/en-us/sql/relational-databases/security/sql-data-discovery-and-classification
  28. https://docs.microsoft.com/en-us/sql/relational-databases/security/sql-data-discovery-and-classification
  29. https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves https://github.com/Microsoft/sql-server-samples/tree/master/samples/features/security/always-encrypted-with-secure-enclaves https://cloudblogs.microsoft.com/microsoftsecure/2018/06/05/virtualization-based-security-vbs-memory-enclaves-data-protection-through-isolation
  30. https://docs.microsoft.com/en-us/sql/relational-databases/security/static-data-masking
  31. https://docs.microsoft.com/en-us/sql/relational-databases/security/static-data-masking
  32. https://docs.microsoft.com/en-us/sql/t-sql/statements/create-index-transact-sql?view=sqlallproducts-allversions#sequential-keys https://techcommunity.microsoft.com/t5/SQL-Server/Behind-the-Scenes-on-OPTIMIZE-FOR-SEQUENTIAL-KEY/ba-p/806888 https://www.red-gate.com/simple-talk/blogs/new-feature-optimizer_for_sequential_key
  33. https://docs.microsoft.com/en-us/sql/relational-databases/databases/tempdb-database?view=sqlallproducts-allversions#memory-optimized-tempdb-metadata
  34. https://docs.microsoft.com/en-us/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15
  35. https://docs.microsoft.com/en-us/sql/relational-databases/query-processing-architecture-guide?view=sql-server-ver15#execution-modes https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/09/24/introducing-batch-mode-on-rowstore http://www.queryprocessor.com/batch-mode-on-row-store
  36. https://docs.microsoft.com/en-us/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15#batch-mode-on-rowstore
  37. https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing
  38. https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing?view=sql-server-2017#batch-mode-memory-grant-feedback https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/07/16/public-preview-of-row-mode-memory-grant-feedback-in-azure-sql-database https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing?view=sql-server-ver15#row-mode-memory-grant-feedback https://www.sqlshack.com/row-mode-memory-grant-feedback-sql-server-2019
  39. https://www.brentozar.com/archive/2018/09/whats-new-in-sql-server-2019-adaptive-memory-grants
  40. https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing?view=sql-server-2017#batch-mode-adaptive-joins
  41. https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing?view=sql-server-2017#interleaved-execution-for-multi-statement-table-valued-functions
  42. https://docs.microsoft.com/en-us/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15#table-variable-deferred-compilation https://docs.microsoft.com/en-us/sql/t-sql/data-types/table-transact-sql?view=sql-server-2017#table-variable-deferred-compilation
  43. https://docs.microsoft.com/en-us/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15#scalar-udf-inlining https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/scalar-udf-inlining
  44. https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/scalar-udf-inlining
  45. https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/scalar-udf-inlining
  46. https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/scalar-udf-inlining?view=azuresqldb-current#inlineable-scalar-udfs-requirements
  47. https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/scalar-udf-inlining
  48. https://docs.microsoft.com/en-us/sql/t-sql/functions/approx-count-distinct-transact-sql?view=sql-server-ver15 https://en.wikipedia.org/wiki/HyperLogLog