SlideShare una empresa de Scribd logo
1 de 46
אין משתמשים – אין בעיות Meir Dudai SQL Server MVP Valinor
Content slide
When do I need to start worrying? 100’s of queries/second 1000’s of DMLs/second VLDB’s
When do I need to start worrying? Application was designed and developed poorly…
When do I need to start worrying? You have just migrated from other platform
What can I do? Throw in more hardware – not very useful
What can I really do? Improve application design Use database enhancements and features Change system architecture
Who Am I? Meir Dudai ,[object Object]
SQL Server consultant
Editor of SQLServer.co.il,[object Object]
Some basics Magic settings RCSI  Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
Common Concurrency Issues with Applications Wrong transaction isolation level Incorrect locking granularity Missing Indexes Accessing large dataset leading to lock escalation Long running transactions User interactions in active transaction Accessing objects  in reverse order across transactions
Some basics Magic settings RCSI  Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
GreenRoad Case Study:RCSI GreenRoad is an Israeli startup improving driving behavior for fleets and consumers Works as SAAS More than 400 inserts/sec Users running queries and reports frequently Method used to increase concurrency: RCSI: Read Committed Snapshot Isolation
Tran2 (Select) Tran1 (Update) Reader Writer Blocking Data Page S-Lock Blocked Row-1 Row-1 X-Lock
Read Committed SnapshotStatement-Level ‘Snapshot Isolation’ New “flavor” of read committed Turn ON/OFF on a database Readers see committed values as of beginning of statement Writers do not block Readers Readers do not block Writers Writers do block writers Can greatly reduce locking / deadlocking without changing applications
Demo
Lock Escalation HOBT T1: IX T1: X Page Page Page T1: X T1: X T1: X T1: X T1: X Row Row Row T1: X T1: X T1: X Lock Escalation T1: IX
Lock Escalation Converting finer-grain locks to coarse grain locks. Row to Table Page to Table. Benefits Reduced locking overhead Reduces Memory requirement Triggered when Number of locks acquired on a rowset > 5000 Memory pressure
Partitioned Tables and Indexes SQL Server 2005 introduced partitioning, which some customers use to scale a query workload Another common use is to streamline maintenance and enable fast range inserts and removals from tables Partitioned Table FG1 FG2 FG3 Partition 2 Partition 3 Partition 1
Lock escalation on partitioned tables reduces concurrency as the table lock locks ALL partitions Only way to solve this in SQL Server 2005 is to disable lock escalation Lock Escalation: The Problem Query 1 Query 2 Partitioned Table IX X ESCALATE update update Partition 2 Partition 1 Partition 3 FG1 FG2 FG3
Lock Escalation: The Solution SQL Server 2008 allows lock escalation to the partition level, allowing concurrent access to other partitions Escalation to partition level does not block queries on other partitions Query 1 Query 2 Partitioned Table IX ESCALATE update update X Partition 2 Partition 1 Partition 3 FG1 FG2 FG3
Demo
Some basics Magic settings RCSI  Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
Silent Blocker: Page Latches What is a Pagelatch? Access patterns leading to latch contention Clustering index has a increasing primary key with high rate of inserts  Relatively small tables with a lot of read/write/delete Indexes with low cardinality in the key with high rate of inserts Allocation Structures (e.g. SGAM) Observed with 16+ concurrent threads Page Header R1 Free Offset R2 R3
Silent Blocker: Page Latches What can you do? Cluster on some other column Partition the table on some other attribute (computed column (hash)) Add another major key column Change the application
Demo
Some basics Magic settings RCSI  Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
Codename Lyngby Case Study: Power of bulk inserts Security/audit system 50GB of data inserted daily Data is kept for one year and should be available for queries and reports at any time Method used to increase concurrency: Bulk inserts
Benefits of Bulk Inserts Improved concurrency Allow application-database decoupling In Lyngby case – 50GB a day! http://www.tapuz.co.il/blog/userBlog.asp?FolderName=Hygge
Bulk Inserts & RCSI: SQLCAT Benchmark What happens when you query a table while bulk inserts are running?
Bulk Inserts & RCSI: SQLCAT Benchmark And with RCSI? Bulk loading does not affect the size of the version store in tempdb under RCSI Keep in mind: RCSI adds 14 noncompressible bytes into every row in every table Bottom line: RCSI works extremely well with bulk inserts and achieves improved concurrency More details about this benchmark: http://sqlcat.com/technicalnotes/archive/2009/04/06/bulk-loading-data-into-a-table-with-concurrent-queries.aspx
StreamInsight:Complex Event Processing SQL Server 2008 R2 feature Processing and querying of event data streams Data queried while “in flight” May involve multiple concurrent event sources Works with high data rates Aims for near-zero latency
Isn’t This Just a Database Application? Event request output stream input stream response
Caching Your database can get some rest...
Microsoft AppFabric
Other solutions Memcache Requires application change 3rd party Usually transparent
Tapuz Case Study: Offloading Traffic Tapuz is the leading user content based website in Israel 1,200 forums 74,000 blogs 500,000 visitors each month More than 4000 queries/sec Method used to increase concurrency: Offloading using Transactional Replication
Database Scale Out Queries scaled out (often geographically) similar to reporting cases Databases replicate reciprocally and are writable Redundancy provides fault tolerance and lowers maintenance downtime Online upgrades possible
Demo
Denali HADR V.Next, code named “Denali” offers a brand new HADR feature High-availability and disaster recovery feature, using up to 4 replicas Replicas can be synchronous or asynchronous  CTP supports only single  asynchronous replica
Denali HADR Coming up next!
Q&A
Related sessions Monday 14:00-15:15  New High Availability Solution in SQL Server “Denali” Justin Erickson & Oren Bouni Tuesday 09:30-10:45  Mission Critical: Improving High 	Availability and Reliability Assaf Fraenkel  12:30-13:30  Designing High Performance I/O System with SQL Server Dubi Lebel 11:15-12:15  Troubleshoot Like a Pro with the Microsoft SQL Server 2008 Tools  Guy Glantser
Open your mind to uncommon features and technologies in SQL Server and try them Using these features, amazing concurrency can be achieved by any DBA using SQL Server!
משובים ופייסבוק מירב- השלמה

