Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

What's New in DBArtisan and Rapid SQL 2016

630 views

Published on

This is a presentation from the DBArtisan and Rapid SQL 2016 product launch. See what's new in these tools for database administrators (DBAs) and database developers. And learn about the revolutionary new Performance IQ tool. See the companion webinar at: http://forms.embarcadero.com/DBArtisan-RapidSQL-2016-Release

Published in: Software
  • Be the first to comment

What's New in DBArtisan and Rapid SQL 2016

  1. 1. EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES What's New in DBArtisan and Rapid SQL 2016 Brett Hawton Director of Product Management Embarcadero Technologies
  2. 2. EMBARCADERO TECHNOLOGIES DBA’s have problems with: • Understanding what SQL is running poorly & why • Correcting poorly performing SQL, before it goes live if possible • Suspicious/worried about SAN performance • Concerned about how virtualization hurts/helps • Uncertain about how to apply new DBMS platform features to help their situation • Need great monitoring and alerting • Are concerned about expanding storage footprint We want to solve DBA’s and SQL developers major pains
  3. 3. EMBARCADERO TECHNOLOGIES 2016 release (September 2015)  Deep performance integrations into DBArtisan & Rapid SQL  Significant SQL IDE enhancements to detect poor SQL performance  Cardinality problems  Data skew issues  Substandard SQL syntax  Inefficient index usage & index suggestions  Full alerting package (+blackouts & non monitoring)  SQL Server monitoring support  Oracle monitoring support  SQL Server repository support  Oracle repository support
  4. 4. EMBARCADERO TECHNOLOGIES EMBARCADERO CONFIDENTIAL Showing SQL performance history / waits
  5. 5. EMBARCADERO TECHNOLOGIES EMBARCADERO CONFIDENTIAL Showing cross-instance performance
  6. 6. EMBARCADERO TECHNOLOGIES Help software engineers and DBA’s write more performant SQL which will work perfectly in production by showing data cardinality, data skew, table statistics, index statistics, data churn etc. all from their ACTUAL LIVE DATA. SQL IDE tips for DBArtisan & Rapid SQL SELECT EmployeeID, LastName FROM EmployeeMaster WHERE Table Statistics No of Rows: 356,007 Data Size: 462MB Index Size: 48MB Row size: 422 bytes Rows / page: 19 Fragmentation: 14% Table scan time: 114 seconds Table Churn: 1,588 changes/min Alter statistics / use statistics from another DB SELECT EmployeeID, LastName FROM EmployeeMaster WHERE Zip = 94001 Column Statistics No of table rows: 356,007 Column: Zip Column Type: int (nullable) Ave. column data length: 4 bytes No of distinct values: 298 (not very good) Average cardinality: 1,194 rows Best cardinality: “98001”- 4 rows Worst cardinality: “91301” – 146,092 rows Test performance using worst cardinality
  7. 7. 7 SQL Editor screens on Rap/Art to show existing index makeup Where there are existing indexes on columns then allow the user to view the index(s) in order to understand their suitability to the query (which may prompt a query adjustment)
  8. 8. 8 SQL Editor screens on Rap/Art to show Index Suggestions By showing software engineers & DBA’s what indexes they should be adding to make queries run efficiently. It also shows the possible downside of adding an index such as index size and the volatility of the underlying table as well as per column cardinality and data skew.
  9. 9. 9 SQL Editor screens on Rap/Art to suggest syntactical SQL adjustments to improve performance By showing software engineers & DBA’s one or more of over 200 performance adjustments which could be made in the SQL syntax to make queries run efficiently.
  10. 10. 10 An Actual Syntax Performance Adjustment Suggestion
  11. 11. 11 Another Actual Syntax Performance Adjustment Suggestion
  12. 12. 12 Sample of performance enhancements - 1 • Quirky Update method (link) • Alter SUBSTRING (column, 1, nnn) TO column LIKE ‘XXX%‘ to boost performance up to 3X faster (link) • Alter YEAR(column) = YYYY TO column BETWEEN ‘1 Jan YYYY’ AND ’31 Dec YYYY’ to boost performance up to 300X (link) • Alter order of nested MIN/MAX functions • Alter column IN (XXX, YYY, ZZZ) TO column BETWEEN XXX AND ZZZ to boost performance up to 75% when AAA is an integer type column and the IN list has all consecutive elements (link) • Alter LEFT JOIN TO NOT IN to boost performance up to 12X faster (link) • Alter DELETE with no WHERE clause to a TRUNCATE • Alter COALESCE(XXX, N’YYY’) = N’YYY’ TO XXX = N’YYY’ OR XXX IS NULL to boost performance ~20% (link) • Alter LIKE with no % or _ wildcards to = • Alter LEFT (XXX, YYY) = ‘ZZZ’ TO XXX LIKE ‘ZZZ%’ to boost performance up to 300X (link) • Read forward cursor is not using the “Fast Forward” option, can boost performance well over 100% (link) • Alter CHARINDEX (‘YYY’, XXX) = 0 TO XXX LIKE ‘YYY%’ to boost performance up to 300X (link)
  13. 13. 13 Sample of performance enhancements - 2 • Replace temp table creation & usage with table variables to boost performance up to 3X (link) E.G. Alter CREATE TABLE #tablename(Col1…) TO DECLARE @tablename TABLE (Col1…) • Cursor has not been correctly closed & de-allocated using DEALLOCATE (cursor name} • Remove UPPER & LOWER functions if the instance collation isn’t case sensitive. • If the query has large index or table scans & > 4 cores & MAXDOP < (cores / 3) then suggest raising MAXDOP Changing MAXDOP setting from 1 to xx will improve query performance dramatically whilst ensuring the query cant monopolize resources. • Suggest using columnstore indexes where appropriate. Appropriate places would be on tables with zero updates/deletes/updates where the query performs large scale index scans where the cardinality of the columns in the index is somewhat low. (link) • Alter queries which scan >100 page “fact” tables and join to dimension tables to optimize for using bitmap filtering by using single column inner joins (link) • Make use of Star join techniques as well as few-outer-row optimizations to improve query performance by over 100% (link) • Make use of Windowing functions to dramatically speed up percentile groups, moving averages, largest, smallest, offsetting, lagging, leading, ranking etc. (link) • AVG, CHECKSUM_AGG, COUNT, COUNT_BIG, MIN, MAX, SUM, STDEV, STDEVP, VAR, VARP • User-defined CLR Aggregates (excl. windowing) • Analytical • ROW_NUMBER, NTILE, RANK, DENSE_RANK, CUME_DIST, PERCENT_RANK • Distribution • PERCENTILE_CONT, PERCENTILE_DISC • Offset • LAG, LEAD, FIRST_VALUE, LAST_VALUE
  14. 14. EMBARCADERO TECHNOLOGIES Showing Global Performance and Alert Overview view in DBArtisan/Rapid
  15. 15. EMBARCADERO TECHNOLOGIES We don’t want to create a 1960’s 707 cockpit with hundreds of metrics to look at… 15
  16. 16. EMBARCADERO TECHNOLOGIES We don’t show hundreds of metrics…we show outcomes… like this modern 787 cockpit 16
  17. 17. EMBARCADERO TECHNOLOGIES Adding performance data to the server node EMBARCADERO CONFIDENTIAL
  18. 18. EMBARCADERO TECHNOLOGIES Wait based analysis – a closer look
  19. 19. EMBARCADERO TECHNOLOGIES Time travel controls (to view performance history at any point) Data & time selector Cog wheel opens up a dialog allowing the user to select baseline as well as filters/exclusions specific to the current data source.
  20. 20. EMBARCADERO TECHNOLOGIES Show the IO that the TOP SQL is generating EMBARCADERO CONFIDENTIAL SQL IO Flow
  21. 21. EMBARCADERO TECHNOLOGIES SQL IO - A closer look 21
  22. 22. EMBARCADERO TECHNOLOGIES Throughput vs Response time
  23. 23. EMBARCADERO TECHNOLOGIES Top Applications
  24. 24. EMBARCADERO TECHNOLOGIES Top Procedures
  25. 25. EMBARCADERO TECHNOLOGIES Top SQL with wait based analysis and baselines EMBARCADERO CONFIDENTIAL
  26. 26. EMBARCADERO TECHNOLOGIES Indicating Alerts both globally and per DBMS Instance EMBARCADERO CONFIDENTIAL Alerts Global alert status Alert status per group Alerts per instance Alert status per instance Global alert status
  27. 27. EMBARCADERO TECHNOLOGIES Alerts have duration EMBARCADERO CONFIDENTIAL Duration of alert
  28. 28. EMBARCADERO TECHNOLOGIES Alert criticality EMBARCADERO CONFIDENTIAL
  29. 29. EMBARCADERO TECHNOLOGIES Embarcadero Platform ER/Studio Team Edition DBArtisan & Rapid SQL ER/Studio Team Server Performance IQ Team Server Glossary Model Repo DS Repo DB Auth Collaboration 24/7 Workstation Tools Automation Business Stakeholders SQL Developers DBA’s EMBARCADERO CONFIDENTIAL
  30. 30. EMBARCADERO TECHNOLOGIES Next Steps 30
  31. 31. EMBARCADERO TECHNOLOGIES 31 Join the Revolution…Get Involved • Learn more about Performance IQ – http://www.embarcadero.com/products/dbartisan/performanceiq • Register to attend webinars – http://www.embarcadero.com/resources/webinars • Download white papers with content related to Performance IQ capabilities. – http://www.embarcadero.com/resources/white-papers/database- management • See DBArtisan and Rapid SQL tutorial videos – http://www.embarcadero.com/products/dbartisan/product-demos
  32. 32. EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES Questions?

×