Más contenido relacionado

La actualidad más candente

The thinking persons guide to data warehouse design
The thinking persons guide to data warehouse designThe thinking persons guide to data warehouse design
The thinking persons guide to data warehouse design
Calpont
 

La actualidad más candente (20)

Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAATemporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
 
SQL in the Hybrid World
SQL in the Hybrid WorldSQL in the Hybrid World
SQL in the Hybrid World
 
Migrating Data and Databases to Azure
Migrating Data and Databases to AzureMigrating Data and Databases to Azure
Migrating Data and Databases to Azure
 
Cassandra Community Webinar: MySQL to Cassandra - What I Wish I'd Known
Cassandra Community Webinar: MySQL to Cassandra - What I Wish I'd KnownCassandra Community Webinar: MySQL to Cassandra - What I Wish I'd Known
Cassandra Community Webinar: MySQL to Cassandra - What I Wish I'd Known
 
SQL Server 2017 Enhancements You Need To Know
SQL Server 2017 Enhancements You Need To KnowSQL Server 2017 Enhancements You Need To Know
SQL Server 2017 Enhancements You Need To Know
 
Building High Performance MySQL Query Systems and Analytic Applications
Building High Performance MySQL Query Systems and Analytic ApplicationsBuilding High Performance MySQL Query Systems and Analytic Applications
Building High Performance MySQL Query Systems and Analytic Applications
 
The thinking persons guide to data warehouse design
The thinking persons guide to data warehouse designThe thinking persons guide to data warehouse design
The thinking persons guide to data warehouse design
 
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
 
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
 
SQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveSQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The Move
 
Transforms Document Management at Scale with Distributed Database Solution wi...
Transforms Document Management at Scale with Distributed Database Solution wi...Transforms Document Management at Scale with Distributed Database Solution wi...
Transforms Document Management at Scale with Distributed Database Solution wi...
 
An Engineering Approach to Database Evaluations
An Engineering Approach to Database EvaluationsAn Engineering Approach to Database Evaluations
An Engineering Approach to Database Evaluations
 
SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017
 
Building Data Warehouse in SQL Server
Building Data Warehouse in SQL ServerBuilding Data Warehouse in SQL Server
Building Data Warehouse in SQL Server
 
Oracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagridOracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagrid
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?
 
Apache Cassandra Certification
Apache Cassandra CertificationApache Cassandra Certification
Apache Cassandra Certification
 
TOUG-APEXposed
TOUG-APEXposedTOUG-APEXposed
TOUG-APEXposed
 
Gluent Extending Enterprise Applications with Hadoop
Gluent Extending Enterprise Applications with HadoopGluent Extending Enterprise Applications with Hadoop
Gluent Extending Enterprise Applications with Hadoop
 
Introduction to Windows Azure Data Services
Introduction to Windows Azure Data ServicesIntroduction to Windows Azure Data Services
Introduction to Windows Azure Data Services
 

Destacado (11)

IO Dubi Lebel
IO Dubi LebelIO Dubi Lebel
IO Dubi Lebel
 
Extreme performance - IDF UG
Extreme performance - IDF UGExtreme performance - IDF UG
Extreme performance - IDF UG
 
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
 
Bi303 data warehousing with fast track and pdw - Assaf Fraenkel
Bi303 data warehousing with fast track and pdw - Assaf FraenkelBi303 data warehousing with fast track and pdw - Assaf Fraenkel
Bi303 data warehousing with fast track and pdw - Assaf Fraenkel
 
SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1
 
Shell Tips & Tricks
Shell Tips & TricksShell Tips & Tricks
Shell Tips & Tricks
 
What Is New In 2008 R2 Public
What Is New In 2008 R2 PublicWhat Is New In 2008 R2 Public
What Is New In 2008 R2 Public
 
Things you can find in the plan cache
Things you can find in the plan cacheThings you can find in the plan cache
Things you can find in the plan cache
 
Sql server user group news january 2013
Sql server user group news   january 2013Sql server user group news   january 2013
Sql server user group news january 2013
 
Windows azure sql_database_security_isug012013
Windows azure sql_database_security_isug012013Windows azure sql_database_security_isug012013
Windows azure sql_database_security_isug012013
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
 

Similar a Dat308

1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
sqlserver.co.il
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentation
webhostingguy
 
Hp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server ConsolidationHp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server Consolidation
CB UTBlog
 

Similar a Dat308 (20)

1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
 
Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data Sharing
 
Five ways database modernization simplifies your data life
Five ways database modernization simplifies your data lifeFive ways database modernization simplifies your data life
Five ways database modernization simplifies your data life
 
Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?
Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?
Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?
 
Building High Performance MySql Query Systems And Analytic Applications
Building High Performance MySql Query Systems And Analytic ApplicationsBuilding High Performance MySql Query Systems And Analytic Applications
Building High Performance MySql Query Systems And Analytic Applications
 
MT42 The impact of high performance Oracle workloads on the evolution of the ...
MT42 The impact of high performance Oracle workloads on the evolution of the ...MT42 The impact of high performance Oracle workloads on the evolution of the ...
MT42 The impact of high performance Oracle workloads on the evolution of the ...
 
Sql pass summit
Sql pass summitSql pass summit
Sql pass summit
 
Migration to Oracle 12c Made Easy Using Replication Technology
Migration to Oracle 12c Made Easy Using Replication TechnologyMigration to Oracle 12c Made Easy Using Replication Technology
Migration to Oracle 12c Made Easy Using Replication Technology
 
Gs08 modernize your data platform with sql technologies wash dc
Gs08 modernize your data platform with sql technologies   wash dcGs08 modernize your data platform with sql technologies   wash dc
Gs08 modernize your data platform with sql technologies wash dc
 
Large Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsLarge Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint Deployments
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentation
 
Alluxio Data Orchestration Platform for the Cloud
Alluxio Data Orchestration Platform for the CloudAlluxio Data Orchestration Platform for the Cloud
Alluxio Data Orchestration Platform for the Cloud
 
Introduction to Couchbase: Onomi
Introduction to Couchbase: OnomiIntroduction to Couchbase: Onomi
Introduction to Couchbase: Onomi
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 edition
 
SQL vs NoSQL: Why you’ll never dump your relations - Dave Shuttleworth, EXASOL
SQL vs NoSQL: Why you’ll never dump your relations - Dave Shuttleworth, EXASOLSQL vs NoSQL: Why you’ll never dump your relations - Dave Shuttleworth, EXASOL
SQL vs NoSQL: Why you’ll never dump your relations - Dave Shuttleworth, EXASOL
 
HPC DAY 2017 | HPE Storage and Data Management for Big Data
HPC DAY 2017 | HPE Storage and Data Management for Big DataHPC DAY 2017 | HPE Storage and Data Management for Big Data
HPC DAY 2017 | HPE Storage and Data Management for Big Data
 
Sql Server tips from the field
Sql Server tips from the fieldSql Server tips from the field
Sql Server tips from the field
 
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The SequelVMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
 
Hp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server ConsolidationHp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server Consolidation
 

Más de sqlserver.co.il

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
sqlserver.co.il
 
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended EventsSQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
sqlserver.co.il
 
SQL Explore 2012 - Michael Zilberstein: ColumnStore
SQL Explore 2012 - Michael Zilberstein: ColumnStoreSQL Explore 2012 - Michael Zilberstein: ColumnStore
SQL Explore 2012 - Michael Zilberstein: ColumnStore
sqlserver.co.il
 
SQL Explore 2012 - Meir Dudai: DAC
SQL Explore 2012 - Meir Dudai: DACSQL Explore 2012 - Meir Dudai: DAC
SQL Explore 2012 - Meir Dudai: DAC
sqlserver.co.il
 
SQL Explore 2012 - Aviad Deri: Spatial
SQL Explore 2012 - Aviad Deri: SpatialSQL Explore 2012 - Aviad Deri: Spatial
SQL Explore 2012 - Aviad Deri: Spatial
sqlserver.co.il
 
Fast transition to sql server 2012 from mssql 2005 2008 for developers - Dav...
Fast transition to sql server 2012 from mssql 2005 2008 for  developers - Dav...Fast transition to sql server 2012 from mssql 2005 2008 for  developers - Dav...
Fast transition to sql server 2012 from mssql 2005 2008 for developers - Dav...
sqlserver.co.il
 
3 extreme performance - databases acceleration using ssd
3   extreme performance - databases acceleration using ssd 3   extreme performance - databases acceleration using ssd
3 extreme performance - databases acceleration using ssd
sqlserver.co.il
 
3 extreme performance - databases acceleration using ssd
3   extreme performance - databases acceleration using ssd 3   extreme performance - databases acceleration using ssd
3 extreme performance - databases acceleration using ssd
sqlserver.co.il
 
4 extreme performance - part ii
4   extreme performance - part ii4   extreme performance - part ii
4 extreme performance - part ii
sqlserver.co.il
 
2 extreme performance - smaller is better
2   extreme performance - smaller is better2   extreme performance - smaller is better
2 extreme performance - smaller is better
sqlserver.co.il
 

Más de sqlserver.co.il (20)

DAC 2012
DAC 2012DAC 2012
DAC 2012
 
Query handlingbytheserver
Query handlingbytheserverQuery handlingbytheserver
Query handlingbytheserver
 
Adi Sapir ISUG 123 11/10/2012
Adi Sapir ISUG 123 11/10/2012Adi Sapir ISUG 123 11/10/2012
Adi Sapir ISUG 123 11/10/2012
 
Products.intro.forum version
Products.intro.forum versionProducts.intro.forum version
Products.intro.forum version
 
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
 
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended EventsSQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
 
SQL Explore 2012 - Michael Zilberstein: ColumnStore
SQL Explore 2012 - Michael Zilberstein: ColumnStoreSQL Explore 2012 - Michael Zilberstein: ColumnStore
SQL Explore 2012 - Michael Zilberstein: ColumnStore
 
SQL Explore 2012 - Meir Dudai: DAC
SQL Explore 2012 - Meir Dudai: DACSQL Explore 2012 - Meir Dudai: DAC
SQL Explore 2012 - Meir Dudai: DAC
 
SQL Explore 2012 - Aviad Deri: Spatial
SQL Explore 2012 - Aviad Deri: SpatialSQL Explore 2012 - Aviad Deri: Spatial
SQL Explore 2012 - Aviad Deri: Spatial
 
מיכאל
מיכאלמיכאל
מיכאל
 
נועם
נועםנועם
נועם
 
עדי
עדיעדי
עדי
 
מיכאל
מיכאלמיכאל
מיכאל
 
DBCC - Dubi Lebel
DBCC - Dubi LebelDBCC - Dubi Lebel
DBCC - Dubi Lebel
 
Fast transition to sql server 2012 from mssql 2005 2008 for developers - Dav...
Fast transition to sql server 2012 from mssql 2005 2008 for  developers - Dav...Fast transition to sql server 2012 from mssql 2005 2008 for  developers - Dav...
Fast transition to sql server 2012 from mssql 2005 2008 for developers - Dav...
 
ISUG 113: File stream
ISUG 113: File streamISUG 113: File stream
ISUG 113: File stream
 
3 extreme performance - databases acceleration using ssd
3   extreme performance - databases acceleration using ssd 3   extreme performance - databases acceleration using ssd
3 extreme performance - databases acceleration using ssd
 
3 extreme performance - databases acceleration using ssd
3   extreme performance - databases acceleration using ssd 3   extreme performance - databases acceleration using ssd
3 extreme performance - databases acceleration using ssd
 
4 extreme performance - part ii
4   extreme performance - part ii4   extreme performance - part ii
4 extreme performance - part ii
 
2 extreme performance - smaller is better
2   extreme performance - smaller is better2   extreme performance - smaller is better
2 extreme performance - smaller is better
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Dat308

  • 1. אין משתמשים – אין בעיות Meir Dudai SQL Server MVP Valinor
  • 3. When do I need to start worrying? 100’s of queries/second 1000’s of DMLs/second VLDB’s
  • 4. When do I need to start worrying? Application was designed and developed poorly…
  • 5. When do I need to start worrying? You have just migrated from other platform
  • 6. What can I do? Throw in more hardware – not very useful
  • 7. What can I really do? Improve application design Use database enhancements and features Change system architecture
  • 8.
  • 10.
  • 11. Some basics Magic settings RCSI Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
  • 12. Common Concurrency Issues with Applications Wrong transaction isolation level Incorrect locking granularity Missing Indexes Accessing large dataset leading to lock escalation Long running transactions User interactions in active transaction Accessing objects in reverse order across transactions
  • 13. Some basics Magic settings RCSI Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
  • 14. GreenRoad Case Study:RCSI GreenRoad is an Israeli startup improving driving behavior for fleets and consumers Works as SAAS More than 400 inserts/sec Users running queries and reports frequently Method used to increase concurrency: RCSI: Read Committed Snapshot Isolation
  • 15. Tran2 (Select) Tran1 (Update) Reader Writer Blocking Data Page S-Lock Blocked Row-1 Row-1 X-Lock
  • 16. Read Committed SnapshotStatement-Level ‘Snapshot Isolation’ New “flavor” of read committed Turn ON/OFF on a database Readers see committed values as of beginning of statement Writers do not block Readers Readers do not block Writers Writers do block writers Can greatly reduce locking / deadlocking without changing applications
  • 17. Demo
  • 18. Lock Escalation HOBT T1: IX T1: X Page Page Page T1: X T1: X T1: X T1: X T1: X Row Row Row T1: X T1: X T1: X Lock Escalation T1: IX
  • 19. Lock Escalation Converting finer-grain locks to coarse grain locks. Row to Table Page to Table. Benefits Reduced locking overhead Reduces Memory requirement Triggered when Number of locks acquired on a rowset > 5000 Memory pressure
  • 20. Partitioned Tables and Indexes SQL Server 2005 introduced partitioning, which some customers use to scale a query workload Another common use is to streamline maintenance and enable fast range inserts and removals from tables Partitioned Table FG1 FG2 FG3 Partition 2 Partition 3 Partition 1
  • 21. Lock escalation on partitioned tables reduces concurrency as the table lock locks ALL partitions Only way to solve this in SQL Server 2005 is to disable lock escalation Lock Escalation: The Problem Query 1 Query 2 Partitioned Table IX X ESCALATE update update Partition 2 Partition 1 Partition 3 FG1 FG2 FG3
  • 22. Lock Escalation: The Solution SQL Server 2008 allows lock escalation to the partition level, allowing concurrent access to other partitions Escalation to partition level does not block queries on other partitions Query 1 Query 2 Partitioned Table IX ESCALATE update update X Partition 2 Partition 1 Partition 3 FG1 FG2 FG3
  • 23. Demo
  • 24. Some basics Magic settings RCSI Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
  • 25. Silent Blocker: Page Latches What is a Pagelatch? Access patterns leading to latch contention Clustering index has a increasing primary key with high rate of inserts Relatively small tables with a lot of read/write/delete Indexes with low cardinality in the key with high rate of inserts Allocation Structures (e.g. SGAM) Observed with 16+ concurrent threads Page Header R1 Free Offset R2 R3
  • 26. Silent Blocker: Page Latches What can you do? Cluster on some other column Partition the table on some other attribute (computed column (hash)) Add another major key column Change the application
  • 27. Demo
  • 28. Some basics Magic settings RCSI Partition-level lock escalation Page Latches Architectural design Bulk Load StreamInsight Caching Offloading Traffic Denali HADR
  • 29. Codename Lyngby Case Study: Power of bulk inserts Security/audit system 50GB of data inserted daily Data is kept for one year and should be available for queries and reports at any time Method used to increase concurrency: Bulk inserts
  • 30. Benefits of Bulk Inserts Improved concurrency Allow application-database decoupling In Lyngby case – 50GB a day! http://www.tapuz.co.il/blog/userBlog.asp?FolderName=Hygge
  • 31. Bulk Inserts & RCSI: SQLCAT Benchmark What happens when you query a table while bulk inserts are running?
  • 32. Bulk Inserts & RCSI: SQLCAT Benchmark And with RCSI? Bulk loading does not affect the size of the version store in tempdb under RCSI Keep in mind: RCSI adds 14 noncompressible bytes into every row in every table Bottom line: RCSI works extremely well with bulk inserts and achieves improved concurrency More details about this benchmark: http://sqlcat.com/technicalnotes/archive/2009/04/06/bulk-loading-data-into-a-table-with-concurrent-queries.aspx
  • 33. StreamInsight:Complex Event Processing SQL Server 2008 R2 feature Processing and querying of event data streams Data queried while “in flight” May involve multiple concurrent event sources Works with high data rates Aims for near-zero latency
  • 34. Isn’t This Just a Database Application? Event request output stream input stream response
  • 35. Caching Your database can get some rest...
  • 37. Other solutions Memcache Requires application change 3rd party Usually transparent
  • 38. Tapuz Case Study: Offloading Traffic Tapuz is the leading user content based website in Israel 1,200 forums 74,000 blogs 500,000 visitors each month More than 4000 queries/sec Method used to increase concurrency: Offloading using Transactional Replication
  • 39. Database Scale Out Queries scaled out (often geographically) similar to reporting cases Databases replicate reciprocally and are writable Redundancy provides fault tolerance and lowers maintenance downtime Online upgrades possible
  • 40. Demo
  • 41. Denali HADR V.Next, code named “Denali” offers a brand new HADR feature High-availability and disaster recovery feature, using up to 4 replicas Replicas can be synchronous or asynchronous CTP supports only single asynchronous replica
  • 42. Denali HADR Coming up next!
  • 43. Q&A
  • 44. Related sessions Monday 14:00-15:15 New High Availability Solution in SQL Server “Denali” Justin Erickson & Oren Bouni Tuesday 09:30-10:45 Mission Critical: Improving High Availability and Reliability Assaf Fraenkel 12:30-13:30 Designing High Performance I/O System with SQL Server Dubi Lebel 11:15-12:15 Troubleshoot Like a Pro with the Microsoft SQL Server 2008 Tools Guy Glantser
  • 45. Open your mind to uncommon features and technologies in SQL Server and try them Using these features, amazing concurrency can be achieved by any DBA using SQL Server!
  • 47. Recommended Courses: SQL 2008 Maintaining a Microsoft SQL Server 2008 Database Implementing a Microsoft SQL Server 2008 Database ועכשיו מבצע מיוחד! הרשם לאחד מקורסי SQL המוצעים כאן קנה בחינת הסמכה משלימה: 70-432 TS: Microsoft SQL Server 2008, Implementation and Maintenance 70-433 TS: Microsoft SQL Server 2008, Database Development וקבל מנוי שנתי ל- TechNet ואפשרות לבחינה חוזרת ללא עלות לפרטים נוספים והרשמה, פנה למכללות המוסמכות

Notas del editor

  1. דמו של פייסבוק
  2. מדריך הטרמפיסט לטקאד
  3. מישהו קיבל Giveaways?
  4. No escalation from Row to PageEach lock structure is 100 bytesNumber of locks acquired on a rowset > 5000 - Periodically after that
  5. Self-explanatory. See Books Online for more details about partitioning. Also see http://msdn2.microsoft.com/en-us/library/ms345146.aspx
  6. Query 1 is updating partition 1. It hits the escalation threshold and escalates to a TABLE X lock. Query 2 tries to update partition 3 and can’t because of the table X lock, even though nothing in partition 3 is being altered by query 1.
  7. Instead of escalating to the table level and blocking all other queries on the table, you can now choose to have escalation to the partition level, which allows concurrent queries on different partitions.
  8. Sunil Agarwal – Principal Program Manager
  9. אחד האהובים עלי
  10. Complex event processing involves the processing and querying of data when the data is in flight. The data needs to be processed before there is time to persist it.Such processing involves very high data rates and often deals with multiple concurrent event sources and multiple output data.The aim is to process with as little latency as possible.
  11. Database applications work in much slower times. For complex event processing applications, the latencies involved are much smaller.
  12. Complex event processing involves the processing and querying of data when the data is in flight. The data needs to be processed before there is time to persist it.Such processing involves very high data rates and often deals with multiple concurrent event sources and multiple output data.The aim is to process with as little latency as possible.
  13. Complex event processing involves the processing and querying of data when the data is in flight. The data needs to be processed before there is time to persist it.Such processing involves very high data rates and often deals with multiple concurrent event sources and multiple output data.The aim is to process with as little latency as possible.
  14. Complex event processing involves the processing and querying of data when the data is in flight. The data needs to be processed before there is time to persist it.Such processing involves very high data rates and often deals with multiple concurrent event sources and multiple output data.The aim is to process with as little latency as possible.
  15. Complex event processing involves the processing and querying of data when the data is in flight. The data needs to be processed before there is time to persist it.Such processing involves very high data rates and often deals with multiple concurrent event sources and multiple output data.The aim is to process with as little latency as possible.
  16. Complex event processing involves the processing and querying of data when the data is in flight. The data needs to be processed before there is time to persist it.Such processing involves very high data rates and often deals with multiple concurrent event sources and multiple output data.The aim is to process with as little latency as possible.
  17. Complex event processing involves the processing and querying of data when the data is in flight. The data needs to be processed before there is time to persist it.Such processing involves very high data rates and often deals with multiple concurrent event sources and multiple output data.The aim is to process with as little latency as possible.